mirror of
https://github.com/goreleaser/goreleaser-action
synced 2026-09-03 14:28:28 +00:00
feat: support downloading goreleaser pro (#284)
This commit is contained in:
+9
-6
@@ -2,22 +2,24 @@ import * as os from 'os';
|
||||
import * as path from 'path';
|
||||
import * as util from 'util';
|
||||
import * as github from './github';
|
||||
import * as pro from './pro';
|
||||
import * as core from '@actions/core';
|
||||
import * as tc from '@actions/tool-cache';
|
||||
|
||||
const osPlat: string = os.platform();
|
||||
const osArch: string = os.arch();
|
||||
|
||||
export async function getGoReleaser(version: string): Promise<string> {
|
||||
const release: github.GitHubRelease | null = await github.getRelease(version);
|
||||
export async function getGoReleaser(distribution: string, version: string): Promise<string> {
|
||||
const release: github.GitHubRelease | null = await github.getRelease(distribution, version);
|
||||
if (!release) {
|
||||
throw new Error(`Cannot find GoReleaser ${version} release`);
|
||||
}
|
||||
|
||||
core.info(`✅ GoReleaser version found: ${release.tag_name}`);
|
||||
const filename = getFilename();
|
||||
const filename = getFilename(distribution);
|
||||
const downloadUrl = util.format(
|
||||
'https://github.com/goreleaser/goreleaser/releases/download/%s/%s',
|
||||
'https://github.com/goreleaser/%s/releases/download/%s/%s',
|
||||
distribution,
|
||||
release.tag_name,
|
||||
filename
|
||||
);
|
||||
@@ -44,9 +46,10 @@ export async function getGoReleaser(version: string): Promise<string> {
|
||||
return exePath;
|
||||
}
|
||||
|
||||
const getFilename = (): string => {
|
||||
const getFilename = (distribution: string): string => {
|
||||
const platform: string = osPlat == 'win32' ? 'Windows' : osPlat == 'darwin' ? 'Darwin' : 'Linux';
|
||||
const arch: string = osArch == 'x64' ? 'x86_64' : 'i386';
|
||||
const ext: string = osPlat == 'win32' ? 'zip' : 'tar.gz';
|
||||
return util.format('goreleaser_%s_%s.%s', platform, arch, ext);
|
||||
const suffix: string = pro.suffix(distribution);
|
||||
return util.format('goreleaser%s_%s_%s.%s', suffix, platform, arch, ext);
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user