fix: accept nightly tags without 'v' prefix

goreleaser-pro publishes nightly releases as e.g. 2.16.0-eaeb08c50-nightly
(no 'v' prefix). Make the nightly tag regex tolerate either form, and
split the integration tests so OSS asserts the legacy fallback while
Pro asserts the new <version>-<sha>-nightly format.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This commit is contained in:
Carlos Alexandro Becker 2026-04-26 15:32:45 -03:00
parent 2c8756b88a
commit 7673f7fb5b
No known key found for this signature in database
4 changed files with 11 additions and 8 deletions

View file

@ -56,16 +56,18 @@ describe('getRelease', () => {
expect(release?.tag_name).not.toEqual('');
});
it('resolves nightly to a vX.Y.Z-<sha>-nightly GoReleaser release', async () => {
it('resolves nightly to the legacy nightly tag for OSS GoReleaser', async () => {
// No <version>-<sha>-nightly release exists in goreleaser/goreleaser yet,
// so this should fall back to the legacy moving `nightly` tag.
const release = await github.getRelease('goreleaser', 'nightly');
expect(release).not.toBeNull();
expect(github.isNightlyTag(release.tag_name)).toBe(true);
expect(release.tag_name).toEqual('nightly');
});
it('resolves nightly to a vX.Y.Z-<sha>-nightly GoReleaser Pro release', async () => {
it('resolves nightly to a <version>-<sha>-nightly release for GoReleaser Pro', async () => {
const release = await github.getRelease('goreleaser-pro', 'nightly');
expect(release).not.toBeNull();
expect(github.isNightlyTag(release.tag_name)).toBe(true);
expect(release.tag_name).toMatch(github.nightlyTagRegex);
});
it('returns v0.182.0 GoReleaser Pro GitHub release', async () => {