1
0
Fork 0
mirror of https://github.com/actix/actix-web.git synced 2024-06-13 02:39:32 +00:00

add API diff to CI (#3002)

This commit is contained in:
Rob Ede 2023-03-15 13:32:55 +00:00 committed by GitHub
parent 0f3068f488
commit e68f87f84f
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
6 changed files with 74 additions and 20 deletions

View file

@ -6,7 +6,11 @@ on:
- master - master
permissions: permissions:
contents: read # to fetch code (actions/checkout) contents: read # to fetch code (actions/checkout)
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs: jobs:
check_benchmark: check_benchmark:

View file

@ -5,7 +5,11 @@ on:
branches: [master] branches: [master]
permissions: permissions:
contents: read # to fetch code (actions/checkout) contents: read # to fetch code (actions/checkout)
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs: jobs:
build_and_test_nightly: build_and_test_nightly:
@ -81,7 +85,7 @@ jobs:
- name: Clear the cargo caches - name: Clear the cargo caches
run: | run: |
cargo install cargo-cache --version 0.8.2 --no-default-features --features ci-autoclean cargo install cargo-cache --version 0.8.3 --no-default-features --features ci-autoclean
cargo-cache cargo-cache
ci_feature_powerset_check: ci_feature_powerset_check:

View file

@ -9,6 +9,10 @@ on:
permissions: permissions:
contents: read # to fetch code (actions/checkout) contents: read # to fetch code (actions/checkout)
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs: jobs:
build_and_test: build_and_test:
strategy: strategy:
@ -91,7 +95,7 @@ jobs:
- name: Clear the cargo caches - name: Clear the cargo caches
run: | run: |
cargo install cargo-cache --version 0.8.2 --no-default-features --features ci-autoclean cargo install cargo-cache --version 0.8.3 --no-default-features --features ci-autoclean
cargo-cache cargo-cache
io-uring: io-uring:
@ -110,10 +114,8 @@ jobs:
- name: tests (io-uring) - name: tests (io-uring)
timeout-minutes: 60 timeout-minutes: 60
run: > run: >
sudo bash -c "ulimit -Sl 512 sudo bash -c "ulimit -Sl 512 && ulimit -Hl 512 && PATH=$PATH:/usr/share/rust/.cargo/bin && RUSTUP_TOOLCHAIN=stable cargo test --lib --tests -p=actix-files --all-features"
&& ulimit -Hl 512
&& PATH=$PATH:/usr/share/rust/.cargo/bin
&& RUSTUP_TOOLCHAIN=stable cargo test --lib --tests -p=actix-files --all-features"
rustdoc: rustdoc:
name: doc tests name: doc tests

View file

@ -4,28 +4,42 @@ on:
pull_request: pull_request:
types: [opened, synchronize, reopened] types: [opened, synchronize, reopened]
permissions:
contents: read # to fetch code (actions/checkout)
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs: jobs:
fmt: fmt:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/checkout@v3 - uses: actions/checkout@v3
- uses: dtolnay/rust-toolchain@nightly
with: { components: rustfmt } - uses: actions-rust-lang/setup-rust-toolchain@v1
with:
toolchain: nightly
components: rustfmt
- run: cargo fmt --all -- --check - run: cargo fmt --all -- --check
clippy: clippy:
permissions:
checks: write # to add clippy checks to PR diffs
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/checkout@v3 - uses: actions/checkout@v3
- uses: dtolnay/rust-toolchain@stable - uses: actions-rust-lang/setup-rust-toolchain@v1
with: { components: clippy } with: { components: clippy }
- name: Generate Cargo.lock - name: Generate Cargo.lock
run: cargo generate-lockfile run: cargo generate-lockfile
- name: Cache Dependencies - name: Cache Dependencies
uses: Swatinem/rust-cache@v1.2.0 uses: Swatinem/rust-cache@v1.2.0
- name: Check with Clippy - name: Check with Clippy
uses: actions-rs/clippy-check@v1 uses: actions-rs/clippy-check@v1
with: with:
@ -37,13 +51,30 @@ jobs:
steps: steps:
- uses: actions/checkout@v3 - uses: actions/checkout@v3
- uses: dtolnay/rust-toolchain@stable - uses: actions-rust-lang/setup-rust-toolchain@v1
with: { components: rust-docs } with: { components: rust-docs }
- name: Check for broken intra-doc links - name: Check for broken intra-doc links
uses: actions-rs/cargo@v1 env: { RUSTDOCFLAGS: "-D warnings" }
env: run: cargo doc --no-deps --all-features --workspace
RUSTDOCFLAGS: "-D warnings"
public-api-diff:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
with: with:
command: doc ref: ${{ github.base_ref }}
args: --no-deps --all-features --workspace
- uses: actions/checkout@v3
- uses: actions-rust-lang/setup-rust-toolchain@v1
with: { toolchain: nightly }
- uses: taiki-e/cache-cargo-install-action@v1
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" diff ${{ github.event.pull_request.base.sha }}..${{ github.sha }}
done

View file

@ -6,6 +6,13 @@ on:
push: push:
branches: [master] branches: [master]
permissions:
contents: read # to fetch code (actions/checkout)
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs: jobs:
# job currently (1st Feb 2022) segfaults # job currently (1st Feb 2022) segfaults
coverage: coverage:

View file

@ -4,11 +4,17 @@ on:
push: push:
branches: [master] branches: [master]
permissions: {} permissions:
contents: read # to fetch code (actions/checkout)
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs: jobs:
build: build:
permissions: permissions:
contents: write # to push changes in repo (jamesives/github-pages-deploy-action) contents: write # to push changes in repo (jamesives/github-pages-deploy-action)
runs-on: ubuntu-latest runs-on: ubuntu-latest