Skip to content

Commit d603059

Browse files
lauzadis0marperezaws-sdk-kotlin-ciianbotsfxinsong-cui
authored
kn: merge from main (#1332)
Co-authored-by: 0marperez <60363173+0marperez@users.noreply.github.com> Co-authored-by: aws-sdk-kotlin-ci <aws-kotlin-sdk-automation@amazon.com> Co-authored-by: Ian Botsford <83236726+ianbotsf@users.noreply.github.com> Co-authored-by: Xinsong Cui <xicu@amazon.com> Co-authored-by: Manuel Sugawara <sugmanue@amazon.com>
1 parent 8daa00e commit d603059

File tree

77 files changed

+1013
-395
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

77 files changed

+1013
-395
lines changed

.brazil-1.x.json

Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
{
2+
"dependencies": {
3+
"org.jetbrains.kotlin:kotlin-stdlib:2.*": "KotlinStdlib-2.x",
4+
"org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm:1.*": "KotlinxCoroutinesCoreJvm-1.x",
5+
6+
"com.squareup.okhttp3:okhttp-coroutines:5.*": "OkHttp3Coroutines-5.x",
7+
"com.squareup.okhttp3:okhttp:5.*": "OkHttp3-5.x",
8+
"com.squareup.okio:okio-jvm:3.*": "OkioJvm-3.x",
9+
"io.opentelemetry:opentelemetry-api:1.*": "Maven-io-opentelemetry_opentelemetry-api-1.x",
10+
"io.opentelemetry:opentelemetry-extension-kotlin:1.*": "Maven-io-opentelemetry_opentelemetry-extension-kotlin-1.x",
11+
"org.slf4j:slf4j-api:2.*": "Maven-org-slf4j_slf4j-api-2.x",
12+
"aws.sdk.kotlin.crt:aws-crt-kotlin:0.9.*": "AwsCrtKotlin-0.9.x",
13+
"aws.sdk.kotlin.crt:aws-crt-kotlin:0.8.*": "AwsCrtKotlin-0.8.x",
14+
"com.squareup.okhttp3:okhttp:4.*": "OkHttp3-4.x",
15+
16+
"software.amazon.smithy:smithy-aws-traits:1.*": "Maven-software-amazon-smithy_smithy-aws-traits-1.x",
17+
"software.amazon.smithy:smithy-aws-iam-traits:1.*": "Maven-software-amazon-smithy_smithy-aws-iam-traits-1.x",
18+
"software.amazon.smithy:smithy-aws-cloudformation-traits:1.*": "Maven-software-amazon-smithy_smithy-aws-cloudformation-traits-1.x",
19+
"software.amazon.smithy:smithy-protocol-test-traits:1.*": "Maven-software-amazon-smithy_smithy-protocol-test-traits-1.x",
20+
"software.amazon.smithy:smithy-protocol-traits:1.*": "Maven-software-amazon-smithy_smithy-protocol-traits-1.x",
21+
"software.amazon.smithy:smithy-aws-endpoints:1.*": "Maven-software-amazon-smithy_smithy-aws-endpoints-1.x",
22+
"software.amazon.smithy:smithy-codegen-core:1.*": "Maven-software-amazon-smithy_smithy-codegen-core-1.x",
23+
"software.amazon.smithy:smithy-waiters:1.*": "Maven-software-amazon-smithy_smithy-waiters-1.x",
24+
"software.amazon.smithy:smithy-rules-engine:1.*": "Maven-software-amazon-smithy_smithy-rules-engine-1.x",
25+
"software.amazon.smithy:smithy-smoke-test-traits:1.*": "Maven-software-amazon-smithy_smithy-smoke-test-traits-1.x",
26+
"org.jsoup:jsoup:1.19.*": "Maven-jsoup-1.19.x"
27+
},
28+
"packageHandlingRules": {
29+
"versioning": {
30+
"defaultVersionLayout": "{MAJOR}.x"
31+
},
32+
"rename": {
33+
"software.amazon.smithy.kotlin:smithy-aws-kotlin-codegen": "AwsSmithyAwsKotlinCodegen",
34+
"software.amazon.smithy.kotlin:smithy-kotlin-codegen": "AwsSmithyKotlinCodegen"
35+
},
36+
"ignore": [
37+
"aws.smithy.kotlin:http-test",
38+
"aws.smithy.kotlin:smithy-test",
39+
"aws.smithy.kotlin:telemetry-provider-micrometer",
40+
"aws.smithy.kotlin:testing",
41+
"aws.smithy.kotlin:bom",
42+
"aws.smithy.kotlin:version-catalog",
43+
"software.amazon.smithy.kotlin:smithy-kotlin-codegen-testutils"
44+
],
45+
"resolvesConflictDependencies": {
46+
"org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm:1.*": [
47+
"KotlinxCoroutinesCoreJvm-1.x"
48+
],
49+
"com.squareup.okhttp3:okhttp-coroutines:5.*": [
50+
"KotlinStdlib-2.x",
51+
"KotlinxCoroutinesCoreJvm-1.x",
52+
"KotlinStdlibJdk7-2.x",
53+
"KotlinStdlibJdk8-2.x"
54+
],
55+
"com.squareup.okhttp3:okhttp:5.*": [
56+
"KotlinStdlib-2.x"
57+
],
58+
"com.squareup.okio:okio-jvm:3.*": [
59+
"KotlinStdlib-2.x"
60+
],
61+
"com.squareup.okhttp3:okhttp:4.*": [
62+
"OkHttp3-4.x"
63+
]
64+
}
65+
}
66+
}

.brazil.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
"dependencies": {
33
"org.jetbrains.kotlin:kotlin-stdlib:2.*": "KotlinStdlib-2.x",
44
"org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm:1.*": "KotlinxCoroutinesCoreJvm-1.x",
5+
56
"com.squareup.okhttp3:okhttp-coroutines:5.*": "OkHttp3Coroutines-5.x",
67
"com.squareup.okhttp3:okhttp:5.*": "OkHttp3-5.x",
78
"com.squareup.okio:okio-jvm:3.*": "OkioJvm-3.x",

.editorconfig

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,4 +9,4 @@ ktlint_standard_backing-property-naming = disabled
99
# enable trailing commas per JetBrains recommendation
1010
# (https://kotlinlang.org/docs/coding-conventions.html#trailing-commas)
1111
ij_kotlin_allow_trailing_comma_on_call_site = true
12-
ij_kotlin_allow_trailing_comma = true
12+
ij_kotlin_allow_trailing_comma = true

.github/workflows/artifact-size-metrics.yml

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -45,22 +45,23 @@ jobs:
4545
steps:
4646
- name: Checkout Sources
4747
uses: actions/checkout@v4
48-
4948
- name: Setup build
5049
uses: .github/actions/setup-build
51-
50+
- name: Configure JDK
51+
uses: actions/setup-java@v3
52+
with:
53+
distribution: 'corretto'
54+
java-version: 17
55+
cache: 'gradle'
5256
- name: Configure AWS Credentials
5357
uses: aws-actions/configure-aws-credentials@v4
5458
with:
5559
role-to-assume: ${{ secrets.CI_AWS_ROLE_ARN }}
5660
aws-region: us-west-2
57-
5861
- name: Configure Gradle
5962
uses: awslabs/aws-kotlin-repo-tools/.github/actions/configure-gradle@main
60-
6163
- name: Generate Artifact Size Metrics
6264
run: ./gradlew -Paws.kotlin.native=false artifactSizeMetrics
63-
6465
- name: Analyze Artifact Size Metrics
6566
run: ./gradlew analyzeArtifactSizeMetrics
6667

Lines changed: 11 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
11
name: Changelog verification
22

3+
permissions:
4+
id-token: write
5+
36
on:
47
pull_request:
58
types: [ opened, synchronize, reopened, labeled, unlabeled ]
@@ -11,16 +14,11 @@ jobs:
1114
changelog-verification:
1215
runs-on: ubuntu-latest
1316
steps:
14-
- uses: actions/checkout@v2
15-
- name: Check for changelog entry
16-
if: ${{ !contains(github.event.pull_request.labels.*.name, 'no-changelog') }}
17-
run: |
18-
git fetch origin ${{ github.base_ref }} --depth 1 && \
19-
git diff remotes/origin/${{ github.base_ref }} --name-only | grep -P "\.changes/[0-9a-f-]+\.json"
20-
- name: Error message
21-
if: ${{ failure() }}
22-
run: |
23-
echo "::error ::No new/updated changelog entry found in /.changes directory. Please either:"
24-
echo "::error ::* Add a changelog entry (see CONTRIBUTING.md for instructions) –or–"
25-
echo "::error ::* Add the 'no-changelog' label to this PR (in rare cases not warranting a changelog entry)"
26-
exit 1
17+
- name: Configure AWS Credentials
18+
uses: aws-actions/configure-aws-credentials@v4
19+
with:
20+
role-to-assume: ${{ secrets.CI_AWS_ROLE_ARN }}
21+
aws-region: us-west-2
22+
23+
- name: Verify changelog
24+
uses: awslabs/aws-kotlin-repo-tools/.github/actions/changelog-verification@main

.github/workflows/continuous-integration.yml

Lines changed: 27 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,13 @@ jobs:
3939
- name: Setup build
4040
uses: ./smithy-kotlin/.github/actions/setup-build
4141

42+
- name: Configure JDK
43+
uses: actions/setup-java@v3
44+
with:
45+
distribution: 'corretto'
46+
java-version: 17
47+
cache: 'gradle'
48+
4249
- name: Build and Test on JVM
4350
working-directory: ./smithy-kotlin
4451
shell: bash
@@ -157,6 +164,13 @@ jobs:
157164
- name: Setup build
158165
uses: ./smithy-kotlin/.github/actions/setup-build
159166

167+
- name: Configure JDK
168+
uses: actions/setup-java@v3
169+
with:
170+
distribution: 'corretto'
171+
java-version: 17
172+
cache: 'gradle'
173+
160174
- name: Configure Gradle
161175
uses: awslabs/aws-kotlin-repo-tools/.github/actions/configure-gradle@main
162176
with:
@@ -189,6 +203,13 @@ jobs:
189203
- name: Setup build
190204
uses: ./smithy-kotlin/.github/actions/setup-build
191205

206+
- name: Configure JDK
207+
uses: actions/setup-java@v3
208+
with:
209+
distribution: 'corretto'
210+
java-version: 17
211+
cache: 'gradle'
212+
192213
- name: Configure Gradle
193214
uses: awslabs/aws-kotlin-repo-tools/.github/actions/configure-gradle@main
194215
with:
@@ -228,7 +249,12 @@ jobs:
228249
uses: awslabs/aws-kotlin-repo-tools/.github/actions/configure-gradle@main
229250
with:
230251
working-directory: ./aws-sdk-kotlin
231-
252+
- name: Configure JDK
253+
uses: actions/setup-java@v3
254+
with:
255+
distribution: 'corretto'
256+
java-version: 17
257+
cache: 'gradle'
232258
- name: Build and Test aws-sdk-kotlin downstream
233259
working-directory: ./smithy-kotlin
234260
run: |

.github/workflows/merge-main.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,4 +11,5 @@ jobs:
1111
- name: Merge main
1212
uses: awslabs/aws-kotlin-repo-tools/.github/actions/merge-main@main
1313
with:
14+
ci-user-pat: ${{ secrets.CI_USER_PAT }}
1415
exempt-branches: # Add any if required
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
name: Release readiness (snapshot dependency)
2+
description: >
3+
Makes sure that we aren't relying on SNAPSHOT/dev versions of aws-crt-kotlin before merging
4+
Otherwise we could forget because the rest of CI is masking it
5+
6+
on:
7+
pull_request:
8+
branches: [ main ]
9+
10+
jobs:
11+
release-readiness:
12+
if: ${{ !contains(github.event.pull_request.labels.*.name, 'ready-for-release') }}
13+
runs-on: ubuntu-latest
14+
steps:
15+
- name: Checkout sources
16+
uses: actions/checkout@v4
17+
18+
- name: Configure Gradle
19+
uses: awslabs/aws-kotlin-repo-tools/.github/actions/configure-gradle@main
20+
21+
- name: Build smithy-kotlin
22+
run: ./gradlew test jvmTest
23+
24+
- name: Emit error message
25+
if: ${{ failure() }}
26+
run: |
27+
echo "::error ::Build failed. Did you forget to release aws-crt-kotlin and bump the dependency version?"
28+
exit 1

CHANGELOG.md

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,41 @@
11
# Changelog
22

3+
## [1.4.23] - 07/15/2025
4+
5+
## [1.4.22] - 07/02/2025
6+
7+
## [1.4.21] - 06/27/2025
8+
9+
## [1.4.20] - 06/20/2025
10+
11+
### Fixes
12+
* Explicitly qualify shape member names in smoke tests and protocol tests
13+
* [#1295](https://github.com/smithy-lang/smithy-kotlin/issues/1295) Enable building this project on JDK21 by setting -Xjdk-release flag
14+
15+
## [1.4.19] - 06/19/2025
16+
17+
## [1.4.18] - 06/13/2025
18+
19+
### Miscellaneous
20+
* Upgrade to Dokka 2.0.0
21+
22+
## [1.4.17] - 06/11/2025
23+
24+
### Fixes
25+
* Adds import to the symbols references when needed. This issue surfaced when building the protocol tests with the latest Smithy release
26+
27+
## [1.4.16] - 04/28/2025
28+
29+
### Features
30+
* Add `authSchemePreference` configuration
31+
32+
## [1.4.15] - 04/21/2025
33+
34+
### Fixes
35+
* [#1214](https://github.com/awslabs/aws-sdk-kotlin/issues/1214) Improve handling of excepted socket exceptions when using connection polling
36+
37+
## [1.4.14] - 04/18/2025
38+
339
## [1.4.13] - 04/10/2025
440

541
## [1.4.12] - 04/04/2025

CONTRIBUTING.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -204,6 +204,17 @@ The `.api` files can be updated by running `./gradlew apiDump`.
204204

205205
The binary compatibility validator can also be run manually using `./gradlew apiCheck`.
206206

207+
#### Release readiness
208+
209+
This checks for cross repo changes by looking at matching branch names across repos.
210+
It verifies that downstream changes are ready to be released. If your change spans
211+
multiple repos (aws-sdk-kotlin, smithy-kotlin, aws-crt-kotlin), the upstream
212+
changes must be merged and released first. For release assistance ask the team
213+
to run a release for you.
214+
215+
If this check is failing, and you have cross repo changes that do not rely on
216+
each other, you can add the `ready-for-release` label to your PR to override it.
217+
207218
## Finding contributions to work on
208219
Looking at the existing issues is a great way to find something to contribute on. As our projects, by default, use the default GitHub issue labels (enhancement/bug/duplicate/help wanted/invalid/question/wontfix), looking at any 'help wanted' issues is a great place to start.
209220

0 commit comments

Comments
 (0)