From 57c931793b3474176d159470ee2a02bfea3589eb Mon Sep 17 00:00:00 2001 From: Gavin Brown Date: Wed, 12 Aug 2026 13:45:14 +0100 Subject: [PATCH 1/4] remove step names --- .github/workflows/release.yaml | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index a1043f0..883052e 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -12,22 +12,18 @@ jobs: contents: write steps: - - name: checkout - uses: actions/checkout@v4 + - uses: actions/checkout@v4 with: fetch-depth: 0 - - name: get release - id: get_release + - id: get_release uses: joutvhu/get-release@v1 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - name: build - run: docker compose run --env RELEASE=${{ steps.get_release.outputs.tag_name }} spec + - run: docker compose run --env RELEASE=${{ steps.get_release.outputs.tag_name }} spec - - name: release - uses: softprops/action-gh-release@v2 + - uses: softprops/action-gh-release@v2 if: startsWith(github.ref, 'refs/tags/v') with: files: | From 54880ce7a7be3330ef8dddcf84ef935985965632 Mon Sep 17 00:00:00 2001 From: Gavin Brown Date: Wed, 12 Aug 2026 14:07:53 +0100 Subject: [PATCH 2/4] simple Perl script to remove Spring annotations from a JSON file. --- bin/unannotate.pl | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100755 bin/unannotate.pl diff --git a/bin/unannotate.pl b/bin/unannotate.pl new file mode 100755 index 0000000..a3fa0f3 --- /dev/null +++ b/bin/unannotate.pl @@ -0,0 +1,33 @@ +#!/usr/bin/env perl +use File::Slurp; +use JSON::XS; +use constant ANNOTATION_KEY => q{x-field-extra-annotation}; +use vars qw($JSON $VALUE); +use common::sense; + +$JSON = JSON::XS->new->utf8->canonical->pretty; + +$VALUE = $JSON->decode(join('', read_file($ARGV[0]))); + +unannotate($VALUE); + +print $JSON->encode($VALUE); + +sub unannotate { + my $value = shift; + + if (q{HASH} eq ref($value)) { + foreach my $key (keys(%{$value})) { + if (lc($key) eq ANNOTATION_KEY) { + delete($value->{$key}); + } else { + unannotate($value->{$key}); + } + } + + } elsif (q{ARRAY} eq ref($value)) { + for (my $i = 0 ; $i < scalar(@{$value}) ; $i++) { + unannotate($value->[$i]); + } + } +} From 1bcd1cbe11a21910a71cd609b1a34c2a5d2a61af Mon Sep 17 00:00:00 2001 From: Gavin Brown Date: Wed, 12 Aug 2026 14:08:17 +0100 Subject: [PATCH 3/4] generate unannotated JSON file and include in release closes #78 --- .github/workflows/release.yaml | 1 + Makefile | 3 +++ 2 files changed, 4 insertions(+) diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index 883052e..cdd9b7e 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -29,3 +29,4 @@ jobs: files: | tmp/rst-api-spec.yaml tmp/rst-api-spec.json + tmp/rst-api-spec-unannotated.json diff --git a/Makefile b/Makefile index 614a04a..0eb9dd0 100644 --- a/Makefile +++ b/Makefile @@ -28,6 +28,9 @@ spec: tmpdir includes @echo Generating JSON file... @yq -o=json eval tmp/rst-api-spec.yaml > tmp/rst-api-spec.json + @echo Generating unannotated JSON file... + @bin/unannotate.pl tmp/rst-api-spec.json > tmp/rst-api-spec-unannotated.json + static-html: @echo Generating static HTML file... @openapi-generator generate -g html -i tmp/rst-api-spec.yaml >/dev/null From fe9cf4c0e07c7c5aad3ceb1067762a0e15dcb306 Mon Sep 17 00:00:00 2001 From: Gavin Brown Date: Thu, 3 Sep 2026 13:31:03 +0100 Subject: [PATCH 4/4] remove annotation on `clientIDs` --- inc/test-request-base-properties.yaml | 1 - 1 file changed, 1 deletion(-) diff --git a/inc/test-request-base-properties.yaml b/inc/test-request-base-properties.yaml index b7b239d..efd942d 100644 --- a/inc/test-request-base-properties.yaml +++ b/inc/test-request-base-properties.yaml @@ -113,7 +113,6 @@ clientIDs: record that validates the client certificate is published, and **MAY** contain other IDs. type: array - x-field-extra-annotation: "@org.icann.rst.commons.annotations.ValidHostnameList" minItems: 1 items: type: string