chore(build): bump rust toolchain to 1.96.0 and update dependencies #151
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: CI | |
| on: | |
| pull_request: | |
| push: | |
| branches: [main] | |
| concurrency: | |
| group: ci-${{ github.ref }} | |
| cancel-in-progress: true | |
| env: | |
| CARGO_TERM_COLOR: always | |
| jobs: | |
| precheck: | |
| name: Precheck (fmt + clippy + test + i18n/icons/themes) | |
| runs-on: ubuntu-22.04 | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - name: Install nightly rustfmt | |
| run: rustup toolchain install nightly --profile minimal --component rustfmt | |
| - name: Install clippy for the pinned stable toolchain | |
| # rust-toolchain.toml pins the stable channel, and rustup auto-installs | |
| # cargo/rustc on first use — but clippy is *not* auto-fetched, so the | |
| # `cargo clippy` step in scripts/precheck.sh fails on a fresh runner. | |
| # `rustup show active-toolchain` triggers the auto-install of the pinned | |
| # toolchain, then we add clippy to it explicitly. | |
| run: | | |
| rustup show active-toolchain | |
| rustup component add clippy | |
| - name: Install Linux system dependencies | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get install -y \ | |
| pkg-config \ | |
| libatk1.0-dev \ | |
| libgtk-3-dev \ | |
| libgdk-pixbuf2.0-dev \ | |
| libcairo2-dev \ | |
| libpango1.0-dev \ | |
| libxdo-dev \ | |
| libxkbcommon-x11-dev | |
| - uses: actions/setup-python@v5 | |
| with: | |
| python-version: "3.x" | |
| - name: Cache cargo registry & target | |
| uses: Swatinem/rust-cache@v2 | |
| - name: Install cargo-machete | |
| uses: taiki-e/install-action@v2 | |
| with: | |
| tool: cargo-machete | |
| - name: Run precheck (CI mode) | |
| run: ./scripts/precheck.sh --check | |
| cross-build: | |
| name: Cross-platform build (${{ matrix.os }}) | |
| needs: precheck | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| os: [macos-latest, windows-latest] | |
| runs-on: ${{ matrix.os }} | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - name: Cache cargo registry & target | |
| uses: Swatinem/rust-cache@v2 | |
| - name: cargo build | |
| run: cargo build --all-targets --all-features |