diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 2015ba6..b213ebc 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -1,6 +1,10 @@ name: Rust CI on: [push] +env: + CARGO_TERM_COLOR: always + TARGET: x86_64-unknown-linux-gnu + jobs: cargo-tests: runs-on: ubuntu-latest @@ -8,37 +12,42 @@ jobs: steps: - name: Checkout sources uses: actions/checkout@v3 - - name: Install Rust toolchain - uses: actions-rs/toolchain@v1 + - uses: dtolnay/rust-toolchain@nightly + with: + target: ${{ env.TARGET }} + - uses: taiki-e/setup-cross-toolchain-action@v1 with: - toolchain: nightly - profile: minimal - override: true + target: ${{ env.TARGET }} - uses: Swatinem/rust-cache@v1 with: cache-on-failure: true + - name: Install xsltproc + run: sudo apt-get install -y xsltproc + - uses: taiki-e/install-action@nextest - name: cargo test - run: cargo test --all --all-features + run: cargo nextest run --workspace --all --all-features --target ${{ env.TARGET }} cargo-lint: runs-on: ubuntu-latest timeout-minutes: 20 steps: - name: Checkout sources uses: actions/checkout@v3 - - name: Install Rust toolchain - uses: actions-rs/toolchain@v1 + - uses: dtolnay/rust-toolchain@nightly with: - toolchain: nightly - profile: minimal - components: rustfmt, clippy - override: true + target: ${{ env.TARGET }} + components: rustfmt + - uses: taiki-e/setup-cross-toolchain-action@v1 + with: + target: ${{ env.TARGET }} - uses: Swatinem/rust-cache@v1 with: cache-on-failure: true + - name: Install xsltproc + run: sudo apt-get install -y xsltproc - name: cargo fmt run: cargo +nightly fmt --all -- --check - name: cargo clippy - run: cargo +nightly clippy --all --all-features -- -D warnings + run: cargo +nightly clippy --workspace --all --all-features --target ${{ env.TARGET }} -- -D warnings cargo-build: runs-on: ubuntu-latest timeout-minutes: 20 @@ -46,12 +55,9 @@ jobs: steps: - name: Checkout sources uses: actions/checkout@v3 - - name: Install Rust toolchain - uses: actions-rs/toolchain@v1 + - uses: dtolnay/rust-toolchain@nightly with: - toolchain: nightly - profile: minimal - override: true + target: ${{ env.TARGET }} - uses: Swatinem/rust-cache@v1 with: cache-on-failure: true @@ -66,19 +72,21 @@ jobs: steps: - name: Checkout sources uses: actions/checkout@v3 - - name: Install Rust toolchain - uses: actions-rs/toolchain@v1 + - uses: dtolnay/rust-toolchain@nightly + with: + target: ${{ env.TARGET }} + - uses: taiki-e/setup-cross-toolchain-action@v1 with: - toolchain: nightly - profile: minimal - override: true + target: ${{ env.TARGET }} - uses: Swatinem/rust-cache@v1 with: cache-on-failure: true + - name: Install xsltproc + run: sudo apt-get install -y xsltproc - name: doclint id: build continue-on-error: true run: RUSTDOCFLAGS="-D warnings" cargo doc --all --no-deps --all-features --document-private-items - name: doctest - run: cargo test --doc --all --all-features + run: cargo test --doc --all --all-features --target ${{ env.TARGET }}