Skip to content

Add per-module GitHub Release tooling#1396

Draft
bpapillon wants to merge 1 commit into
mainfrom
add-per-module-release-tooling
Draft

Add per-module GitHub Release tooling#1396
bpapillon wants to merge 1 commit into
mainfrom
add-per-module-release-tooling

Conversation

@bpapillon

Copy link
Copy Markdown
Contributor

In this monorepo each tag releases one module, but GitHub's auto-generated release notes and the compare view span the whole repo and can't be scoped to a directory — so a schematic-js release ends up listing react/, components/, vue/ and angular/ commits too.

  • scripts/release-notes.sh — given a tag (schematic-<module>@x.y.z), finds the previous release of that module via git topology and emits markdown notes covering only commits that touched the module's directory, grouped by conventional-commit type (Features / Fixes / Other, with dep & codegen churn collapsed). Runs locally too: TAG=schematic-js@1.5.0 ./scripts/release-notes.sh.
  • .github/workflows/release.yml — runs the script on any schematic-*@* tag push and creates/updates the GitHub Release (RC tags published as prereleases). workflow_dispatch with a tag input backfills existing tags (e.g. the 1.5.0 already shipped).

Standalone and additive — runs alongside the existing deploy_*.yml workflows without modifying them. Portable to macOS bash (no mapfile/sort -V).

In this monorepo each tag releases one module, but GitHub's auto-notes
and compare view span the whole repo and can't be scoped to a directory,
so a schematic-js release lists react/components/vue/angular commits too.

scripts/release-notes.sh generates notes for a tag (schematic-<module>@x.y.z)
covering only commits that touched that module's directory since the
previous release of the same module, grouped by conventional-commit type.

release.yml runs the script on any module tag push and creates/updates the
GitHub Release (RC tags become prereleases); workflow_dispatch backfills
existing tags.
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.

1 participant