67 lines
1.7 KiB
Markdown
67 lines
1.7 KiB
Markdown
# shared-workflows [![No Maintenance Intended](http://unmaintained.tech/badge.svg)](http://unmaintained.tech/)
|
|
|
|
GitHub Actions workflows I use across multiple projects, stored in a single place for reusability.
|
|
|
|
## Contents
|
|
|
|
### [Rust](.github/workflows/test-rust-project.yml)
|
|
|
|
- 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](https://nexte.st/)
|
|
- Lints dependencies using [cargo-deny](https://github.com/EmbarkStudios/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)
|
|
|
|
<details>
|
|
<summary>Usage</summary>
|
|
|
|
```yaml
|
|
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
|
|
```
|
|
|
|
</details>
|
|
|
|
### [Nix Flakes](.github/workflows/test-flakes-project.yml)
|
|
|
|
- Sets up [Nix](https://nixos.org) on a Linux runner
|
|
- Sets up [Cachix](https://cachix.org/) with my own binary cache
|
|
- Runs `nix flake check` to run all default checks exposed by the Flake
|
|
|
|
<details>
|
|
<summary>Usage</summary>
|
|
|
|
```yaml
|
|
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 }}
|
|
```
|
|
|
|
</details>
|