commit a59ea754318e21a91deaa14cbad63fcb11119282
parent 3d604fc1db58bd0e46936c68e78f9b5b6d172ec5
Author: triesap <tyson@radroots.org>
Date: Fri, 5 Jun 2026 19:51:51 -0700
ci: add workspace validation workflow
Diffstat:
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