chore(release): prepare v0.18.0 #244
Workflow file for this run
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: Builtins Inventory Drift | |
| # Fails when knowledge/status/builtins.json no longer matches what the code | |
| # registers (see `Bash::builtin_names`). The JSON is generated by | |
| # `just regen-builtins` and is the data source for the site's builtins | |
| # page and homepage counts — fix drift by regenerating and committing. | |
| # | |
| # Runs on PRs that can change the inventory, plus a weekly safety net for | |
| # paths the filter misses. | |
| on: | |
| pull_request: | |
| paths: | |
| - 'crates/bashkit/src/interpreter/**' | |
| - 'crates/bashkit/src/builtins/**' | |
| - 'crates/bashkit/src/lib.rs' | |
| - 'crates/bashkit/examples/dump_builtins.rs' | |
| - 'knowledge/status/builtins.json' | |
| - '.github/workflows/builtins-drift.yml' | |
| schedule: | |
| # Weekly Mondays 05:30 UTC, after the coreutils drift run. | |
| - cron: '30 5 * * 1' | |
| workflow_dispatch: | |
| permissions: | |
| contents: read | |
| env: | |
| CARGO_TERM_COLOR: always | |
| RUST_BACKTRACE: 1 | |
| jobs: | |
| check: | |
| name: Regenerate and diff builtin inventory | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 30 | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 | |
| with: | |
| persist-credentials: false | |
| - name: Install Rust toolchain | |
| uses: dtolnay/rust-toolchain@e081816240890017053eacbb1bdf337761dc5582 # 1.95.0 | |
| - uses: Swatinem/rust-cache@6323deb102c322ba6fcbdcafc7e3dddab59af2b6 # v2 | |
| - name: Regenerate inventory | |
| run: | | |
| cargo run -q --example dump_builtins \ | |
| --features jq,git,ssh,http_client,python,typescript,sqlite \ | |
| > knowledge/status/builtins.json | |
| - name: Fail on drift | |
| run: | | |
| if ! git diff --exit-code -- knowledge/status/builtins.json; then | |
| echo "::error::knowledge/status/builtins.json is stale — run 'just regen-builtins' and commit the result" | |
| exit 1 | |
| fi |