Unverified Commit aca4d963 authored by AWS SDK Rust Bot's avatar AWS SDK Rust Bot Committed by GitHub
Browse files

Merge main into smithy-rs-release-0.56.x (#2922)

parents e78c60db 88d38510
Loading
Loading
Loading
Loading
+81 −0
Original line number Diff line number Diff line
# Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
# SPDX-License-Identifier: Apache-2.0

# This workflow tests the TLS configuration of the smithy-rs client
# To run on an Ubuntu machine, run each step in this order.
# Each script can be run on your Ubuntu host.
# You will have to install Docker and rustc/cargo manually.

env:
  rust_version: 1.68.2

name: Verify client TLS configuration
on:
  pull_request:
  push:
    branches: [main]

jobs:
  verify-tls-config:
    name: Verify TLS configuration
    runs-on: ubuntu-latest
    steps:
      - name: Install packages
        shell: bash
        run: |
          sudo apt-get update
          sudo apt-get -y install gcc make python3-pip nginx git ruby openjdk-17-jre pkg-config libssl-dev faketime
          pip3 install certbuilder crlbuilder
      - name: Stop nginx
        run: sudo systemctl stop nginx
      - name: Checkout smithy-rs
        uses: actions/checkout@v3
        with:
          path: ./smithy-rs
      - name: Checkout trytls
        uses: actions/checkout@v3
        with:
          repository: ouspg/trytls
          path: ./trytls
      - name: Checkout badtls
        uses: actions/checkout@v3
        with:
          repository: wbond/badtls.io
          path: ./badtls.io
      - name: Checkout badssl
        uses: actions/checkout@v3
        with:
          repository: chromium/badssl.com
          path: ./badssl.com
      - name: Install Rust
        uses: dtolnay/rust-toolchain@master
        with:
          toolchain: ${{ env.rust_version }}
      - name: Build badssl.com
        shell: bash
        working-directory: badssl.com
        env:
          DOCKER_BUILDKIT: 1
        run: ../smithy-rs/tools/ci-scripts/configure-tls/configure-badssl
      - name: Build SDK
        working-directory: smithy-rs
        run: ./gradlew :aws:sdk:assemble -Paws.services=+sts,+sso
      - name: Build trytls
        shell: bash
        working-directory: trytls
        run: ../smithy-rs/tools/ci-scripts/configure-tls/configure-trytls
      - name: Build badtls.io
        working-directory: badtls.io
        shell: bash
        run: ../smithy-rs/tools/ci-scripts/configure-tls/configure-badtls
      - name: Update TLS configuration
        shell: bash
        run: smithy-rs/tools/ci-scripts/configure-tls/update-certs
      - name: Build TLS stub
        working-directory: smithy-rs/tools/ci-resources/tls-stub
        shell: bash
        run: cargo build
      - name: Test TLS configuration
        working-directory: smithy-rs/tools
        shell: bash
        run: trytls https target/debug/stub
+13 −13
Original line number Diff line number Diff line
@@ -6,19 +6,6 @@ repos:
  - id: end-of-file-fixer
    exclude: ^aws/rust-runtime/aws-sigv4/aws-sig-v4-test-suite/
  - id: trailing-whitespace
- repo: local
  hooks:
  - id: kotlin-block-quotes
    name: Kotlin Block Quotes
    entry: ./.pre-commit-hooks/kotlin-block-quotes.py
    language: python
    files: ^.*\.kt$
  - id: license-header-check
    name: License Header Check
    entry: ./.pre-commit-hooks/license-header.sh
    language: system
    files: ^.*$
    pass_filenames: false
- repo: https://github.com/macisamuele/language-formatters-pre-commit-hooks
  rev: v2.10.0
  hooks:
@@ -29,3 +16,16 @@ repos:
  - id: pretty-format-rust
    entry: rustfmt --edition 2021
    files: ^.*\.rs$
- repo: local
  hooks:
  - id: kotlin-block-quotes
    name: Kotlin Block Quotes
    entry: ./.pre-commit-hooks/kotlin-block-quotes.py
    language: python
    files: ^.*\.kt$
  - id: sdk-lints-check
    name: sdk-lints
    entry: ./.pre-commit-hooks/sdk-lints.sh
    language: system
    files: ^.*$
    pass_filenames: false
+1 −2
Original line number Diff line number Diff line
#!/bin/bash
set -e

#
# Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
# SPDX-License-Identifier: Apache-2.0
#

set -e
cd "$(git rev-parse --show-toplevel)/tools/ci-build/sdk-lints" && cargo run -- check --license --changelog
+25 −1
Original line number Diff line number Diff line
@@ -10,3 +10,27 @@
# references = ["smithy-rs#920"]
# meta = { "breaking" = false, "tada" = false, "bug" = false, "target" = "client | server | all"}
# author = "rcoh"

[[aws-sdk-rust]]
message = "`RuntimeComponents` are now re-exported so that implementing a custom interceptor doens't require directly depending on `aws-smithy-runtime-api`."
references = ["smithy-rs#2904", "aws-sdk-rust#862"]
meta = { "breaking" = false, "tada" = false, "bug" = false }
author = "jdisanti"

[[smithy-rs]]
message = "`RuntimeComponents` and `RuntimeComponentsBuilder` are now re-exported in generated clients so that implementing a custom interceptor or runtime plugin doens't require directly depending on `aws-smithy-runtime-api`."
references = ["smithy-rs#2904"]
meta = { "breaking" = false, "tada" = false, "bug" = false, "target" = "client"}
author = "jdisanti"

[[smithy-rs]]
message = "Fix incorrect summary docs for builders"
references = ["smithy-rs#2914", "aws-sdk-rust#825"]
meta = { "breaking" = false, "tada" = false, "bug" = true, "target" = "client" }
author = "rcoh"

[[aws-sdk-rust]]
message = "Fix requests to S3 with `no_credentials` set."
references = ["smithy-rs#2907", "aws-sdk-rust#864"]
meta = { "breaking" = false, "tada" = false, "bug" = true }
author = "jdisanti"
+7 −0
Original line number Diff line number Diff line
@@ -3,7 +3,14 @@
 * SPDX-License-Identifier: Apache-2.0
 */

// TODO(https://github.com/awslabs/smithy-rs/issues/2902): Code generate this documentation so that service-specific examples can be added.
//! Presigned request types and configuration.
//!
//! The [`Client`](crate::Client) is used to create presigned requests. They are made
//! by calling `.presigned()` instead of `.send()` on an operation, and require a
//! [`PresigningConfig`](crate::presigning::PresigningConfig) to provide an expiration time.
//!
//! Only operations that support presigning have the `presigned()` method on them.

use std::fmt;
use std::time::{Duration, SystemTime};
Loading