From 2de700733370b22797ff71667f68c119951c3194 Mon Sep 17 00:00:00 2001 From: Crash Over Burn Date: Wed, 15 Apr 2026 00:54:46 +0000 Subject: Add bisect_ppx test coverage infrastructure with CI workflow and test suites Integrate bisect_ppx for code coverage across the test suite: - Add bisect_ppx instrumentation to lib/dune and test/dune - Add bisect_ppx dependency to dune-project, nixtamal.opam, and nix/package/nixtamal.nix - Create bisect.yml configuration for HTML and text coverage reports - Add .github/workflows/coverage.yml for CI-based coverage reporting - Fix flake.nix devShell to include checkInputs for full development environment - Add coverage checks to flake.nix checks output New test suites for recently ported features: - test/test_upgrade.ml: Tests for schema upgrade command (backup, dry-run, version validation) - test/test_fossil.ml: Tests for Fossil VCS codec and lockfile roundtrips - test/test_lockfile.ml: Tests for lockfile auto-creation and serialization - test/test_main.ml: Register all new test suites Documentation updates: - AGENTS.md: Add contact info (website, XMPP MUC), note llm/ folder is gitignored - README.asciidoc: Add website link, mention Fossil VCS, schema versioning, upgrade command - .gitignore: Add _build/ and _coverage/ directories Covers testing for previously ported features: schema upgrade, Fossil VCS support, and lockfile auto-creation. --- README.asciidoc | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'README.asciidoc') diff --git a/README.asciidoc b/README.asciidoc index 607f02e..921e96e 100644 --- a/README.asciidoc +++ b/README.asciidoc @@ -9,6 +9,7 @@ /nɪks.təˈmal/ ("nix-tamal") Maker:: toastal +Website:: https://nixtamal.tech (launching soon) Put out:: 2026 @@ -30,7 +31,7 @@ Nixtamal is a tool to pin input version like its predecessors niv, npins, Pinch, * keeps a stable reference pin to supported VCSs * supports mirrors for fetching [1] -* supports patch-based VCSs, like Pijul & Darcs, in a first-class sense (tho nixpkgs will be required due to Nix builtins fetchers limitations) +* supports patch-based VCSs, like Pijul, Darcs, & Fossil, in a first-class sense (tho nixpkgs will be required due to Nix builtins fetchers limitations) * uses a KDL manifest file with templating instead of CLI input * supports arbitrary commands for getting the latest change for inputs * refreshes inputs; skips frozen @@ -40,6 +41,7 @@ Nixtamal is a tool to pin input version like its predecessors niv, npins, Pinch, * source code & community will never be hosted on a proprietary, privacy-invasive, megacorporate platform with obligations to shareholders or venture capital * licensed for your freedom * ML-family programming (feels closer to Nix) +* supports schema versioning for manifests and lockfiles Future goals (planned but not yet implemented): @@ -136,6 +138,7 @@ Opens text editor. & After editing … ---- $ nixtamal lock $ nixtamal refresh +$ nixtamal upgrade ---- === What next? @@ -305,6 +308,8 @@ For details read LICENSE.txt with full license texts at license/. Currently this is best done by sending a patchset to toastal+nixtamal@posteo.net or DM me a remote to clone @ toastal@toastal.in.th. +Website: https://nixtamal.tech + Community is in an XMPP MUC (chatroom) with future hopes to have an IRC gateway. Join @ xmpp:nixtamal@chat.toastal.in.th?join. Additionally, please read the PITCHING_IN.rst file for other information/expectations. -- cgit v1.2.3