Skip to content

Harden even/odd versioning across release workflows #815

@WilliamBerryiii

Description

@WilliamBerryiii

Problem

The pre-release and release workflows have several issues that can cause version regression and incorrect stable releases under the even/odd marketplace versioning convention (even minor = stable, odd minor = pre-release):

  1. LAST_TAG picks up pre-release tagsgit describe --tags --abbrev=0 in prerelease.yml can select an odd-minor pre-release tag as the baseline, causing version regression when computing the next pre-release version.
  2. jq syntax errorprerelease-release.yml has a corrupted // alternative operator in the manifest fallback expression, causing version extraction to fail.
  3. No even-minor guard on release-pleasemain.yml does not validate that release-please proposes an even minor for stable releases, allowing odd minors to slip through.
  4. Plugin generation missingprerelease.yml bumps version files via jq but never runs npm run plugin:generate, causing Plugin Validation CI to fail.

Solution

  • Filter LAST_TAG to stable-only (even-minor) tags using awk in prerelease.yml
  • Fix jq // operator syntax in prerelease-release.yml
  • Add even-minor validation step after release-please in main.yml
  • Add Node.js setup, npm ci, and npm run plugin:generate to prerelease.yml
  • Deduplicate LAST_TAG computation between version and changelog steps

Affected Files

  • .github/workflows/prerelease.yml
  • .github/workflows/prerelease-release.yml
  • .github/workflows/main.yml
  • .github/workflows/extension-publish.yml

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingworkflowsGitHub Actions workflows

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions