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
3 changed files with 27 additions and 5 deletions
+13 -1
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'; import * as github from '../src/github';
describe('getRelease', () => { describe('getRelease', () => {
@@ -44,6 +44,18 @@ describe('getRelease', () => {
expect(release?.tag_name).not.toEqual(''); 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 () => { it('returns nightly GoReleaser GitHub release', async () => {
const release = await github.getRelease('goreleaser', 'nightly'); const release = await github.getRelease('goreleaser', 'nightly');
expect(release).not.toBeNull(); expect(release).not.toBeNull();
+12 -1
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 fs from 'fs';
import * as goreleaser from '../src/goreleaser'; import * as goreleaser from '../src/goreleaser';
@@ -28,6 +28,17 @@ describe('install', () => {
expect(fs.existsSync(bin)).toBe(true); expect(fs.existsSync(bin)).toBe(true);
}, 100000); }, 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 () => { it('acquires latest version of GoReleaser Pro', async () => {
const bin = await goreleaser.install('goreleaser-pro', 'latest'); const bin = await goreleaser.install('goreleaser-pro', 'latest');
expect(fs.existsSync(bin)).toBe(true); expect(fs.existsSync(bin)).toBe(true);
+2 -3
View File
@@ -8,9 +8,8 @@ export interface GitHubRelease {
} }
export const getRelease = async (distribution: string, version: string): Promise<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') { 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, '~> v1');
} }
return getReleaseTag(distribution, version); 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> => { export const getReleaseTag = async (distribution: string, version: string): Promise<GitHubRelease> => {
if (version === 'nightly') { if (version === 'nightly') {
return {tag_name: version}; return { tag_name: version };
} }
const tag: string = (await resolveVersion(distribution, version)) || version; const tag: string = (await resolveVersion(distribution, version)) || version;
const suffix: string = goreleaser.distribSuffix(distribution); const suffix: string = goreleaser.distribSuffix(distribution);