From d4067cc48ade971afbd4f23a4b9f2f57c6a4f9d3 Mon Sep 17 00:00:00 2001 From: Michael Sitarzewski Date: Mon, 22 Jun 2026 16:30:35 -0500 Subject: [PATCH] ci: add check-tools.yml to enforce the tool contract (#607) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Mirrors check-divisions.yml. Runs scripts/check-tools.sh on every PR and on push to main (no path filter) so any change to ALL_TOOLS in install.sh, the converter set in convert.sh, or tools.json that breaks consistency fails the build — same CI protection divisions.json already has. Co-authored-by: Claude Opus 4.8 (1M context) --- .github/workflows/check-tools.yml | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 .github/workflows/check-tools.yml diff --git a/.github/workflows/check-tools.yml b/.github/workflows/check-tools.yml new file mode 100644 index 00000000..448af63c --- /dev/null +++ b/.github/workflows/check-tools.yml @@ -0,0 +1,20 @@ +name: Check Tools Consistency + +# Runs on every PR (no path filter on purpose): a new or renamed tool must trip +# this check even when nobody touched tools.json or the install/convert scripts. +on: + pull_request: + push: + branches: [main] + +jobs: + check-tools: + name: tools.json is the single source of truth + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + + - name: Validate tool set + run: | + chmod +x scripts/check-tools.sh + ./scripts/check-tools.sh