Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/msfjarvis/shared-workflows

Reusable GitHub Actions workflows
https://github.com/msfjarvis/shared-workflows

Last synced: about 1 month ago
JSON representation

Reusable GitHub Actions workflows

Awesome Lists containing this project

README

        

# 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)

Usage

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

### [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

Usage

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