shared-workflows/README.md

1.7 KiB

shared-workflows No Maintenance Intended

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 }}