Unverified Commit 1844660c authored by Julian Antonielli's avatar Julian Antonielli Committed by GitHub
Browse files

Remove our `base64` implementation in favour of `base64-simd` (#1938)

* Replace our base64 implementation with one based on `base64-simd`

* Bump Rust MSRV to 1.62.1

* Unmark base64-related tests as failing

* Use `usize` for `base64::encoded_length`

* Run Rust 1.62.1 on CI

* Don't use external `base64_simd::Error` type in public interface

* Add initial criterion bench setup for base64

* Compare `base64_simd::encode` vs Smithy's `encode`

* Use string length for `BenchmarkId`

* Compare `base64_simd::decode` vs Smithy's `decode`

* Compare `base64_simd::encoded_length` vs Smithy's `encoded_length`
parent 55a66a21
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -9,7 +9,7 @@ on:
  workflow_call:

env:
  rust_version: 1.62.0
  rust_version: 1.62.1
  rust_toolchain_components: clippy,rustfmt

jobs:
+1 −1
Original line number Diff line number Diff line
@@ -28,7 +28,7 @@ concurrency:

env:
  java_version: 11
  rust_version: 1.62.0
  rust_version: 1.62.1
  rust_toolchain_components: clippy,rustfmt
  apt_dependencies: libssl-dev gnuplot jq

+1 −1
Original line number Diff line number Diff line
@@ -10,7 +10,7 @@ concurrency:
  cancel-in-progress: true

env:
  rust_version: 1.62.0
  rust_version: 1.62.1

name: Release smithy-rs
run-name: ${{ github.workflow }} - ${{ inputs.dry_run && 'Dry run' || 'Production run' }}
+6 −0
Original line number Diff line number Diff line
@@ -11,6 +11,12 @@
# meta = { "breaking" = false, "tada" = false, "bug" = false, "target" = "client | server | all"}
# author = "rcoh"

[[smithy-rs]]
message = "Upgrade Rust MSRV to 1.62.1"
references = ["smithy-rs#0"]
meta = { "breaking" = true, "tada" = true, "bug" = false, "target" = "all" }
author = "jjantdev"

[[smithy-rs]]
message = "Support Sigv4 signature generation on PowerPC 32 and 64 bit. This architecture cannot compile `ring`, so the implementation has been updated to rely on `hamc` + `sha2` to achive the same result with broader platform compatibility and higher performance. We also updated the CI which is now running as many tests as possible against i686 and PowerPC 32 and 64 bit."
references = ["smithy-rs#1847"]
+0 −9
Original line number Diff line number Diff line
@@ -918,15 +918,6 @@ class ServerProtocolTestGenerator(
            FailingTest(RestJson, "RestJsonEndpointTrait", TestType.Request),
            FailingTest(RestJson, "RestJsonEndpointTraitWithHostLabel", TestType.Request),

            // Work in progress PR, see https://github.com/awslabs/smithy-rs/pull/1294.
            FailingTest(RestJson, "RestJsonBodyMalformedBlobInvalidBase64_case1", TestType.MalformedRequest),
            FailingTest(RestJson, "RestJsonBodyMalformedBlobInvalidBase64_case2", TestType.MalformedRequest),
            FailingTest(
                RestJson,
                "RestJsonHeaderMalformedStringInvalidBase64MediaType_case1",
                TestType.MalformedRequest,
            ),

            FailingTest(RestJson, "RestJsonWithBodyExpectsApplicationJsonContentType", TestType.MalformedRequest),
            FailingTest(RestJson, "RestJsonBodyMalformedListNullItem", TestType.MalformedRequest),
            FailingTest(RestJson, "RestJsonBodyMalformedMapNullValue", TestType.MalformedRequest),
Loading