diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index f70166fb7f..a8eeed6935 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -1,117 +1,117 @@ name: CI on: - push: - branches: [main] - pull_request: + push: + branches: [main] + pull_request: env: - CARGO_TERM_COLOR: always + CARGO_TERM_COLOR: always jobs: - test: - name: test ${{ matrix.rust }} ${{ matrix.flags }} - runs-on: ubuntu-latest - timeout-minutes: 30 - strategy: - fail-fast: false - matrix: - rust: ["stable", "beta", "nightly", "1.65"] # MSRV - flags: ["--no-default-features", "", "--all-features"] - steps: - - uses: actions/checkout@v3 - - uses: dtolnay/rust-toolchain@master - with: - toolchain: ${{ matrix.rust }} - - uses: Swatinem/rust-cache@v2 - with: - cache-on-failure: true - # Only run tests on latest stable and above - - name: build - if: ${{ matrix.rust == '1.65' }} # MSRV - run: cargo build --workspace ${{ matrix.flags }} - - name: test - if: ${{ matrix.rust != '1.65' }} # MSRV - run: cargo test --workspace ${{ matrix.flags }} + test: + name: test ${{ matrix.rust }} ${{ matrix.flags }} + runs-on: ubuntu-latest + timeout-minutes: 30 + strategy: + fail-fast: false + matrix: + rust: ["stable", "beta", "nightly", "1.65"] # MSRV + flags: ["--no-default-features", "", "--all-features"] + steps: + - uses: actions/checkout@v4 + - uses: dtolnay/rust-toolchain@master + with: + toolchain: ${{ matrix.rust }} + - uses: Swatinem/rust-cache@v2 + with: + cache-on-failure: true + # Only run tests on latest stable and above + - name: build + if: ${{ matrix.rust == '1.65' }} # MSRV + run: cargo build --workspace ${{ matrix.flags }} + - name: test + if: ${{ matrix.rust != '1.65' }} # MSRV + run: cargo test --workspace ${{ matrix.flags }} - miri: - name: miri ${{ matrix.flags }} - runs-on: ubuntu-latest - timeout-minutes: 30 - strategy: - fail-fast: false - matrix: - flags: ["--no-default-features", "", "--all-features"] - env: - MIRIFLAGS: -Zmiri-strict-provenance - steps: - - uses: actions/checkout@v3 - - uses: dtolnay/rust-toolchain@miri - - uses: Swatinem/rust-cache@v2 - with: - cache-on-failure: true - - run: cargo miri setup ${{ matrix.flags }} - - run: cargo miri test ${{ matrix.flags }} + miri: + name: miri ${{ matrix.flags }} + runs-on: ubuntu-latest + timeout-minutes: 30 + strategy: + fail-fast: false + matrix: + flags: ["--no-default-features", "", "--all-features"] + env: + MIRIFLAGS: -Zmiri-strict-provenance + steps: + - uses: actions/checkout@v4 + - uses: dtolnay/rust-toolchain@miri + - uses: Swatinem/rust-cache@v2 + with: + cache-on-failure: true + - run: cargo miri setup ${{ matrix.flags }} + - run: cargo miri test ${{ matrix.flags }} - wasm: - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - uses: actions/checkout@v3 - - uses: dtolnay/rust-toolchain@stable - with: - targets: wasm32-unknown-unknown - - uses: Swatinem/rust-cache@v2 - with: - cache-on-failure: true - - name: check - run: cargo check --workspace --target wasm32-unknown-unknown + wasm: + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - uses: actions/checkout@v4 + - uses: dtolnay/rust-toolchain@stable + with: + targets: wasm32-unknown-unknown + - uses: Swatinem/rust-cache@v2 + with: + cache-on-failure: true + - name: check + run: cargo check --workspace --target wasm32-unknown-unknown - feature-checks: - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - uses: actions/checkout@v3 - - uses: dtolnay/rust-toolchain@stable - - uses: taiki-e/install-action@cargo-hack - - uses: Swatinem/rust-cache@v2 - with: - cache-on-failure: true - - name: cargo hack - run: cargo hack check --feature-powerset --depth 2 + feature-checks: + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - uses: actions/checkout@v4 + - uses: dtolnay/rust-toolchain@stable + - uses: taiki-e/install-action@cargo-hack + - uses: Swatinem/rust-cache@v2 + with: + cache-on-failure: true + - name: cargo hack + run: cargo hack check --feature-powerset --depth 2 - clippy: - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - uses: actions/checkout@v3 - - uses: dtolnay/rust-toolchain@clippy - - uses: Swatinem/rust-cache@v2 - with: - cache-on-failure: true - - run: cargo clippy --workspace --all-targets --all-features - env: - RUSTFLAGS: -Dwarnings + clippy: + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - uses: actions/checkout@v4 + - uses: dtolnay/rust-toolchain@clippy + - uses: Swatinem/rust-cache@v2 + with: + cache-on-failure: true + - run: cargo clippy --workspace --all-targets --all-features + env: + RUSTFLAGS: -Dwarnings - docs: - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - uses: actions/checkout@v3 - - uses: dtolnay/rust-toolchain@nightly - - uses: Swatinem/rust-cache@v2 - with: - cache-on-failure: true - - run: cargo doc --workspace --all-features --no-deps --document-private-items - env: - RUSTDOCFLAGS: "--cfg docsrs -D warnings" + docs: + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - uses: actions/checkout@v4 + - uses: dtolnay/rust-toolchain@nightly + - uses: Swatinem/rust-cache@v2 + with: + cache-on-failure: true + - run: cargo doc --workspace --all-features --no-deps --document-private-items + env: + RUSTDOCFLAGS: "--cfg docsrs -D warnings" - fmt: - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - uses: actions/checkout@v3 - - uses: dtolnay/rust-toolchain@nightly - with: - components: rustfmt - - run: cargo fmt --all --check + fmt: + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - uses: actions/checkout@v4 + - uses: dtolnay/rust-toolchain@nightly + with: + components: rustfmt + - run: cargo fmt --all --check diff --git a/.github/workflows/deps.yml b/.github/workflows/deps.yml index 9df7e56434..30bd2a2302 100644 --- a/.github/workflows/deps.yml +++ b/.github/workflows/deps.yml @@ -1,18 +1,18 @@ name: deps on: - push: - branches: [main] - pull_request: - branches: [main] - schedule: [cron: "00 00 * * *"] + push: + branches: [main] + pull_request: + branches: [main] + schedule: [cron: "00 00 * * *"] jobs: - cargo-deny: - name: cargo deny check - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v3 - - uses: EmbarkStudios/cargo-deny-action@v1 - with: - command: check all + cargo-deny: + name: cargo deny check + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: EmbarkStudios/cargo-deny-action@v1 + with: + command: check all