From 752dd1eec31ac7a8f6067840e8dfb5fb1abb29e4 Mon Sep 17 00:00:00 2001 From: Alexander Medvedev Date: Sun, 2 Mar 2025 12:28:04 +0100 Subject: [PATCH] Update rust.yml --- .github/workflows/rust.yml | 54 ++++++++++++++++++++------------------ 1 file changed, 28 insertions(+), 26 deletions(-) diff --git a/.github/workflows/rust.yml b/.github/workflows/rust.yml index 193c05eb1..4a1a2689d 100644 --- a/.github/workflows/rust.yml +++ b/.github/workflows/rust.yml @@ -12,69 +12,71 @@ jobs: format: name: Check formatting runs-on: ubuntu-latest - strategy: - matrix: - toolchain: - - stable steps: - uses: actions/checkout@v4 - - run: rustup update ${{ matrix.toolchain }} && rustup default ${{ matrix.toolchain }} - - uses: Swatinem/rust-cache@v2 + - uses: actions/setup-rust-toolchain@v1 + with: + toolchain: stable - run: cargo fmt --check + clippy: name: Run lints runs-on: ubuntu-latest - strategy: - matrix: - toolchain: - - stable steps: - uses: actions/checkout@v4 - - run: rustup update ${{ matrix.toolchain }} && rustup default ${{ matrix.toolchain }} + - uses: actions/setup-rust-toolchain@v1 + with: + toolchain: stable - uses: Swatinem/rust-cache@v2 - run: cargo clippy --all-targets --all-features + build_and_test: name: Build project and test runs-on: ${{ matrix.os }} strategy: matrix: os: [ubuntu-latest, windows-latest, macos-latest] - toolchain: - - stable steps: - uses: actions/checkout@v4 - - run: rustup update ${{ matrix.toolchain }} && rustup default ${{ matrix.toolchain }} + - uses: actions/setup-rust-toolchain@v1 + with: + toolchain: stable - uses: Swatinem/rust-cache@v2 - - run: cargo test --verbose + - run: cargo check --all-targets + - run: cargo test + - run: cargo install cargo-nextest + - run: cargo nextest run + build_release: name: Build project in release runs-on: ${{ matrix.os }} strategy: matrix: os: [ubuntu-latest, windows-latest, macos-latest] - toolchain: - - stable steps: - uses: actions/checkout@v4 - - - run: rustup update ${{ matrix.toolchain }} && rustup default ${{ matrix.toolchain }} + - uses: actions/setup-rust-toolchain@v1 + with: + toolchain: stable - uses: Swatinem/rust-cache@v2 - - run: cargo build --verbose --release + - run: cargo build --release --target ${{ matrix.target }} + - name: Strip binaries (Linux and macOS) + if: matrix.os == 'ubuntu-latest' || matrix.os == 'macos-latest' + run: strip target/${{ matrix.target }}/release/pumpkin* - name: Export executable uses: actions/upload-artifact@v4 with: - name: pumpkin-${{ matrix.os }} + name: pumpkin-${{ matrix.os }}-${{ matrix.target }} compression-level: 9 path: target/${{ matrix.target }}/release/pumpkin* + clippy_release: name: Run lints in release mode runs-on: ubuntu-latest - strategy: - matrix: - toolchain: - - stable steps: - uses: actions/checkout@v4 - - run: rustup update ${{ matrix.toolchain }} && rustup default ${{ matrix.toolchain }} + - uses: actions/setup-rust-toolchain@v1 + with: + toolchain: stable - uses: Swatinem/rust-cache@v2 - run: cargo clippy --release --all-targets --all-features