Skip to content

Merge pull request #306 from matthiasbeyer/update-flake #813

Merge pull request #306 from matthiasbeyer/update-flake

Merge pull request #306 from matthiasbeyer/update-flake #813

Workflow file for this run

name: CI
on:
push:
branches: [master, staging, trying, release-*]
pull_request:
branches: [master, release-*]
env:
CARGO_TERM_COLOR: always
jobs:
check:
name: check
runs-on: ubuntu-latest
strategy:
matrix:
rust:
- 1.75.0
- stable
- beta
# - nightly
# required because we have a different toolchain than {{ matrix.rust }} in
# rust-toolchain.toml, which we use for the flake.nix
env:
RUSTUP_TOOLCHAIN: ${{ matrix.rust }}
steps:
- name: Checkout sources
uses: actions/checkout@v4
- name: Install toolchain
uses: dtolnay/rust-toolchain@master
with:
toolchain: ${{ matrix.rust }}
- uses: swatinem/rust-cache@v2
- name: cargo-check
run: cargo check
fmt:
name: format
runs-on: ubuntu-latest
# required because we have a different toolchain in
# rust-toolchain.toml, which we use for the flake.nix
env:
RUSTUP_TOOLCHAIN: 1.75.0
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@master
with:
toolchain: 1.75.0
components: rustfmt
- name: cargo-fmt
run: cargo fmt -- --check
test:
name: test
runs-on: ubuntu-latest
strategy:
matrix:
rust:
- 1.75.0
- stable
- beta
# - nightly
# required because we have a different toolchain than {{ matrix.rust }} in
# rust-toolchain.toml, which we use for the flake.nix
env:
RUSTUP_TOOLCHAIN: ${{ matrix.rust }}
steps:
- name: Checkout sources
uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@master
with:
toolchain: ${{ matrix.rust }}
- uses: swatinem/rust-cache@v2
- name: cargo-test
run: cargo test --all --all-features
clippy:
name: clippy
runs-on: ubuntu-latest
# required because we have a different toolchain in
# rust-toolchain.toml, which we use for the flake.nix
env:
RUSTUP_TOOLCHAIN: 1.75.0
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@master
with:
toolchain: 1.75.0
components: clippy
- uses: swatinem/rust-cache@v2
- name: cargo-clippy
run: cargo clippy --all --all-targets --all-features -- -D warnings
nix-checks:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: cachix/install-nix-action@V27
with:
nix_path: nixpkgs=channel:nixos-unstable
- uses: cachix/cachix-action@v15
with:
name: cargo-changelog
# If you chose API tokens for write access OR if you have a private cache
authToken: '${{ secrets.CACHIX_AUTH_TOKEN }}'
- run: nix --extra-experimental-features "nix-command flakes" flake check
# We need some "accummulation" job here because bors fails (timeouts) to
# listen on matrix builds.
# Hence, we have some kind of dummy here that bors can listen on
ci-success:
name: CI
if: ${{ success() }}
needs:
- check
- nix-checks
- clippy
- fmt
- test
runs-on: ubuntu-latest
steps:
- name: CI succeeded
run: exit 0