Skip to content

refactor pipeline, expand tests, rewrite docs#3

Open
nz wants to merge 3 commits into
mainfrom
nz/pipeline-refactor-and-docs
Open

refactor pipeline, expand tests, rewrite docs#3
nz wants to merge 3 commits into
mainfrom
nz/pipeline-refactor-and-docs

Conversation

@nz

@nz nz commented Jul 14, 2026

Copy link
Copy Markdown
Member

Summary

  • Refactor — rename parser-helpers/filter-helpers to parse/resolve; extract nokogiri into gem-configs.nix; add transitive-dep expansion so build-time gems (e.g. mini_portile2) survive filtering; add warnIfNoPlatformGems for lockfiles missing precompiled variants.
  • Downstream ergonomicsgemfileEnv output now writes nix-support/setup-hook exporting GEM_PATH, so consumers get gems via standard buildInputs propagation instead of setting GEM_PATH manually. Also fixes a latent ruby ? ruby self-recursion.
  • Tests — new test-pipeline-logic.nix (555 lines), lockfile fixtures under test/fixtures/lockfiles/, and a platform-gems integration check wired into flake.checks.
  • Docs — Readme rewrite, new ARCHITECTURE.md and CONTRIBUTING.md, retires TESTING.md (folded in).

Test plan

  • nix flake check passes (unit + integration on aarch64-darwin)
  • nixfmt --check clean across lib/, test/, flake.nix
  • Integration test verifies the setup-hook path (no manual export GEM_PATH)
  • Verify on Linux (aarch64-linux / x86_64-linux) in CI

@nz
nz force-pushed the nz/pipeline-refactor-and-docs branch from 3277fca to a5f4e7b Compare July 14, 2026 16:57
Runs `nix flake check` on ubuntu-latest for every push to main and every
pull request. Uses DeterminateSystems' nix-installer plus magic-nix-cache
so incremental reruns don't rebuild every gem from source.

x86_64-linux only for now; darwin/aarch64 coverage can be layered on
later without changing this workflow's shape.
@nz nz mentioned this pull request Jul 14, 2026
3 tasks
Renames parser-helpers/filter-helpers to parse/resolve, extracts nokogiri
config into gem-configs.nix, adds transitive dep expansion so build-time
gems survive filtering, and adds a nix-support/setup-hook that exports
GEM_PATH so downstream flakes get it automatically via buildInputs.

Adds pipeline-logic tests (555 lines), lockfile fixtures, and a
platform-gems integration check wired into flake.checks.

Rewrites Readme, adds ARCHITECTURE.md and CONTRIBUTING.md, retires
TESTING.md (content folded into the two new docs).
@nz
nz force-pushed the nz/pipeline-refactor-and-docs branch from a5f4e7b to 13ebc91 Compare July 14, 2026 17:26
robsears
robsears previously approved these changes Jul 14, 2026
@nz
nz dismissed robsears’s stale review July 14, 2026 17:43

The merge-base changed after approval.

ASCII box-drawing renders inconsistently across viewers and can't be
rewritten by tools; the mermaid version is native on GitHub and edits
cleanly. File map stays plain text — mermaid doesn't have a good idiom
for a directory tree.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants