Repository navigation
Open
Labels
enhancementNew feature or requestNew feature or request
Description
What
.github/workflows/release.yaml releases this repo through the local gh-release.yaml (git-cliff) twice: once for the umbrella vX.Y.Z tag, and once per reusable workflow through a matrix (<workflow>-vX.Y.Z). The house standard for release-only repos is DND-IT/tamci/actions/release@v0, and gh-release.yaml is meant to be used only inside service-pipeline. This repo should release itself with tamci.
Why it matters
- It keeps one releaser across DND-IT and puts fixes in one place. feat(datadog): build missing chart dependencies in datadog-cr-validate #159 had to patch
gh-release.yamlso a per-workflow release also watchesactions/<name>/, because the reusable workflow runs its action from its own tag's SHA. - tamci's
.release.yamlpackages:(name, path,tag-pattern) matches the per-workflow tags, so the hand-built matrix inprepare-matrixcould become config.
Gaps in tamci to close first
Checked against DND-IT/tamci internal/release and actions/release/action.yaml:
- Version alias tags.
gh-releasemovesv4/v4.5and<workflow>-v0/<workflow>-v0.2(update_version_aliases: true). Every consumer pins those aliases, for exampledatadog-cr-validate.yaml@datadog-cr-validate-v0andtf-plan.yaml@v3. tamci release has no alias support. - Several paths per scope.
include-pathandpackages[].pathtake one glob. A workflow that ships an action needs.github/workflows/<name>.yamlplusactions/<name>/**(the behaviour feat(datadog): build missing chart dependencies in datadog-cr-validate #159 adds togh-release). - PR preview.
release.yamlruns onpull_requestin dry-run mode to preview each release. tamci hasdry-run, so this should only need wiring. Worth confirming that the output still shows the computed tag per package.
Suggested approach
- Add alias tags and multi-path scopes to
tamci release(DND-IT/tamci). - Replace
release.yamlwith a checkout (fetch-depth: 0) plusDND-IT/tamci/actions/release@v0, driven by a.release.yamlwith one package per reusable workflow. Keep the umbrellavprefix and the existing<workflow>-vtag patterns so current pins keep resolving. - Mint the token with
actions/create-github-app-tokenfromFISSION_GH_APP_ID/FISSION_GH_APP_PRIVATE_KEYand pass it asgithub-token, as today. - Keep
notify-slackand drive it from the tamci outputs (release-published,version). - Leave
gh-release.yamlitself in place whileservice-pipelinestill uses it.
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request
Activity