Repository navigation
fix(bcs): check the five unchecked state-changing commands #30
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: CI | |
| on: | |
| push: | |
| branches: [main] | |
| pull_request: | |
| # `make test-fast` skips the LLM fixture suite (tests/test-check-fixtures.sh), | |
| # which needs a reachable backend, so CI requires no API keys and incurs no | |
| # cost. The env var also covers the standalone self-compliance step. | |
| env: | |
| BCS_SKIP_FIXTURES: '1' | |
| jobs: | |
| test: | |
| name: shellcheck + tests | |
| runs-on: ubuntu-24.04 # ships Bash 5.2 (BCS targets 5.2+) | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v5 | |
| - name: Install shellcheck + jq | |
| run: sudo apt-get update && sudo apt-get install -y shellcheck jq | |
| - name: Tool versions | |
| run: | | |
| bash --version | head -1 | |
| shellcheck --version | |
| jq --version | |
| - name: ShellCheck (CLI + shims + tests + fixtures + accuracy) | |
| # Gate on warning+ severity. info/style codes (SC2015 on intentional | |
| # `cmd && {..} ||:`, SC2317 on mocked builtins in tests) are advisory | |
| # and vary by shellcheck version; bcs + shims stay clean at all levels. | |
| run: | | |
| shellcheck -x --severity=warning \ | |
| bcs bcscheck bcscodes bcsdisplay bcsgenerate bcstemplate \ | |
| tests/*.sh \ | |
| tests/fixtures/*.sh \ | |
| tests/fixtures/probabilistic/*.sh \ | |
| tests/fixtures/clean/*.sh \ | |
| tests/accuracy/bcs-accuracy-score.sh \ | |
| tests/accuracy/bcs-check-accuracy.sh | |
| - name: Self-compliance invariant | |
| run: ./tests/test-self-compliance.sh | |
| - name: Fast test suite (LLM fixtures skipped) | |
| run: make test-fast |