Track the source-of-truth code, skills, bootstrap rules, docs, and packaging files before adding new features. Exclude local vault config, generated skill mirrors, temporary exports, virtual environments, and business data files from version control. Validation: inspected staged file list and git ignored status before commit.
30 lines
980 B
YAML
30 lines
980 B
YAML
name: setup
|
|
|
|
# Guards setup.sh against the regression where it rewrites committed
|
|
# relative symlinks with absolute paths (or any other modification to
|
|
# tracked files). See #52 for the original bug.
|
|
|
|
on:
|
|
push:
|
|
branches: [main]
|
|
pull_request:
|
|
|
|
jobs:
|
|
install-leaves-tree-clean:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- name: Run setup.sh
|
|
# stdin closed so the vault-path prompt returns empty rather than hang
|
|
run: bash setup.sh < /dev/null
|
|
- name: Working tree must be unchanged
|
|
run: |
|
|
if ! git diff --exit-code; then
|
|
echo "::error::setup.sh modified tracked files. Likely cause: an" \
|
|
"in-repo symlink mirror is being written with an absolute" \
|
|
"target instead of a relative one. See install_skills() in setup.sh."
|
|
exit 1
|
|
fi
|
|
- name: Re-run is idempotent
|
|
run: bash setup.sh < /dev/null && git diff --exit-code
|