Skip to content

chore(ci): bootstrap bashunit via bashdep and tighten Makefile DX - #67

Merged
Chemaclass merged 2 commits into
mainfrom
dx/zero-step-bootstrap
Sep 25, 2026
Merged

Chemaclass merged 2 commits into
mainfrom
dx/zero-step-bootstrap

Conversation

@Chemaclass

Copy link
Copy Markdown
Owner

Why

A fresh clone needed make deps before make test worked. make tset exited 0 and did nothing. make deps pulled bashunit through a remote installer on every run, in a repo whose whole job is installing bash deps.

What

  • .bashdep pins bashunit 0.45.0 with #sha256=. install-dependencies.sh installs it with bashdep itself. Re-runs skip.
  • make test installs bashunit on first run, and again when .bashdep changes.
  • make lists targets from ## comments in the Makefile, so help can't drift.
  • Mistyped targets fail. The catch-all only applies to release and release/dry-run.
  • make pre_commit/install links the hook instead of copying it, and resolves the hooks dir with git rev-parse --git-path hooks.
  • CI cache key and change filters now track .bashdep.
  • Removed unused OS detection and dead variables.

To bump bashunit now, edit the URL and #sha256= in .bashdep. The BASHUNIT_VERSION override is gone.

Test plan

  • rm -rf lib && make test: installs bashunit, 252 tests pass
  • Second make test: no reinstall
  • make tset: No rule to make target, exit 2
  • make release/dry-run 9.9.9 still passes the version through
  • /bin/bash install-dependencies.sh on bash 3.2
  • make check green

- Add .bashdep pinning bashunit 0.45.0 with #sha256=; install-dependencies.sh
  now installs it with bashdep itself instead of a remote installer.
- make test installs bashunit on first run and when .bashdep changes.
- make lists targets from ## comments; mistyped targets now fail instead
  of being swallowed by the release catch-all.
- pre_commit/install links the hook so bin/pre-commit edits apply.
- Drop unused OS detection and dead variables.
@Chemaclass
Chemaclass merged commit 48067cf into main Sep 25, 2026
6 checks passed
@Chemaclass
Chemaclass deleted the dx/zero-step-bootstrap branch September 25, 2026 10:03
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.

1 participant