fix: add CI, dependabot, and auto-release workflows#13
Merged
Conversation
2 tasks
- pr-title: enforce conventional-commit format on PR titles - test: actionlint + smoke tests (setup/validate/doc/diff) on ubuntu and macos using an inline minimal contract - auto-release: on merged PR, bump version from PR title, create GitHub release with generated notes, and update the floating major-version tag (creates a new vN tag on a major bump; moves the existing vN tag on minor/patch)
81faed3 to
43754cb
Compare
Mirrors the setup used in trianalab/pacto and trianalab/pacto-operator, scoped to the github-actions ecosystem since this repo has no other package manifests.
The upstream install script makes unauthenticated calls to api.github.com which get rate-limited on shared macOS runner IPs. Bypass it by downloading the release binary directly; release download URLs are not API-rate-limited. Once the install script supports GITHUB_TOKEN auth, switch back to using the action's `setup` command end-to-end.
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
Adds CI infrastructure mirroring the conventions used in
trianalab/pacto:pr-title.yml— enforces conventional-commit format on PR titles (allowed types: feat, fix, docs, chore, refactor, test, ci, perf, build, style;!for breaking).test.yml— runs on push/PR tomain:actionlintjob (lints all workflow files and the bash insideaction.yml).smokejob onubuntu-latestandmacos-latest: installs Pacto via the action, validates a minimal inline contract, generates docs, and diffs the contract against itself, assertinghas-breaking-changes=false.auto-release.yml— runs on PR merge tomain:feat:→ minor,fix|perf|refactor:→ patch, any<type>!:→ major; everything else skips).v1,v2, …): on a major bump it creates the newvNtag at the new commit (leaving the previousvN-1tag untouched so existing pins keep getting only that line of releases); on minor/patch it force-moves the existingvNtag to the new commit.dependabot.yml+dependabot-auto-merge.yml— weekly updates for thegithub-actionsecosystem with auto-merge of dependabot PRs (matchestrianalab/pactoandtrianalab/pacto-operator).Test plan
ci:so auto-release should skip — verify it skips and no tag/release is createdfeat:PR creates a release and movesv1feat!:PR createsvN+1tag and leaves priorvNuntouched