tangle


git clone https://radroots.dev/git/tangle.git
Log | Files | Refs | README | LICENSE

commit a59ea754318e21a91deaa14cbad63fcb11119282
parent 3d604fc1db58bd0e46936c68e78f9b5b6d172ec5
Author: triesap <tyson@radroots.org>
Date:   Fri,  5 Jun 2026 19:51:51 -0700

ci: add workspace validation workflow

Diffstat:
Mflake.nix | 19+++++++++++++++----
Ascripts/ci.sh | 7+++++++
2 files changed, 22 insertions(+), 4 deletions(-)

diff --git a/flake.nix b/flake.nix @@ -16,6 +16,12 @@ ]; forAllSystems = nixpkgs.lib.genAttrs systems; mkPkgs = system: import nixpkgs { inherit system; }; + coverageEnvironment = '' + LLVM_COV="$(command -v llvm-cov)" + LLVM_PROFDATA="$(command -v llvm-profdata)" + export LLVM_COV + export LLVM_PROFDATA + ''; mkScript = pkgs: name: text: pkgs.writeShellApplication { @@ -56,12 +62,13 @@ cargo nextest run --workspace ''; coverage = mkScript pkgs "tangle-coverage" '' - LLVM_COV="$(command -v llvm-cov)" - LLVM_PROFDATA="$(command -v llvm-profdata)" - export LLVM_COV - export LLVM_PROFDATA + ${coverageEnvironment} scripts/coverage.sh ''; + ci = mkScript pkgs "tangle-ci" '' + ${coverageEnvironment} + scripts/ci.sh + ''; in { check = { @@ -76,6 +83,10 @@ type = "app"; program = "${coverage}/bin/tangle-coverage"; }; + ci = { + type = "app"; + program = "${ci}/bin/tangle-ci"; + }; } ); }; diff --git a/scripts/ci.sh b/scripts/ci.sh @@ -0,0 +1,7 @@ +#!/usr/bin/env bash +set -euo pipefail + +scripts/check.sh +scripts/test.sh +cargo nextest run --workspace +scripts/coverage.sh