CI and Automation
This repo uses GitHub Actions for formatting, docs validation, site deployment, builds, package publishing, and update automation.
Main Workflows
check.yml: flake evaluation,jfmt, docs helper checks, and the pinned, offline Vale wrapper.docs.yml: build and deploy the VitePress docs site to GitHub Pages.build.yml: evaluate every supported custom package, build the non-heavy package batch, and push it to the cache.foundry.yml: foundry image builds and registry publishing. See foundry for what those outputs are.update.yml: scheduled flake input updates with PR automation.update_pkgs.yml: metadata-driven package update automation.mica.yml: publish index artifacts for mica.
Docs Quality Gates
Two separate docs-related checks exist in CI.
check.yml runs the local evaluation and docs guardrails:
nix flake check --no-build --no-write-lock-file
nix run .#scripts.check_doc_links
nix run .#scripts.check_readme_index
nix run .#scripts.check_valeThe Vale package includes its configured styles, so CI does not download prose-checking dependencies at runtime.
docs.yml builds the VitePress site itself:
cd docs
bun install --frozen-lockfile
bun run docs:buildPackage Evaluation and Updates
build.yml evaluates lib.customPackageDrvPaths.<system> before building packages. This catches constructor and dependency errors in heavy packages that are intentionally excluded from __j_custom, without building their full closures.
Packages opt into update_pkgs.yml by exposing passthru.updateScript. The workflow discovers the current package list from lib.autoUpdatePackages.x86_64-linux, excludes packages marked with meta.skipBuild, and opens one update pull request per package.
Set passthru.skipUpdate = true to exclude a package from automatic updates while keeping its passthru.updateScript available for manual use. Packages without this flag remain eligible for automatic updates.
Third-party GitHub Actions are pinned to commit SHAs. Dependabot continues to track their version updates.
Why This Matters
- catches docs drift and broken links early.
- proves the actual docs site still builds and deploys.
- validates key build surfaces on Linux and macOS.
- automates routine dependency/package maintenance.
Source
.github/workflows/*.yml