From 713f0c8b8ee8c7184eca527c03ab1b2f8be6e861 Mon Sep 17 00:00:00 2001 From: jonathan343 Date: Mon, 5 Jan 2026 18:30:36 -0600 Subject: [PATCH 1/7] Add workflow to ensure changelog entries are added when manually updating AWS models. --- .github/workflows/api-changelog-check.yml | 67 +++++++++++++++++++++++ 1 file changed, 67 insertions(+) create mode 100644 .github/workflows/api-changelog-check.yml diff --git a/.github/workflows/api-changelog-check.yml b/.github/workflows/api-changelog-check.yml new file mode 100644 index 0000000..0be3d89 --- /dev/null +++ b/.github/workflows/api-changelog-check.yml @@ -0,0 +1,67 @@ +name: API Changelog Check + +on: + pull_request: + types: [opened, synchronize, reopened, labeled, unlabeled] + paths: + - 'codegen/aws-models/**' + +permissions: + contents: read + +jobs: + check-changelog: + runs-on: ubuntu-latest + if: ${{ !contains(github.event.pull_request.labels.*.name, 'skip-changelog') }} + steps: + - name: Checkout repository + uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 + with: + fetch-depth: 0 + + - name: Get changed model files + id: changed-models + run: | + changed_models=$(git diff --name-only origin/${{ github.base_ref }}...HEAD -- 'codegen/aws-models/*.json' | xargs -I {} basename {} .json) + echo "models<> $GITHUB_OUTPUT + echo "$changed_models" >> $GITHUB_OUTPUT + echo "EOF" >> $GITHUB_OUTPUT + + - name: Check for changelog entries + run: | + missing_changelogs="" + + while IFS= read -r service; do + [ -z "$service" ] && continue + + changelog_dir="clients/aws-sdk-${service}/.changes/next-release" + + if [ ! -d "$changelog_dir" ]; then + missing_changelogs="${missing_changelogs}\n - ${service} (directory does not exist: ${changelog_dir})" + continue + fi + + # Check for valid changelog JSON files with required fields + valid_entry_found=false + for file in "$changelog_dir"/*.json; do + [ -e "$file" ] || continue + if jq -e '.type and .description' "$file" > /dev/null 2>&1; then + valid_entry_found=true + break + fi + done + + if [ "$valid_entry_found" = false ]; then + missing_changelogs="${missing_changelogs}\n - ${service} (no valid changelog entry in ${changelog_dir})" + fi + done <<< "${{ steps.changed-models.outputs.models }}" + + if [ -n "$missing_changelogs" ]; then + printf "::error::Missing changelog entries for the following services:%b\n" "$missing_changelogs" + echo "" + echo "Please add a changelog entry in clients/aws-sdk-/.changes/next-release/ for each modified model." + echo "Entry must be a JSON file with 'type' and 'description' fields." + exit 1 + fi + + echo "All modified models have corresponding changelog entries." From cac8d35da060b4f0e15e0523beacd76e96c09e06 Mon Sep 17 00:00:00 2001 From: jonathan343 Date: Mon, 5 Jan 2026 21:12:11 -0600 Subject: [PATCH 2/7] test model update --- codegen/aws-models/bedrock-runtime.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/codegen/aws-models/bedrock-runtime.json b/codegen/aws-models/bedrock-runtime.json index fc1ac68..28cd5fe 100644 --- a/codegen/aws-models/bedrock-runtime.json +++ b/codegen/aws-models/bedrock-runtime.json @@ -77,7 +77,7 @@ "aws.auth#sigv4", "smithy.api#httpBearerAuth" ], - "smithy.api#documentation": "

Describes the API operations for running inference using Amazon Bedrock models.

", + "smithy.api#documentation": "

testing Describes the API operations for running inference using Amazon Bedrock models.

", "smithy.api#httpBearerAuth": {}, "smithy.api#title": "Amazon Bedrock Runtime", "smithy.rules#endpointRuleSet": { @@ -7382,4 +7382,4 @@ } } } -} \ No newline at end of file +} From 4d2f037c645647a1bf26672cdbfe7746de2d2616 Mon Sep 17 00:00:00 2001 From: jonathan343 Date: Mon, 5 Jan 2026 21:13:53 -0600 Subject: [PATCH 3/7] test model update 2 --- codegen/aws-models/transcribe-streaming.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/codegen/aws-models/transcribe-streaming.json b/codegen/aws-models/transcribe-streaming.json index b5e6ff0..ac419ad 100644 --- a/codegen/aws-models/transcribe-streaming.json +++ b/codegen/aws-models/transcribe-streaming.json @@ -52,7 +52,7 @@ } }, "traits": { - "smithy.api#documentation": "

A list of possible alternative transcriptions for the input audio. Each alternative may contain\n one or more of Items, Entities, or Transcript.

" + "smithy.api#documentation": "

testing A list of possible alternative transcriptions for the input audio. Each alternative may contain\n one or more of Items, Entities, or Transcript.

