fix(export): conditional @-strip in cmd-export filenames + read-only … #71
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: | |
| pull_request: | |
| # Fram had no CI of its own — its JVM daemon, engine mTLS, and 17 test suites only | |
| # ever ran on a dev machine, so a daemon-runtime change (bb -> JVM) slipped through | |
| # and broke a downstream consumer. This workflow runs the real suites + the real | |
| # JVM/mTLS daemon, so that class of break is caught here, at the source. | |
| jobs: | |
| test: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| # The catalog currency gate (catalog_current_test.clj) diffs the GENERATED beagle | |
| # fram-API catalog (stdlib-fram.rkt) against fram's source — checkout beagle to enable it. | |
| - name: Checkout beagle (for the stdlib-fram.rkt currency gate) | |
| uses: actions/checkout@v4 | |
| with: | |
| repository: Autonymy/beagle | |
| path: .beagle | |
| - name: Install babashka | |
| run: curl -sL https://raw.githubusercontent.com/babashka/babashka/master/install | sudo bash | |
| # The coordinator daemon (bin/fram-daemon) and the mTLS test run on the JVM, | |
| # not bb — bb's native image lacks javax.net.ssl.SSLServerSocket. ubuntu-latest | |
| # ships a JDK (keytool, which tls_test uses); we add the Clojure CLI on top. | |
| - name: Install Clojure CLI | |
| run: | | |
| curl -L -O https://github.com/clojure/brew-install/releases/latest/download/linux-install.sh | |
| chmod +x linux-install.sh | |
| sudo ./linux-install.sh | |
| clojure --version | |
| - name: Warm JVM deps (cheshire) so the daemon boots fast | |
| run: clojure -P | |
| - name: README anti-rot gate (URLs, verbs, paths, the core loop runs) | |
| run: scripts/readme-check.sh | |
| - name: Unit + integration suites (babashka, on the committed out/) | |
| env: | |
| BEAGLE: ${{ github.workspace }}/.beagle | |
| run: | | |
| fail=0 | |
| for t in tests/*_test.clj; do | |
| [ "$t" = tests/tls_test.clj ] && continue # runs separately below (spawns the JVM daemon) | |
| echo "== $t ==" | |
| bb -cp out "$t" || fail=1 | |
| done | |
| exit $fail | |
| - name: mTLS round-trip (JVM daemon, engine-terminated mutual TLS) | |
| run: bb tests/tls_test.clj | |
| # Perf-budget: the #44 propagation thesis (graph-prop FLAT in K; graph >> git at K=8) must not | |
| # silently rot. Ratio-based budgets (machine-independent) + generous absolute ceilings, so CI | |
| # timing noise doesn't flake. Runs the content-asserted K=1,8 sweep; budgets in perf-budget.edn. | |
| - name: Propagation perf-budget (flat-propagation thesis, fail on regression) | |
| run: bb -cp out bench/propagation/check-budget.clj |