Skip to content

fix(awk): stop number lexer swallowing following +/- operators #243

fix(awk): stop number lexer swallowing following +/- operators

fix(awk): stop number lexer swallowing following +/- operators #243

Workflow file for this run

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