diff --git a/.github/workflows/bench.yml b/.github/workflows/bench.yml index 3d16a7eb7..a1a31fb8d 100644 --- a/.github/workflows/bench.yml +++ b/.github/workflows/bench.yml @@ -6,7 +6,11 @@ on: - master 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: check_benchmark: diff --git a/.github/workflows/ci-post-merge.yml b/.github/workflows/ci-post-merge.yml index 30d13bf88..6ca17ef63 100644 --- a/.github/workflows/ci-post-merge.yml +++ b/.github/workflows/ci-post-merge.yml @@ -5,7 +5,11 @@ on: branches: [master] 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: build_and_test_nightly: @@ -81,7 +85,7 @@ jobs: - name: Clear the cargo caches 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 ci_feature_powerset_check: diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 88353fd30..f8867ce22 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -9,6 +9,10 @@ on: permissions: contents: read # to fetch code (actions/checkout) +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + jobs: build_and_test: strategy: @@ -91,7 +95,7 @@ jobs: - name: Clear the cargo caches 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 io-uring: @@ -110,10 +114,8 @@ jobs: - name: tests (io-uring) timeout-minutes: 60 run: > - 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" + 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" + rustdoc: name: doc tests diff --git a/.github/workflows/clippy-fmt.yml b/.github/workflows/clippy-fmt.yml index 877ca74e4..90e3b3a98 100644 --- a/.github/workflows/clippy-fmt.yml +++ b/.github/workflows/clippy-fmt.yml @@ -4,28 +4,42 @@ on: pull_request: types: [opened, synchronize, reopened] +permissions: + contents: read # to fetch code (actions/checkout) + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + jobs: fmt: runs-on: ubuntu-latest steps: - 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 clippy: + permissions: + checks: write # to add clippy checks to PR diffs + runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - - uses: dtolnay/rust-toolchain@stable + - uses: actions-rust-lang/setup-rust-toolchain@v1 with: { components: clippy } - name: Generate Cargo.lock run: cargo generate-lockfile - name: Cache Dependencies uses: Swatinem/rust-cache@v1.2.0 - + - name: Check with Clippy uses: actions-rs/clippy-check@v1 with: @@ -37,13 +51,30 @@ jobs: steps: - uses: actions/checkout@v3 - - uses: dtolnay/rust-toolchain@stable + - uses: actions-rust-lang/setup-rust-toolchain@v1 with: { components: rust-docs } - name: Check for broken intra-doc links - uses: actions-rs/cargo@v1 - env: - RUSTDOCFLAGS: "-D warnings" + env: { RUSTDOCFLAGS: "-D warnings" } + run: cargo doc --no-deps --all-features --workspace + + public-api-diff: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 with: - command: doc - args: --no-deps --all-features --workspace + ref: ${{ github.base_ref }} + + - 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 diff --git a/.github/workflows/coverage.yml b/.github/workflows/coverage.yml index bb6d7fb97..11538c3d6 100644 --- a/.github/workflows/coverage.yml +++ b/.github/workflows/coverage.yml @@ -6,6 +6,13 @@ on: push: branches: [master] +permissions: + contents: read # to fetch code (actions/checkout) + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + jobs: # job currently (1st Feb 2022) segfaults coverage: diff --git a/.github/workflows/upload-doc.yml b/.github/workflows/upload-doc.yml index 2464ebcd6..743e14412 100644 --- a/.github/workflows/upload-doc.yml +++ b/.github/workflows/upload-doc.yml @@ -4,11 +4,17 @@ on: push: branches: [master] -permissions: {} +permissions: + contents: read # to fetch code (actions/checkout) + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + jobs: build: 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