@@ -333,6 +333,37 @@ jobs:
333333 shell : bash
334334 run : cross test --target ${{ matrix.target }} --manifest-path "aws/rust-runtime/Cargo.toml" ${{ matrix.test_aws_exclude }} --workspace
335335
336+ # Test runtime crates on multiple architectures to catch architecture-specific issues
337+ # like crc-fast 1.4 SIGILL on ARM before merge
338+ test-runtime-architectures :
339+ name : Test Runtime (${{ matrix.target }})
340+ runs-on : ubuntu-latest
341+ strategy :
342+ fail-fast : false
343+ matrix :
344+ target :
345+ - x86_64-unknown-linux-gnu
346+ - x86_64-unknown-linux-musl
347+ - aarch64-unknown-linux-gnu
348+ - aarch64-unknown-linux-musl
349+ steps :
350+ - uses : actions/checkout@v4
351+ with :
352+ path : smithy-rs
353+ ref : ${{ inputs.git_ref }}
354+ - uses : dtolnay/rust-toolchain@master
355+ with :
356+ toolchain : ${{ env.rust_version }}
357+ targets : ${{ matrix.target }}
358+ - name : Install cross
359+ run : cargo install cross --git https://github.com/cross-rs/cross
360+ - name : Test smithy-rs runtime on ${{ matrix.target }}
361+ working-directory : smithy-rs/rust-runtime
362+ run : cross test --target ${{ matrix.target }} --workspace
363+ - name : Test AWS runtime on ${{ matrix.target }}
364+ working-directory : smithy-rs/aws/rust-runtime
365+ run : cross test --target ${{ matrix.target }} --workspace
366+
336367 # Run the canary against generated SDKs
337368 #
338369 # In addition to Matrix Success, this job will also be required to pass for merge.
@@ -391,6 +422,7 @@ jobs:
391422 - test-sdk
392423 - test-rust-windows
393424 - test-exotic-platform-support
425+ - test-runtime-architectures
394426 # Run this job even if its dependency jobs fail
395427 if : always()
396428 runs-on : ubuntu-latest
0 commit comments