Repository navigation
ci: release weekly from git history with git-cliff instead of release-please - #137
Merged
Merged
Conversation
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.
Same release setup as gulp-plugins (forwardsoftware/gulp-plugins#138), qrcodets and react-native-toolbox, with one matrix job per plugin. It replaces release-please, whose release PRs are pushed with
GITHUB_TOKENand never get the required CI checks.How it works (
release.yml, Tuesdays 17:00 UTC + manual)For each plugin (
reveal.js-caffeine→plugins/caffeine,reveal.js-joycontroller→plugins/joycontroller,reveal.js-qrcodes→plugins/qrcodes):orhun/git-cliff-actionv4.9.1, pinned) computes the next version and release notes from conventional commits that touch the plugin folder, since the last<name>-vX.Y.Ztag (same tag format as release-please).pnpm/setup(pnpm + Node.jslatest), build the plugin,pnpm version --no-git-tag-version,pnpm publish --publish-wait-timeout 600000(npm trusted publishing via OIDC; replacescatalog:specifiers in the published manifest), thengh release create <name>-vX.Y.Ztitled<name>: vX.Y.Zwith the generated notes. Nothing is committed back tomain.dry-run: true: compute versions and notes (job summary), build, and runpnpm publish --dry-run.Release rules (
cliff.toml, shared with gulp-plugins)feat→ minor,!/BREAKING CHANGE→ major, everything else → patch.feat,fix,perf,refactor,docsandchoreare included in the release notes;ci,build,test,styleare skipped.Other changes
release-please-config.jsonand.release-please-manifest.json.CHANGELOG.mdfiles are frozen with a pointer to GitHub Releases (filtered per plugin); the READMEs link there too.package.jsonversions in the repo are no longer bumped; the published package gets the right version at publish time.Verification
Dry run on this branch: run 36641052114. Each plugin has one releasable commit since its last tag (
chore: upgrade babel to v8#115), so all three jobs computed a release (reveal.js-caffeine-v1.1.1,reveal.js-joycontroller-v1.0.1,reveal.js-qrcodes-v1.1.1), built, and stopped atSkip publishing ... (dry run). The first real run after merge will publish these three versions.