Skip to content
This repository was archived by the owner on Jul 17, 2023. It is now read-only.

Latest commit

 

History

History
36 lines (30 loc) · 1.55 KB

File metadata and controls

36 lines (30 loc) · 1.55 KB

Nix + GitHub Actions

Note: this repo is discussed in Streamline your GitHub Actions dependencies using Nix on the Determinate Systems blog.

This repo houses an example project that shows you how to use Nix to replace (some) third-party Actions in your GitHub Actions CI pipelines. The build artifact in the repo is a simple "TODOs" web server written in Rust. The CI pipeline does several things:

  • Checks the Rust formatting using rustfmt
  • Audits the Rust code using cargo-deny
  • Checks the repo's files for EditorConfig conformance
  • Spellchecks the repo's files using codespell
  • Runs the service's tests
  • Builds an executable for the service

But different from most repos, there are two separate pipelines here that accomplish the same thing:

  • no-nix.yml configures a pipeline that uses third-party Actions for all CI logic.
  • nix.yml configures a pipeline that replaces most third-party Actions with straightforward shell commands.