diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index 4d531646..9127ca19 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -40,7 +40,7 @@ jobs: - uses: giraffate/clippy-action@v1.0.1 with: - reporter: 'github-pr-check' + reporter: "github-pr-check" github_token: ${{ secrets.GITHUB_TOKEN }} clippy_flags: --workspace --all-features --tests --examples --bins -- -Dclippy::todo -Aunknown_lints @@ -67,3 +67,31 @@ jobs: - name: check external types run: just check-external-types-all +${{ vars.RUST_VERSION_EXTERNAL_TYPES }} + + public-api-diff: + name: Public API Diff + runs-on: ubuntu-latest + steps: + - name: Checkout main branch + uses: actions/checkout@v4 + with: + ref: ${{ github.base_ref }} + + - name: Checkout PR branch + uses: actions/checkout@v4 + + - name: Install Rust (${{ vars.RUST_VERSION_API_DIFF }}) + uses: actions-rust-lang/setup-rust-toolchain@v1.8.0 + with: + toolchain: ${{ vars.RUST_VERSION_API_DIFF }} + + - name: Install cargo-public-api + uses: taiki-e/install-action@v2.34.0 + with: + tool: cargo-public-api + + - name: Generate API diff + run: | + for f in $(find -mindepth 2 -maxdepth 2 -name Cargo.toml); do + cargo public-api --manifest-path "$f" --simplified diff ${{ github.event.pull_request.base.sha }}..${{ github.sha }} + done diff --git a/Cargo.toml b/Cargo.toml index ef42a73b..3ff0b548 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -17,7 +17,7 @@ members = [ [workspace.package] license = "MIT OR Apache-2.0" edition = "2021" -rust-version = "1.71" +rust-version = "1.71.1" [patch.crates-io] actix-codec = { path = "actix-codec" } diff --git a/bytestring/src/lib.rs b/bytestring/src/lib.rs index 4040401b..1108c449 100644 --- a/bytestring/src/lib.rs +++ b/bytestring/src/lib.rs @@ -506,13 +506,13 @@ mod test { } #[test] - #[should_panic] + #[should_panic = "byte index 1 is not a char boundary;"] fn split_at_invalid_code_point() { ByteString::from_static("ยต").split_at(1); } #[test] - #[should_panic] + #[should_panic = "byte index 9 is out of bounds"] fn split_at_outside_string() { ByteString::from_static("foo").split_at(9); }