Skip to content

Add create_release_tag.yml for pupmod repos as a thin caller of simp/gha-workflows (#85 pilot) - #43

Open
silug wants to merge 4 commits into
simp:mainfrom
silug:create-release-tag-workflow
Open

Add create_release_tag.yml for pupmod repos as a thin caller of simp/gha-workflows (#85 pilot)#43
silug wants to merge 4 commits into
simp:mainfrom
silug:create-release-tag-workflow

Conversation

@silug

@silug silug commented Jul 22, 2026

Copy link
Copy Markdown
Contributor

Pilot of the reusable-workflows model from #85, rebased onto main and reworked so the synced file is a thin shim.

  1. create_release_tag.yml for all pupmod repos — a workflow_dispatch action replacing the local tagging script: validates the release (SemVer from metadata.json, tag doesn't exist, pkg:check_version, pkg:compare_latest_tag, metadata_lint) before tagging, generates the annotation from the CHANGELOG, and pushes the annotated tag (triggering tag_deploy.yml). Supports dry_run.
  2. The logic lives in simp/gha-workflows (puppet_create_release_tag.yml@v1.0.0); the synced file only forwards the trigger with secrets: inherit. Validated end-to-end on pupmod-simp-mockup 0.6.0 (Add create_release_tag.yml calling the simp/gha-workflows reusable workflow pupmod-simp-mockup#104): dry run, real tag, tag_deploy.yml, Forge publish, and el8/el9/el10 RPMs. Fixes land there as a tag bump (Renovate manages the pins) instead of a fleet sync.
  3. merge_github_workflows.ensure_files — the merge stage can now create scoped workflow files that don't exist in a repo (the task already wrote full templates for missing paths). This session was originally going to use apply_puppet_role for the file creation, but testing revealed the enforce-strategy templates are behind the deployed fleet (a blanket apply would revert the voxpupuli-test spec_helper.rb migration, breaking validate:strings — see Enforce-strategy templates are behind the deployed fleet; apply_puppet_role would revert fleet improvements (spec_helper.rb, .gitignore, ...) #88), so the rollout stays surgical.
  4. Session config 20260813-create-release-tag.yaml (now latest) — scoped to creating/merging the one file. mockup's existing SHA-pinned shim is left as-is (uses refs are preserved values; Renovate moves pins forward).

Verified: 211 rspec + 20 BoltSpec plan examples green; local e2e creates the shim byte-identically on a repo that lacks it (aide) and reports unchanged on one that has it (mockup).

🤖 Generated with Claude Code

hcaballero2
hcaballero2 previously approved these changes Aug 5, 2026
silug added a commit to simp/pupmod-simp-mockup that referenced this pull request Aug 13, 2026
Pilot for simp/puppetsync#85: the tagging logic lives in
simp/gha-workflows (converted from simp/puppetsync#43); this shim only
forwards the manual trigger. Pinned to a commit SHA until the pilot
validates the calling contract and v1.0.0 is tagged.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
silug and others added 4 commits August 13, 2026 18:24
A workflow_dispatch action replacing the local shell script used to tag
module releases: it validates the release (SemVer from metadata.json,
tag doesn't exist, pkg:check_version, pkg:compare_latest_tag,
metadata_lint) BEFORE tagging, generates the tag annotation from the
CHANGELOG, and pushes the annotated tag (triggering tag_deploy.yml).
Supports a dry_run input.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Pilot of the reusable-workflows model (simp#85): the tagging logic now lives
in simp/gha-workflows as puppet_create_release_tag.yml, validated
end-to-end on pupmod-simp-mockup 0.6.0 (dry run, real tag, tag_deploy,
Forge publish, el8/el9/el10 RPMs — simp/pupmod-simp-mockup#104). The
synced file is a workflow_dispatch shim pinned to v1.0.0; Renovate
manages the pin per repo from here.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
merge_github_workflows.ensure_files lists templated workflow files to
create when a repo lacks them (the task already writes full templates
for missing paths). This rolls out a brand-new workflow without an
apply_puppet_role session — blanket applies are currently unsafe
because several enforce-strategy templates are behind the deployed
fleet (e.g. spec_helper.rb would revert the voxpupuli-test migration).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@silug silug changed the title Add create_release_tag.yml workflow for pupmod repos Add create_release_tag.yml for pupmod repos as a thin caller of simp/gha-workflows (#85 pilot) Aug 13, 2026
@silug
silug force-pushed the create-release-tag-workflow branch from 8a28431 to 01efb4b Compare August 13, 2026 18:31
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.

2 participants