" } }, "com.amazonaws.transcribestreaming#AlternativeList": { From 29019d56b2572668bce0b40558e6edb40b9f47f7 Mon Sep 17 00:00:00 2001 From: jonathan343 Date: Mon, 5 Jan 2026 21:16:17 -0600 Subject: [PATCH 4/7] add changelog entries --- .../.changes/next-release/testing.json | 4 ++++ .../.changes/next-release/testing.json | 4 ++++ 2 files changed, 8 insertions(+) create mode 100644 clients/aws-sdk-bedrock-runtime/.changes/next-release/testing.json create mode 100644 clients/aws-sdk-transcribe-streaming/.changes/next-release/testing.json diff --git a/clients/aws-sdk-bedrock-runtime/.changes/next-release/testing.json b/clients/aws-sdk-bedrock-runtime/.changes/next-release/testing.json new file mode 100644 index 0000000..65f63e8 --- /dev/null +++ b/clients/aws-sdk-bedrock-runtime/.changes/next-release/testing.json @@ -0,0 +1,4 @@ +{ + "type": "api-change", + "description"": "this is a test" +} diff --git a/clients/aws-sdk-transcribe-streaming/.changes/next-release/testing.json b/clients/aws-sdk-transcribe-streaming/.changes/next-release/testing.json new file mode 100644 index 0000000..65f63e8 --- /dev/null +++ b/clients/aws-sdk-transcribe-streaming/.changes/next-release/testing.json @@ -0,0 +1,4 @@ +{ + "type": "api-change", + "description"": "this is a test" +} From c31fedd79c0341827d5a229068c325d00fb8fb85 Mon Sep 17 00:00:00 2001 From: jonathan343 Date: Mon, 5 Jan 2026 21:17:56 -0600 Subject: [PATCH 5/7] testing --- .../aws-sdk-bedrock-runtime/.changes/next-release/testing.json | 2 +- .../.changes/next-release/testing.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/clients/aws-sdk-bedrock-runtime/.changes/next-release/testing.json b/clients/aws-sdk-bedrock-runtime/.changes/next-release/testing.json index 65f63e8..8efdb64 100644 --- a/clients/aws-sdk-bedrock-runtime/.changes/next-release/testing.json +++ b/clients/aws-sdk-bedrock-runtime/.changes/next-release/testing.json @@ -1,4 +1,4 @@ { "type": "api-change", - "description"": "this is a test" + "description": "this is a test" } diff --git a/clients/aws-sdk-transcribe-streaming/.changes/next-release/testing.json b/clients/aws-sdk-transcribe-streaming/.changes/next-release/testing.json index 65f63e8..8efdb64 100644 --- a/clients/aws-sdk-transcribe-streaming/.changes/next-release/testing.json +++ b/clients/aws-sdk-transcribe-streaming/.changes/next-release/testing.json @@ -1,4 +1,4 @@ { "type": "api-change", - "description"": "this is a test" + "description": "this is a test" } From e22f133082327a80c34d2c9c9543e512b2a05cbd Mon Sep 17 00:00:00 2001 From: jonathan343 Date: Mon, 5 Jan 2026 21:19:05 -0600 Subject: [PATCH 6/7] testing --- .../aws-sdk-bedrock-runtime/.changes/next-release/testing.json | 2 +- .../.changes/next-release/testing.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/clients/aws-sdk-bedrock-runtime/.changes/next-release/testing.json b/clients/aws-sdk-bedrock-runtime/.changes/next-release/testing.json index 8efdb64..c44ee7f 100644 --- a/clients/aws-sdk-bedrock-runtime/.changes/next-release/testing.json +++ b/clients/aws-sdk-bedrock-runtime/.changes/next-release/testing.json @@ -1,4 +1,4 @@ { - "type": "api-change", + "type": "dependency", "description": "this is a test" } diff --git a/clients/aws-sdk-transcribe-streaming/.changes/next-release/testing.json b/clients/aws-sdk-transcribe-streaming/.changes/next-release/testing.json index 8efdb64..988ef23 100644 --- a/clients/aws-sdk-transcribe-streaming/.changes/next-release/testing.json +++ b/clients/aws-sdk-transcribe-streaming/.changes/next-release/testing.json @@ -1,4 +1,4 @@ { - "type": "api-change", + "type": "bugfix", "description": "this is a test" } From 3674e57728d6a75a6b65527cb83a8189ca31da5a Mon Sep 17 00:00:00 2001 From: jonathan343 Date: Mon, 5 Jan 2026 21:23:12 -0600 Subject: [PATCH 7/7] Check for api-change --- .github/workflows/api-changelog-check.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/api-changelog-check.yml b/.github/workflows/api-changelog-check.yml index 0be3d89..6d1ea1c 100644 --- a/.github/workflows/api-changelog-check.yml +++ b/.github/workflows/api-changelog-check.yml @@ -45,7 +45,7 @@ jobs: valid_entry_found=false for file in "$changelog_dir"/*.json; do [ -e "$file" ] || continue - if jq -e '.type and .description' "$file" > /dev/null 2>&1; then + if jq -e '.type == "api-change" and .description' "$file" > /dev/null 2>&1; then valid_entry_found=true break fi @@ -60,7 +60,7 @@ jobs: printf "::error::Missing changelog entries for the following services:%b\n" "$missing_changelogs" echo "" echo "Please add a changelog entry in clients/aws-sdk-/.changes/next-release/ for each modified model." - echo "Entry must be a JSON file with 'type' and 'description' fields." + echo "Entry must be a JSON file with 'type: \"api-change\"' and 'description' fields." exit 1 fi