Files
stack/dev/hooks/post-commit
kert 046fcb885b
Some checks failed
CI / skinny-install (aco) (push) Successful in 49s
CI / lint-test (push) Successful in 1m17s
CI / skinny-install (api) (push) Successful in 26s
CI / skinny-install (bib) (push) Successful in 30s
CI / skinny-install (bcda) (push) Successful in 35s
CI / skinny-install (bls) (push) Successful in 27s
CI / skinny-install (ccw) (push) Successful in 30s
CI / skinny-install (cli) (push) Successful in 28s
CI / skinny-install (cms) (push) Successful in 27s
CI / skinny-install (conf) (push) Successful in 29s
CI / skinny-install (opps) (push) Successful in 31s
CI / skinny-install (perf) (push) Successful in 30s
CI / skinny-install (pfs) (push) Successful in 32s
CI / skinny-install (rex) (push) Successful in 25s
CI / skinny-install (aco) (pull_request) Successful in 44s
CI / lint-test (pull_request) Successful in 1m12s
CI / skinny-install (api) (pull_request) Successful in 29s
CI / skinny-install (bcda) (pull_request) Successful in 31s
CI / skinny-install (bib) (pull_request) Successful in 28s
CI / skinny-install (bls) (pull_request) Successful in 26s
CI / skinny-install (ccw) (pull_request) Successful in 23s
CI / skinny-install (cli) (pull_request) Successful in 31s
CI / skinny-install (cms) (pull_request) Successful in 25s
CI / skinny-install (conf) (pull_request) Successful in 28s
CI / skinny-install (opps) (pull_request) Successful in 31s
CI / skinny-install (pfs) (pull_request) Successful in 35s
Infra CI / mc (push) Has been cancelled
Infra CI / notebooks (push) Has been cancelled
Infra CI / notebooks (pull_request) Failing after 1m26s
Package Supply Chain / pkg-supply-chain (push) Successful in 1m0s
CI / skinny-install (perf) (pull_request) Successful in 25s
CI / skinny-install (rex) (pull_request) Successful in 28s
Infra CI / zotero (push) Successful in 7s
Infra CI / docs (push) Failing after 9s
Infra CI / api (push) Successful in 9s
Infra CI / zotero (pull_request) Successful in 6s
Infra CI / docs (pull_request) Failing after 6s
Infra CI / api (pull_request) Successful in 6s
Infra CI / mc (pull_request) Successful in 5s
feat: sem.hooks — smart pre-commit with tracked hook architecture
Move pre-commit logic from shell into src/sem/hooks.py as a proper
Python module.  Shell hook (dev/hooks/pre-commit) is now a 3-line
wrapper.  git core.hooksPath points at dev/hooks/ so hooks are
version-controlled, not buried in .git/.

Smart test selection: only runs tests for changed src/ modules
(src/aco/ → tests/aco/), always includes structural invariants
(test_ast_coverage.py) on any src/ change, falls back to full
12k+ suite when infrastructure (conftest, pyproject.toml) changes.
Notebooks checked only when staged.

Force full suite: GIT_PRE_COMMIT_FULL=1 git commit

Also: register pytest 'stub' marker, move post-commit to tracked dir.
2026-03-26 17:21:11 -04:00

11 lines
335 B
Bash
Executable File

#!/usr/bin/env bash
# Rebuild docs image and restart container in the background.
# Runs after every commit so docs stay current with docstring
# and bib.sqlite changes.
(
cd "$(git rev-parse --show-toplevel)" || exit
docker build -q -t fhirworx/docs:latest -f docs/Dockerfile . \
&& docker compose up -d docs
) &>/dev/null &