diff --git a/.github/actions/create-package-release/action.yml b/.github/actions/create-package-release/action.yml index cb94ec196..c8effaefe 100644 --- a/.github/actions/create-package-release/action.yml +++ b/.github/actions/create-package-release/action.yml @@ -99,6 +99,11 @@ runs: latest_flag="--latest=false" [ "$LATEST" = "true" ] && latest_flag="--latest" + # A release that continues the legacy bare series takes that tag as its + # title (v1.18.0 -> v2.0.0); everything else is " v". + title="${PACKAGE} v${VERSION}" + [ -n "$VANITY_TAG" ] && title="$VANITY_TAG" + # Validate requested assets exist before the dry-run branch, so a dry # run catches a missing or misnamed asset. read -ra assets <<< "$ASSETS" @@ -114,7 +119,7 @@ runs: { echo "## 🔍 Dry run: \`${PACKAGE}\` ${VERSION}" echo "" - echo "Would create tag \`${TAG}\` at \`${TARGET}\` (${latest_flag})." + echo "Would create tag \`${TAG}\` at \`${TARGET}\` titled \`${title}\` (${latest_flag})." if [ -n "$VANITY_TAG" ]; then echo "Would also create vanity tag \`${VANITY_TAG}\` (no release)." fi @@ -135,7 +140,7 @@ runs: gh release create "$TAG" \ --repo "$GITHUB_REPOSITORY" \ --target "$TARGET" \ - --title "\`${PACKAGE}\` ${VERSION}" \ + --title "$title" \ --notes-file "${RUNNER_TEMP}/notes.md" \ $latest_flag \ "${assets[@]}" diff --git a/docs/versioning.md b/docs/versioning.md index 4b40a1803..ec1c7f667 100644 --- a/docs/versioning.md +++ b/docs/versioning.md @@ -80,11 +80,12 @@ cascade (see [Guardrails](#guardrails)). ### Tag scheme Each package has its own release series: tag `-v..`, -title `` `` ``. The umbrella `overture-schema` release is +title ` v`. The umbrella `overture-schema` release is flagged **Latest**, and additionally continues the historical bare series -(`v0.4.0` … `v1.17.0`) as a vanity tag: each umbrella release also creates a +(`v0.4.0` … `v1.18.0`) as a vanity tag: each umbrella release also creates a bare `v` git tag at the same commit, with no second GitHub Release -attached. The umbrella package is the primary entrypoint for most consumers, +attached, and takes that tag as its title (`v2.0.0`) so the release list reads +as one continuous series. The umbrella package is the primary entrypoint for most consumers, so its bare tags keep the long-standing convention alive; all other packages use only the package-prefixed scheme.