Skip to content

ci(tooling): add PR-time validation and release checks#334

Open
hdamker wants to merge 2 commits into
camaraproject:mainfrom
hdamker:feat/tooling-pr-time-ci
Open

ci(tooling): add PR-time validation and release checks#334
hdamker wants to merge 2 commits into
camaraproject:mainfrom
hdamker:feat/tooling-pr-time-ci

Conversation

@hdamker

@hdamker hdamker commented Jun 13, 2026

Copy link
Copy Markdown
Contributor

What type of PR is this?

repository management

What this PR does / why we need it:

Adds a Tooling CI workflow that runs on every pull request and keeps the heavier checks path-gated. The workflow runs core actionlint semantics on tooling workflow files, verifies validation npm installs when package metadata changes, checks custom Spectral JavaScript functions with node --check, and runs the validation or release automation pytest suites for the touched area.

The path-gating logic is factored into a small tested helper so docs-only changes still get a stable CI summary while validation, release automation, shared-action, and tooling library changes run the relevant suites. The workflow uploads native or structured artifacts for changed files, actionlint JSON, npm install logs, JavaScript syntax logs, and pytest JUnit XML.

Which issue(s) this PR fixes:

N/A

Special notes for reviewers:

ShellCheck and pyflakes integrations are disabled for this first rollout because the repository has existing baseline findings outside this PR. The actionlint job also carries narrow ignores for the current actions/create-github-app-token@v3 client-id metadata mismatch. The existing validation settings CI and post-merge regression canaries remain separate.

Local validation run before opening the PR:

  • actionlint with the same first-rollout options returned [].
  • npm ci --ignore-scripts passed in validation/.
  • node --check linting/config/lint_function/*.js passed.
  • pytest tooling_lib/tests/test_ci_plan.py passed.
  • Validation mapped pytest suite passed: 1112 passed.
  • Release automation mapped pytest suite passed: 701 passed.

Changelog input

 release-note
Add PR-time Tooling CI checks for workflow semantics, validation dependency installs, JavaScript syntax, and validation/release automation pytest suites.

Additional documentation

This section can be blank.

docs

Add a Tooling CI workflow that runs on every pull request with changed-path detection, core actionlint, validation npm install checks, JavaScript syntax checks, and path-gated validation and release automation pytest jobs.

Keep ShellCheck and pyflakes out of the blocking baseline for the first rollout, and narrowly ignore the current create-github-app-token v3 client-id metadata mismatch until actionlint metadata catches up.

This catches workflow syntax, lockfile install, JavaScript syntax, and Python test failures before merge while leaving validation-settings CI and the post-merge regression canaries separate.
@hdamker hdamker requested review from Kevsy and rartych as code owners June 13, 2026 13:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant