mirror of
https://github.com/goreleaser/goreleaser-action.git
synced 2026-05-14 06:40:32 +00:00
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:
parent
2c8756b88a
commit
7673f7fb5b
4 changed files with 11 additions and 8 deletions
|
|
@ -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 () => {
|
||||
|
|
|
|||
|
|
@ -123,7 +123,7 @@ describe('getCertificateIdentity', () => {
|
|||
});
|
||||
|
||||
it('uses nightly-pro.yml@refs/heads/main for Pro nightly tag', () => {
|
||||
expect(goreleaser.getCertificateIdentity('goreleaser-pro', 'v2.16.0-abc1234-nightly')).toEqual(
|
||||
expect(goreleaser.getCertificateIdentity('goreleaser-pro', '2.16.0-eaeb08c50-nightly')).toEqual(
|
||||
'https://github.com/goreleaser/goreleaser-pro-internal/.github/workflows/nightly-pro.yml@refs/heads/main'
|
||||
);
|
||||
});
|
||||
|
|
|
|||
2
dist/index.js
generated
vendored
2
dist/index.js
generated
vendored
File diff suppressed because one or more lines are too long
|
|
@ -30,8 +30,9 @@ export interface GitHubRelease {
|
|||
tag_name: string;
|
||||
}
|
||||
|
||||
// Matches the new-style nightly release tag pattern: vX.Y.Z-<sha>-nightly
|
||||
export const nightlyTagRegex = /^v\d+\.\d+\.\d+-[0-9a-f]+-nightly$/i;
|
||||
// Matches the new-style nightly release tag pattern: [v]X.Y.Z-<sha>-nightly
|
||||
// (the `v` prefix is optional — goreleaser-pro tags don't have it).
|
||||
export const nightlyTagRegex = /^v?\d+\.\d+\.\d+-[0-9a-f]+-nightly$/i;
|
||||
|
||||
export const isNightlyTag = (tag: string): boolean => {
|
||||
return tag === 'nightly' || nightlyTagRegex.test(tag);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue