5dfd786556 | ||
---|---|---|
.github | ||
renovate | ||
README.md |
README.md
shared-workflows
GitHub Actions workflows I use across multiple projects, stored in a single place for reusability.
Contents
Rust
- Runs checks across 3 operating systems (Linux, macOS, and Windows) and 3 Rust channels (Beta, Nightly, and Stable).
- Validates source code formatting
- Lints source code using Clippy
- Runs tests using cargo-nextest
- Lints dependencies using cargo-deny
- Can install packages on Linux runners using APT for crates that do dynamic linking
- Checks that the crate compiles against its MSRV (
1.57.0
by default)
Usage
on:
push:
branches:
- main
- renovate/**
pull_request:
branches:
- main
name: Check Rust code
jobs:
check:
uses: msfjarvis/shared-workflows/.github/workflows/test-rust-project.yml@main
Nix Flakes
- Sets up Nix on a Linux runner
- Sets up Cachix with my own binary cache
- Runs
nix flake check
to run all default checks exposed by the Flake
Usage
on:
push:
branches:
- main
- renovate/**
pull_request:
branches:
- main
name: Check Rust code
jobs:
check:
uses: msfjarvis/shared-workflows/.github/workflows/test-flakes-project.yml@main
secrets:
github-token: ${{ secrets.GITHUB_TOKEN }}
cachix-token: ${{ secrets.CACHIX_AUTH_TOKEN }}