feat!: use "~> v2" as default

Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
This commit is contained in:
Carlos Alexandro Becker 2024-05-26 14:39:26 -03:00
parent 5742e2a039
commit fea4ca2b14
No known key found for this signature in database
3 changed files with 27 additions and 5 deletions

View file

@ -1,4 +1,4 @@
import {describe, expect, it} from '@jest/globals';
import { describe, expect, it } from '@jest/globals';
import * as github from '../src/github';
describe('getRelease', () => {
@ -44,6 +44,18 @@ describe('getRelease', () => {
expect(release?.tag_name).not.toEqual('');
});
it('returns latest v2 GoReleaser Pro GitHub release', async () => {
const release = await github.getRelease('goreleaser-pro', '~> v2');
expect(release).not.toBeNull();
expect(release?.tag_name).not.toEqual('');
});
it('returns latest v2 GoReleaser GitHub release', async () => {
const release = await github.getRelease('goreleaser', '~> v2');
expect(release).not.toBeNull();
expect(release?.tag_name).not.toEqual('');
});
it('returns nightly GoReleaser GitHub release', async () => {
const release = await github.getRelease('goreleaser', 'nightly');
expect(release).not.toBeNull();

View file

@ -1,4 +1,4 @@
import {describe, expect, it} from '@jest/globals';
import { describe, expect, it } from '@jest/globals';
import * as fs from 'fs';
import * as goreleaser from '../src/goreleaser';
@ -28,6 +28,17 @@ describe('install', () => {
expect(fs.existsSync(bin)).toBe(true);
}, 100000);
it('acquires latest v2 version of GoReleaser', async () => {
const bin = await goreleaser.install('goreleaser', '~> v2');
expect(fs.existsSync(bin)).toBe(true);
}, 100000);
it('acquires latest v2 version of GoReleaser Pro', async () => {
const bin = await goreleaser.install('goreleaser-pro', '~> v2');
expect(fs.existsSync(bin)).toBe(true);
}, 100000);
it('acquires latest version of GoReleaser Pro', async () => {
const bin = await goreleaser.install('goreleaser-pro', 'latest');
expect(fs.existsSync(bin)).toBe(true);

View file

@ -8,9 +8,8 @@ export interface GitHubRelease {
}
export const getRelease = async (distribution: string, version: string): Promise<GitHubRelease> => {
// TODO: change this to ~> v2 on a future major, once goreleaser v2 is out
if (version === 'latest') {
core.warning("You are using 'latest' as default version. Will lock to '~> v1'.");
core.warning("You are using 'latest' as default version. Will lock to '~> v2'.");
return getReleaseTag(distribution, '~> v1');
}
return getReleaseTag(distribution, version);
@ -18,7 +17,7 @@ export const getRelease = async (distribution: string, version: string): Promise
export const getReleaseTag = async (distribution: string, version: string): Promise<GitHubRelease> => {
if (version === 'nightly') {
return {tag_name: version};
return { tag_name: version };
}
const tag: string = (await resolveVersion(distribution, version)) || version;
const suffix: string = goreleaser.distribSuffix(distribution);