feat: implement release train and reusable rule workflows#68
Merged
Sandy-at-Tazama merged 3 commits intodevfrom Apr 4, 2026
Merged
feat: implement release train and reusable rule workflows#68Sandy-at-Tazama merged 3 commits intodevfrom
Sandy-at-Tazama merged 3 commits intodevfrom
Conversation
cfc6b6b to
a06cefc
Compare
- Add version-check.yml: gates PRs to main; fails if package.json version contains a prerelease suffix. Companion to publish.yml push:main trigger. - publish.yml: full replacement removed Node 16, checkout@v3, auto- versioning via commit message parsing, version-bump PR creation, cat .npmrc token leak, and job-level GITHUB_TOKEN shadow. Replaced with canonical form: @frmscoe scope, Node 20, checkout@v4, setup-node@v4, push: branches: [main] + workflow_dispatch, explicit NODE_AUTH_TOKEN. - Add package-rule-rc.yml: reusable workflow_call for RC Docker builds. Inputs: rule_number, rule_org. Fixes: version from package.json (no GitHub API call), npm ci, no cat .npmrc, no job-level GITHUB_TOKEN shadow, correct sed patterns, versioned + :rc tags. - Add package-rule.yml: reusable workflow_call for stable Docker builds. Same fixes; Docker tags: VERSION + :latest; version prerelease guard. - Add release-train.yml: workflow_dispatch on dev with version input. Validates clean semver, resolves internal @frmscoe rc deps to stable (pinned and range-with-rc patterns), bumps version, regenerates package-lock.json, commits via GitHub API (Verified commit), opens PR to main. - sync-workflows.yml: full restructure. Removed SPECIFIC_FILES / SPECIFIC_REPOS variables (all rule repos handled identically). Added in_list() helper, temp-workflows bundle outside copy loop, printf-based stub-stamping for all 33 rule repos with rule_org: frmscoe. Addresses #66.
a06cefc to
3e49756
Compare
…root files - .github/CODEOWNERS: replace individual usernames with team handles (@tazama-lf/core-codeowners and @tazama-lf/community-codeowners) to align with the tazama-lf standard and avoid hard-coding personal accounts - Delete CHANGELOG.md and VERSION from repo root (not used; version is managed in individual package.json files)
frmscoe/workflows receives workflow changes via sync-workflows.yml in tazama-lf/workflows. Direct edits here will be overwritten on next sync. All changes must originate in tazama-lf/workflows.
Sandy-at-Tazama
approved these changes
Apr 4, 2026
Justus-at-Tazama
added a commit
that referenced
this pull request
Apr 8, 2026
Applies all changes from tazama-lf/workflows PR #76 (workflow audit fixes - batch 1) to frmscoe/workflows. Changes are synced verbatim from the canonical source. - fix(njsscan): fix SARIF upload guard, category, upgrade upload-sarif v4 (#68) - fix(gpg-verify): make curl error handler reachable under bash -e (#69) - fix(dco-check, gpg-verify): replace mutable branch refs with immutable SHAs (#70) - fix(package-rule): add ref guard to prevent push from non-canonical branches (#71) - fix(gpg-verify): rename workflow to Signature Verify, update header comment (#72) - fix(package-rule): pass GH_TOKEN to docker build via BuildKit secret (#73) - fix(sbom): pass GH_TOKEN to docker build via BuildKit secret (#74) - fix(dockerfile-linter): skip hadolint and upload when no Dockerfile present (#75) - fix(dockerfile-linter, sbom): address CodeRabbit review findings Signed-off-by: Justus-at-Tazama <jortlepp@contractor.linuxfoundation.org>
Justus-at-Tazama
added a commit
that referenced
this pull request
Apr 8, 2026
Applies all changes from tazama-lf/workflows PR #76 (workflow audit fixes - batch 1) to frmscoe/workflows. Changes are synced verbatim from the canonical source. - fix(njsscan): fix SARIF upload guard, category, upgrade upload-sarif v4 (#68) - fix(gpg-verify): make curl error handler reachable under bash -e (#69) - fix(dco-check, gpg-verify): replace mutable branch refs with immutable SHAs (#70) - fix(package-rule): add ref guard to prevent push from non-canonical branches (#71) - fix(gpg-verify): rename workflow to Signature Verify, update header comment (#72) - fix(package-rule): pass GH_TOKEN to docker build via BuildKit secret (#73) - fix(sbom): pass GH_TOKEN to docker build via BuildKit secret (#74) - fix(dockerfile-linter): skip hadolint and upload when no Dockerfile present (#75) - fix(dockerfile-linter, sbom): address CodeRabbit review findings Signed-off-by: Justus-at-Tazama <jortlepp@contractor.linuxfoundation.org>
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Implements the full release pipeline described in #66.
Changes
version-check.ymlmain; fails ifpackage.jsonversion contains-publish.ymlcheckout@v4, push:main trigger, no token leak, noGITHUB_TOKENshadowpackage-rule-rc.ymlworkflow_callfor RC Docker buildspackage-rule.ymlworkflow_callfor stable Docker buildsrelease-train.ymlworkflow_dispatchondev; resolves rc deps, bumps version, Verified API commit, opens PRsync-workflows.ymlSPECIFIC_FILES/SPECIFIC_REPOS;in_list()helper;printf-based stub-stamping for all 33 rule reposSecurity improvements (over previous publish.yml)
cat .npmrctoken exposureGITHUB_TOKENshadowingNODE_AUTH_TOKENper step onlypackage.json(no GitHub API call)npm ci(notnpm installwith lock deletion)checkout@v3Validation
All 6 files pass
actionlintwith zero warnings.Addresses #66.