Skip to content

fix(ci): update release tag check to support PEP 440 pre-release versions#87

Merged
jimisola merged 1 commit intomainfrom
fix/pep440-release-check
Apr 10, 2026
Merged

fix(ci): update release tag check to support PEP 440 pre-release versions#87
jimisola merged 1 commit intomainfrom
fix/pep440-release-check

Conversation

@jimisola
Copy link
Copy Markdown
Member

Summary

  • Updates the tag format regex in check_release.yml from a plain semver pattern to a full PEP 440 compliant pattern
  • Adds $ anchor to prevent partial matches
  • Allows pre-release identifiers: 1.2.3a1 (alpha), 1.2.3b2 (beta), 1.2.3rc1 (release candidate), 1.2.3.post1 (post-release), 1.2.3.dev1 (dev)

Motivation

The old regex ^refs/tags/[0-9]+\.[0-9]+\.[0-9]+ blocked publishing pre-release versions to PyPI, which is needed to test the publish pipeline without relying on Test PyPI.

Test plan

  • Verify regex locally: echo "refs/tags/1.2.3a1" | grep -qE '^refs/tags/[0-9]+(\.[0-9]+)*(a[0-9]+|b[0-9]+|rc[0-9]+)?(\.post[0-9]+)?(\.dev[0-9]+)?$' && echo ok
  • Confirm stable releases (1.2.3) still pass
  • Confirm invalid tags (v1.2.3, bare strings) are still rejected

…ions

Update the tag format regex to accept all PEP 440 version identifiers:
alpha (a), beta (b), release candidate (rc), post-release (.post),
and dev releases (.dev), in addition to final releases (1.2.3).

Signed-off-by: Jimisola Laursen <jimisola@jimisola.com>
@jimisola jimisola self-assigned this Apr 10, 2026
@jimisola jimisola enabled auto-merge (squash) April 10, 2026 16:20
@jimisola jimisola disabled auto-merge April 10, 2026 16:20
@jimisola jimisola merged commit 86e31a2 into main Apr 10, 2026
6 checks passed
@jimisola jimisola deleted the fix/pep440-release-check branch April 10, 2026 16:20
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