Skip to content

Commit fcf670d

Browse files
authored
Merge branch 'main' into fahadzub/cbor-constraint
2 parents 9977516 + 37c1cc0 commit fcf670d

File tree

31 files changed

+960
-254
lines changed

31 files changed

+960
-254
lines changed

.github/workflows/ci.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -307,11 +307,11 @@ jobs:
307307
"OPENSSL_INCLUDE_DIR",
308308
]
309309
[target.powerpc-unknown-linux-gnu]
310-
pre-build = ["curl -L -s -o /tmp/openssl.sh https://github.com/cross-rs/cross/raw/c183ee37a9dc6b0e6b6a6ac9c918173137bad4ef/docker/openssl.sh && bash /tmp/openssl.sh linux-ppc powerpc-linux-gnu-"]
310+
pre-build = ["curl -L -s https://github.com/cross-rs/cross/raw/c183ee37a9dc6b0e6b6a6ac9c918173137bad4ef/docker/openssl.sh | sed 's/curl https/curl -L https/' > /tmp/openssl.sh && bash /tmp/openssl.sh linux-ppc powerpc-linux-gnu-"]
311311
[target.powerpc-unknown-linux-gnu.env]
312312
passthrough = ["OPENSSL_DIR"]
313313
[target.powerpc64-unknown-linux-gnu]
314-
pre-build = ["curl -L -s -o /tmp/openssl.sh https://github.com/cross-rs/cross/raw/c183ee37a9dc6b0e6b6a6ac9c918173137bad4ef/docker/openssl.sh && bash /tmp/openssl.sh linux-ppc64 powerpc64-linux-gnu-"]
314+
pre-build = ["curl -L -s https://github.com/cross-rs/cross/raw/c183ee37a9dc6b0e6b6a6ac9c918173137bad4ef/docker/openssl.sh | sed 's/curl https/curl -L https/' > /tmp/openssl.sh && bash /tmp/openssl.sh linux-ppc64 powerpc64-linux-gnu-"]
315315
[target.powerpc64-unknown-linux-gnu.env]
316316
passthrough = ["OPENSSL_DIR"]
317317
EOF
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
# Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
2+
# SPDX-License-Identifier: Apache-2.0
3+
4+
name: Update lockfiles manually
5+
run-name: ${{ github.workflow }} (${{ inputs.base_branch }})
6+
on:
7+
workflow_dispatch:
8+
inputs:
9+
base_branch:
10+
description: The name of the branch on which to run `cargo update` for lockfiles
11+
required: true
12+
type: string
13+
force_update_on_broken_dependencies:
14+
description: When true, it forces `cargo update` to update broken dependencies to the latest semver-compatible versions, without downgrading them to the last known working versions
15+
required: true
16+
type: boolean
17+
default: false
18+
19+
concurrency:
20+
group: ${{ github.workflow }}-${{ inputs.base_branch }}
21+
cancel-in-progress: true
22+
23+
jobs:
24+
cargo-update-runtime-lockfiles-and-sdk-lockfile:
25+
name: Run cargo update on the runtime lockfiles and the SDK lockfile
26+
if: ${{ github.event_name == 'workflow_dispatch' }}
27+
uses: ./.github/workflows/pull-request-updating-lockfiles.yml
28+
with:
29+
base_branch: ${{ inputs.base_branch }}
30+
force_update_on_broken_dependencies: ${{ inputs.force_update_on_broken_dependencies }}
31+
secrets:
32+
DOCKER_LOGIN_TOKEN_PASSPHRASE: ${{ secrets.DOCKER_LOGIN_TOKEN_PASSPHRASE }}
33+
SMITHY_RS_PUBLIC_ECR_PUSH_ROLE_ARN: ${{ secrets.SMITHY_RS_PUBLIC_ECR_PUSH_ROLE_ARN }}
34+
RELEASE_AUTOMATION_BOT_PAT: ${{ secrets.RELEASE_AUTOMATION_BOT_PAT }}
Lines changed: 121 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,121 @@
1+
# Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
2+
# SPDX-License-Identifier: Apache-2.0
3+
4+
# This is a shared workflow used by both `update-lockfiles.yml` and `manual-update-lockfiles.yml`.
5+
6+
name: Pull Request for Updating Lockfiles
7+
on:
8+
workflow_call:
9+
inputs:
10+
base_branch:
11+
description: The name of the branch on which to run `cargo update` for lockfiles
12+
required: true
13+
type: string
14+
force_update_on_broken_dependencies:
15+
description: When true, it forces `cargo update` to update broken dependencies to the latest semver-compatible versions, without downgrading them to the last known working versions
16+
required: true
17+
type: boolean
18+
secrets:
19+
DOCKER_LOGIN_TOKEN_PASSPHRASE:
20+
required: true
21+
SMITHY_RS_PUBLIC_ECR_PUSH_ROLE_ARN:
22+
required: true
23+
RELEASE_AUTOMATION_BOT_PAT:
24+
required: true
25+
26+
env:
27+
ecr_repository: public.ecr.aws/w0m4q9l7/github-awslabs-smithy-rs-ci
28+
29+
jobs:
30+
save-docker-login-token:
31+
name: Save a docker login token
32+
timeout-minutes: 10
33+
outputs:
34+
docker-login-password: ${{ steps.set-token.outputs.docker-login-password }}
35+
permissions:
36+
id-token: write
37+
contents: read
38+
continue-on-error: true
39+
runs-on: ubuntu-latest
40+
steps:
41+
- name: Attempt to load a docker login password
42+
uses: aws-actions/configure-aws-credentials@v4
43+
with:
44+
role-to-assume: ${{ secrets.SMITHY_RS_PUBLIC_ECR_PUSH_ROLE_ARN }}
45+
role-session-name: GitHubActions
46+
aws-region: us-west-2
47+
- name: Save the docker login password to the output
48+
id: set-token
49+
run: |
50+
ENCRYPTED_PAYLOAD=$(
51+
gpg --symmetric --batch --passphrase "${{ secrets.DOCKER_LOGIN_TOKEN_PASSPHRASE }}" --output - <(aws ecr-public get-login-password --region us-east-1) | base64 -w0
52+
)
53+
echo "docker-login-password=$ENCRYPTED_PAYLOAD" >> $GITHUB_OUTPUT
54+
55+
acquire-base-image:
56+
name: Acquire Base Image
57+
needs: save-docker-login-token
58+
runs-on: ubuntu-latest
59+
timeout-minutes: 60
60+
env:
61+
ENCRYPTED_DOCKER_PASSWORD: ${{ needs.save-docker-login-token.outputs.docker-login-password }}
62+
DOCKER_LOGIN_TOKEN_PASSPHRASE: ${{ secrets.DOCKER_LOGIN_TOKEN_PASSPHRASE }}
63+
permissions:
64+
id-token: write
65+
contents: read
66+
steps:
67+
- uses: actions/checkout@v4
68+
with:
69+
path: smithy-rs
70+
- name: Acquire base image
71+
id: acquire
72+
env:
73+
DOCKER_BUILDKIT: 1
74+
run: ./smithy-rs/.github/scripts/acquire-build-image
75+
- name: Acquire credentials
76+
uses: aws-actions/configure-aws-credentials@v4
77+
with:
78+
role-to-assume: ${{ secrets.SMITHY_RS_PUBLIC_ECR_PUSH_ROLE_ARN }}
79+
role-session-name: GitHubActions
80+
aws-region: us-west-2
81+
- name: Upload image
82+
run: |
83+
IMAGE_TAG="$(./smithy-rs/.github/scripts/docker-image-hash)"
84+
docker tag "smithy-rs-base-image:${IMAGE_TAG}" "${{ env.ecr_repository }}:${IMAGE_TAG}"
85+
aws ecr-public get-login-password --region us-east-1 | docker login --username AWS --password-stdin public.ecr.aws
86+
docker push "${{ env.ecr_repository }}:${IMAGE_TAG}"
87+
88+
create-pull-request-for-updating-lockfiles:
89+
name: Create a Pull Request for updating lockfiles
90+
needs:
91+
- acquire-base-image
92+
runs-on: ubuntu-latest
93+
steps:
94+
- name: Checkout smithy-rs
95+
uses: actions/checkout@v4
96+
with:
97+
path: smithy-rs
98+
token: ${{ secrets.RELEASE_AUTOMATION_BOT_PAT }}
99+
- name: Create branch name for updating lockfiles
100+
id: branch-name-for-updating-lockfiles
101+
shell: bash
102+
run: |
103+
branch_name="update-all-lockfiles-$(date +%s)"
104+
echo "branch_name=${branch_name}" > $GITHUB_OUTPUT
105+
- name: Cargo update all lockfiles
106+
uses: ./smithy-rs/.github/actions/docker-build
107+
with:
108+
action: cargo-update-lockfiles
109+
action-arguments: ${{ inputs.base_branch }} ${{ steps.branch-name-for-updating-lockfiles.outputs.branch_name }} ${{ inputs.force_update_on_broken_dependencies }}
110+
- name: Create pull request
111+
working-directory: smithy-rs
112+
shell: bash
113+
env:
114+
GITHUB_TOKEN: ${{ secrets.RELEASE_AUTOMATION_BOT_PAT }}
115+
run: |
116+
gh pr create \
117+
--title 'Run `cargo update` on the runtime lockfiles and the SDK lockfile' \
118+
--body 'If CI fails, commit the necessary fixes to this PR until all checks pass. If required, update entries in [crateNameToLastKnownWorkingVersions](https://github.com/smithy-lang/smithy-rs/blob/6b42eb5ca00a2dc9c46562452e495a2ec2e43d0f/aws/sdk/build.gradle.kts#L503-L504).' \
119+
--base ${{ inputs.base_branch }} \
120+
--head ${{ steps.branch-name-for-updating-lockfiles.outputs.branch_name }} \
121+
--label "needs-sdk-review"
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
# Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
2+
# SPDX-License-Identifier: Apache-2.0
3+
4+
name: Update lockfiles scheduled
5+
run-name: ${{ github.workflow }}
6+
on:
7+
schedule:
8+
# Runs 22:00 UTC every Tuesday
9+
- cron: 0 22 * * 2
10+
11+
jobs:
12+
cargo-update-runtime-lockfiles-and-sdk-lockfile:
13+
name: Run cargo update on the runtime lockfiles and the SDK lockfile
14+
# Don't run on forked repositories
15+
if: github.repository == 'smithy-lang/smithy-rs'
16+
uses: ./.github/workflows/pull-request-updating-lockfiles.yml
17+
with:
18+
base_branch: main
19+
force_update_on_broken_dependencies: false
20+
secrets:
21+
DOCKER_LOGIN_TOKEN_PASSPHRASE: ${{ secrets.DOCKER_LOGIN_TOKEN_PASSPHRASE }}
22+
SMITHY_RS_PUBLIC_ECR_PUSH_ROLE_ARN: ${{ secrets.SMITHY_RS_PUBLIC_ECR_PUSH_ROLE_ARN }}
23+
RELEASE_AUTOMATION_BOT_PAT: ${{ secrets.RELEASE_AUTOMATION_BOT_PAT }}

CHANGELOG.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,10 @@
11
<!-- Do not manually edit this file. Use the `changelogger` tool. -->
2+
September 26th, 2024
3+
====================
4+
**New this release:**
5+
- :bug: (client, [smithy-rs#3820](https://github.com/smithy-lang/smithy-rs/issues/3820)) Fixed a bug with the content length of compressed payloads that caused such requests to hang.
6+
7+
28
September 17th, 2024
39
====================
410

aws/SDK_CHANGELOG.next.json

Lines changed: 21 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
"smithy-rs#3800"
1818
],
1919
"since-commit": "d64aea29ad48d7bddb5a7511f3f1175c478e2c1e",
20-
"age": 3
20+
"age": 4
2121
},
2222
{
2323
"message": "Add minimal support for `AWS::Auth::AccountId` and `AWS::Auth::AccountIdEndpointMode` endpoint built-ins\n",
@@ -31,7 +31,7 @@
3131
"smithy-rs#3792"
3232
],
3333
"since-commit": "d64aea29ad48d7bddb5a7511f3f1175c478e2c1e",
34-
"age": 3
34+
"age": 4
3535
},
3636
{
3737
"message": "Fix the execution order of [modify_before_serialization](https://docs.rs/aws-smithy-runtime-api/latest/aws_smithy_runtime_api/client/interceptors/trait.Intercept.html#method.modify_before_serialization) and [read_before_serialization](https://docs.rs/aws-smithy-runtime-api/latest/aws_smithy_runtime_api/client/interceptors/trait.Intercept.html#method.read_before_serialization) in the orchestrator. The `modify_before_serialization` method now executes before the `read_before_serialization` method. This adjustment may result in changes in behavior depending on how you customize interceptors.\n",
@@ -45,7 +45,7 @@
4545
"smithy-rs#3798"
4646
],
4747
"since-commit": "d64aea29ad48d7bddb5a7511f3f1175c478e2c1e",
48-
"age": 3
48+
"age": 4
4949
},
5050
{
5151
"message": "Fix the [Length::UpTo](https://docs.rs/aws-smithy-types/1.2.2/aws_smithy_types/byte_stream/enum.Length.html) usage in [FsBuilder](https://docs.rs/aws-smithy-types/1.2.2/aws_smithy_types/byte_stream/struct.FsBuilder.html), ensuring that the specified length does not exceed the remaining file length.\n",
@@ -60,7 +60,7 @@
6060
"smithy-rs#3797"
6161
],
6262
"since-commit": "d64aea29ad48d7bddb5a7511f3f1175c478e2c1e",
63-
"age": 3
63+
"age": 4
6464
},
6565
{
6666
"message": "Re-export `ByteStream`'s `Length` and `FsBuilder`. By making these types available directly within a client crate, customers can use `ByteStream::read_from` without needing to import them separately from the `aws-smithy-types` crate.\n",
@@ -74,7 +74,7 @@
7474
"aws-sdk-rust#820"
7575
],
7676
"since-commit": "d64aea29ad48d7bddb5a7511f3f1175c478e2c1e",
77-
"age": 3
77+
"age": 4
7878
},
7979
{
8080
"message": "Remove stalled stream protection from transcribe-streaming operations.\n",
@@ -88,7 +88,7 @@
8888
"aws-sdk-rust#1181"
8989
],
9090
"since-commit": "c622e5e97b199cc2382a4fbc14a9773e9ea1766c",
91-
"age": 1
91+
"age": 2
9292
},
9393
{
9494
"message": "deprecate http-02x presign APIs in favor of http-1x equivalents\n",
@@ -100,7 +100,7 @@
100100
"author": "aajtodd",
101101
"references": [],
102102
"since-commit": "c622e5e97b199cc2382a4fbc14a9773e9ea1766c",
103-
"age": 1
103+
"age": 2
104104
},
105105
{
106106
"message": "Update Smoketest codegeneration to be endpoint built-in aware.\n",
@@ -114,6 +114,20 @@
114114
"smithy-rs#3836"
115115
],
116116
"since-commit": "c622e5e97b199cc2382a4fbc14a9773e9ea1766c",
117+
"age": 2
118+
},
119+
{
120+
"message": "Fixed a bug with the content length of compressed payloads that caused such requests to hang.\n",
121+
"meta": {
122+
"bug": true,
123+
"breaking": false,
124+
"tada": false
125+
},
126+
"author": "Velfi",
127+
"references": [
128+
"smithy-rs#3820"
129+
],
130+
"since-commit": "2f29209c1ecfd8a848dc0745dbce6b510c898d9a",
117131
"age": 1
118132
}
119133
],

aws/rust-runtime/Cargo.lock

Lines changed: 5 additions & 5 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

aws/rust-runtime/aws-config/Cargo.lock

Lines changed: 5 additions & 5 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

aws/rust-runtime/aws-config/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "aws-config"
3-
version = "1.5.6"
3+
version = "1.5.7"
44
authors = [
55
"AWS Rust SDK Team <[email protected]>",
66
"Russell Cohen <[email protected]>",

0 commit comments

Comments
 (0)