From 3e0873bec8cc587aa7d29077b37ad85525661b5b Mon Sep 17 00:00:00 2001 From: Jayant Devkar <55962509+JayantDevkar@users.noreply.github.com> Date: Wed, 21 Oct 2026 11:32:13 -0700 Subject: [PATCH 1/2] ci: run the hook scripts' tests on 3.9 and 3.12 --- .github/workflows/hooks-tests.yml | 38 +++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 .github/workflows/hooks-tests.yml diff --git a/.github/workflows/hooks-tests.yml b/.github/workflows/hooks-tests.yml new file mode 100644 index 00000000..40256e29 --- /dev/null +++ b/.github/workflows/hooks-tests.yml @@ -0,0 +1,38 @@ +name: Hooks Tests + +on: + push: + branches: [main] + paths: ['hooks/**'] + pull_request: + branches: [main] + paths: ['hooks/**'] + +jobs: + test: + name: ${{ matrix.os }} / Python ${{ matrix.python-version }} + runs-on: ${{ matrix.os }} + strategy: + fail-fast: false + matrix: + include: + # Hook scripts are stdlib-only and must keep running on 3.9 (ubuntu-24.04: 26.04 has no 3.9). + - os: ubuntu-24.04 + python-version: '3.9' + - os: ubuntu-latest + python-version: '3.12' + - os: macos-latest + python-version: '3.12' + steps: + - uses: actions/checkout@v4 + + - name: Set up Python ${{ matrix.python-version }} + uses: actions/setup-python@v5 + with: + python-version: ${{ matrix.python-version }} + + - name: Install pytest + run: python -m pip install --upgrade pip pytest + + - name: Run hook tests + run: python -m pytest hooks/tests -v From 41e340c27a25b830150f429e84bb5226402bef6b Mon Sep 17 00:00:00 2001 From: Jayant Devkar <55962509+JayantDevkar@users.noreply.github.com> Date: Wed, 21 Oct 2026 11:33:20 -0700 Subject: [PATCH 2/2] ci: trigger the hooks workflow on its own file too --- .github/workflows/hooks-tests.yml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/.github/workflows/hooks-tests.yml b/.github/workflows/hooks-tests.yml index 40256e29..6db1e052 100644 --- a/.github/workflows/hooks-tests.yml +++ b/.github/workflows/hooks-tests.yml @@ -3,10 +3,12 @@ name: Hooks Tests on: push: branches: [main] - paths: ['hooks/**'] + paths: &hook_paths + - 'hooks/**' + - '.github/workflows/hooks-tests.yml' pull_request: branches: [main] - paths: ['hooks/**'] + paths: *hook_paths jobs: test: