mirror of
https://github.com/goreleaser/goreleaser-action
synced 2026-08-30 11:28:30 +00:00
Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
5a54d7e660 | ||
|
|
a59bcd6856 | ||
|
|
b59bff5dc3 | ||
|
|
b2263bd81e | ||
|
|
76bde1890b | ||
|
|
194deb5974 | ||
|
|
ac067437f5 | ||
|
|
bbb1d19f5b | ||
|
|
d0c4a003d3 | ||
|
|
c2b33cd784 | ||
|
|
35d40269d0 | ||
|
|
be642f174c | ||
|
|
d401a5332a |
Binary file not shown.
|
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 12 KiB |
@@ -26,7 +26,10 @@ jobs:
|
|||||||
- windows-latest
|
- windows-latest
|
||||||
version:
|
version:
|
||||||
- latest
|
- latest
|
||||||
- v0.145.0
|
- '~> 0.166'
|
||||||
|
distribution:
|
||||||
|
- goreleaser
|
||||||
|
- goreleaser-pro
|
||||||
steps:
|
steps:
|
||||||
-
|
-
|
||||||
name: Checkout
|
name: Checkout
|
||||||
@@ -37,7 +40,7 @@ jobs:
|
|||||||
name: Set up Go
|
name: Set up Go
|
||||||
uses: actions/setup-go@v2
|
uses: actions/setup-go@v2
|
||||||
with:
|
with:
|
||||||
go-version: 1.15
|
go-version: 1.16
|
||||||
-
|
-
|
||||||
name: Check
|
name: Check
|
||||||
uses: ./
|
uses: ./
|
||||||
@@ -47,8 +50,12 @@ jobs:
|
|||||||
workdir: ./test
|
workdir: ./test
|
||||||
-
|
-
|
||||||
name: GoReleaser
|
name: GoReleaser
|
||||||
|
if: ${{ !(github.event_name == 'pull_request' && matrix.distribution == 'goreleaser-pro') }}
|
||||||
uses: ./
|
uses: ./
|
||||||
|
env:
|
||||||
|
GORELEASER_KEY: ${{ secrets.GORELEASER_KEY }}
|
||||||
with:
|
with:
|
||||||
|
distribution: ${{ matrix.distribution }}
|
||||||
version: ${{ matrix.version }}
|
version: ${{ matrix.version }}
|
||||||
args: release --skip-publish --rm-dist
|
args: release --skip-publish --rm-dist
|
||||||
workdir: ./test
|
workdir: ./test
|
||||||
@@ -60,7 +67,10 @@ jobs:
|
|||||||
matrix:
|
matrix:
|
||||||
version:
|
version:
|
||||||
- latest
|
- latest
|
||||||
- v0.145.0
|
- '~> 0.166'
|
||||||
|
distribution:
|
||||||
|
- goreleaser
|
||||||
|
- goreleaser-pro
|
||||||
steps:
|
steps:
|
||||||
-
|
-
|
||||||
name: Checkout
|
name: Checkout
|
||||||
@@ -71,15 +81,18 @@ jobs:
|
|||||||
name: Set up Go
|
name: Set up Go
|
||||||
uses: actions/setup-go@v2
|
uses: actions/setup-go@v2
|
||||||
with:
|
with:
|
||||||
go-version: 1.15
|
go-version: 1.16
|
||||||
-
|
-
|
||||||
name: GoReleaser
|
name: GoReleaser
|
||||||
|
if: ${{ !(github.event_name == 'pull_request' && matrix.distribution == 'goreleaser-pro') }}
|
||||||
uses: ./
|
uses: ./
|
||||||
with:
|
with:
|
||||||
|
distribution: ${{ matrix.distribution }}
|
||||||
version: ${{ matrix.version }}
|
version: ${{ matrix.version }}
|
||||||
install-only: true
|
install-only: true
|
||||||
-
|
-
|
||||||
name: Check
|
name: Check
|
||||||
|
if: ${{ !(github.event_name == 'pull_request' && matrix.distribution == 'goreleaser-pro') }}
|
||||||
run: |
|
run: |
|
||||||
goreleaser check --debug
|
goreleaser check --debug
|
||||||
|
|
||||||
@@ -103,7 +116,7 @@ jobs:
|
|||||||
name: Set up Go
|
name: Set up Go
|
||||||
uses: actions/setup-go@v2
|
uses: actions/setup-go@v2
|
||||||
with:
|
with:
|
||||||
go-version: 1.15
|
go-version: 1.16
|
||||||
-
|
-
|
||||||
name: Import GPG key
|
name: Import GPG key
|
||||||
id: import_gpg
|
id: import_gpg
|
||||||
@@ -142,7 +155,7 @@ jobs:
|
|||||||
name: Set up Go
|
name: Set up Go
|
||||||
uses: actions/setup-go@v2
|
uses: actions/setup-go@v2
|
||||||
with:
|
with:
|
||||||
go-version: 1.15
|
go-version: 1.16
|
||||||
-
|
-
|
||||||
name: Check
|
name: Check
|
||||||
uses: ./
|
uses: ./
|
||||||
|
|||||||
@@ -31,6 +31,6 @@ jobs:
|
|||||||
targets: test
|
targets: test
|
||||||
-
|
-
|
||||||
name: Upload coverage
|
name: Upload coverage
|
||||||
uses: codecov/codecov-action@v1
|
uses: codecov/codecov-action@v2
|
||||||
with:
|
with:
|
||||||
file: ./coverage/clover.xml
|
file: ./coverage/clover.xml
|
||||||
|
|||||||
-132
@@ -1,132 +0,0 @@
|
|||||||
# Changelog
|
|
||||||
|
|
||||||
## 2.5.0 (2021/03/31)
|
|
||||||
|
|
||||||
* Bump y18n from 4.0.0 to 4.0.1 (#272)
|
|
||||||
* Bump @actions/http-client from 1.0.9 to 1.0.11 (#270)
|
|
||||||
* Enhance workflow (#271)
|
|
||||||
* Bump node-notifier from 8.0.0 to 8.0.1 (#263)
|
|
||||||
|
|
||||||
## 2.4.1 (2020/12/02)
|
|
||||||
|
|
||||||
* Do not overwrite GORELEASER_CURRENT_TAG if already declared (#260)
|
|
||||||
|
|
||||||
## 2.4.0 (2020/11/30)
|
|
||||||
|
|
||||||
* Set GORELEASER_CURRENT_TAG (#259)
|
|
||||||
* Container based developer flow (#258)
|
|
||||||
* Upload artifact example (#257)
|
|
||||||
* Bump @actions/tool-cache from 1.6.0 to 1.6.1 (#256)
|
|
||||||
|
|
||||||
## 2.3.0 (2020/11/06)
|
|
||||||
|
|
||||||
* Add install-only option for using goreleaser in user scripts (#252)
|
|
||||||
* Update deps
|
|
||||||
|
|
||||||
## 2.2.1 (2020/10/01)
|
|
||||||
|
|
||||||
* Fix CVE-2020-15228
|
|
||||||
|
|
||||||
## 2.2.0 (2020/08/27)
|
|
||||||
|
|
||||||
* Use GITHUB_REF to retrieve tag before checking the most recent tag (#238)
|
|
||||||
* Update deps
|
|
||||||
|
|
||||||
## 2.1.1 (2020/06/24)
|
|
||||||
|
|
||||||
* Fix workdir (#224)
|
|
||||||
|
|
||||||
## 2.1.0 (2020/06/15)
|
|
||||||
|
|
||||||
* Implement (optional) semver parsing of version (#213)
|
|
||||||
* Remove unshallow step (goreleaser/goreleaser#1608)
|
|
||||||
|
|
||||||
## 2.0.2 (2020/05/10)
|
|
||||||
|
|
||||||
* Use template in `sign.args`
|
|
||||||
|
|
||||||
## 2.0.1 (2020/05/10)
|
|
||||||
|
|
||||||
* Dummy release to mark v2 as latest on the marketplace
|
|
||||||
|
|
||||||
## 2.0.0 (2020/05/10)
|
|
||||||
|
|
||||||
* Remove `key` input and use [Import GPG](https://github.com/crazy-max/ghaction-import-gpg) GitHub Action instead.
|
|
||||||
* Make `args` input as required
|
|
||||||
* Go 1.14
|
|
||||||
* Update deps
|
|
||||||
|
|
||||||
## 1.5.1 (2020/05/10)
|
|
||||||
|
|
||||||
* Mark `key` input as deprecated
|
|
||||||
|
|
||||||
## 1.5.0 (2020/05/07)
|
|
||||||
|
|
||||||
* Use native GitHub Action tools to download assets and use GitHub API
|
|
||||||
* Fix unexpected output when tag not found
|
|
||||||
* Use GitHub Action exec
|
|
||||||
* Cleanup local paths from extra fields
|
|
||||||
* Add notes about limitation with GITHUB_TOKEN (#58)
|
|
||||||
* Add Codecov
|
|
||||||
|
|
||||||
## 1.4.0 (2020/04/09)
|
|
||||||
|
|
||||||
* Use ncc and clean workflows
|
|
||||||
* Update deps
|
|
||||||
|
|
||||||
## 1.3.1 (2020/02/14)
|
|
||||||
|
|
||||||
* Don't fail on `getTag` (#98)
|
|
||||||
|
|
||||||
## 1.3.0 (2020/02/11)
|
|
||||||
|
|
||||||
* Improve git tag detection (#77)
|
|
||||||
* Only handle snapshot flag for release cmd (#94)
|
|
||||||
* Use `core.info` instead of `console.log`
|
|
||||||
* Update deps
|
|
||||||
* Update gitattributes
|
|
||||||
|
|
||||||
## 1.2.1 (2020/01/20)
|
|
||||||
|
|
||||||
* Update deps
|
|
||||||
|
|
||||||
## 1.2.0 (2019/12/24)
|
|
||||||
|
|
||||||
* Update deps
|
|
||||||
|
|
||||||
## 1.1.0 (2019/12/02)
|
|
||||||
|
|
||||||
* Add input to run GoReleaser from a subdirectory (#45)
|
|
||||||
|
|
||||||
## 1.0.2 (2019/11/14)
|
|
||||||
|
|
||||||
* Fix tsc gen
|
|
||||||
|
|
||||||
## 1.0.1 (2019/11/14)
|
|
||||||
|
|
||||||
* Update deps
|
|
||||||
|
|
||||||
## 1.0.0 (2019/10/04)
|
|
||||||
|
|
||||||
* Stable release
|
|
||||||
* Update deps
|
|
||||||
|
|
||||||
## 0.4.0 (2019/09/28)
|
|
||||||
|
|
||||||
* Move repository to GoReleaser org (#3)
|
|
||||||
|
|
||||||
## 0.3.0 (2019/09/26)
|
|
||||||
|
|
||||||
* Artifact signing (#2)
|
|
||||||
|
|
||||||
## 0.2.1 (2019/09/22)
|
|
||||||
|
|
||||||
* Typo
|
|
||||||
|
|
||||||
## 0.2.0 (2019/09/20)
|
|
||||||
|
|
||||||
* Snapshot forced if no tag found
|
|
||||||
|
|
||||||
## 0.1.0 (2019/09/20)
|
|
||||||
|
|
||||||
* Initial version
|
|
||||||
@@ -26,9 +26,9 @@ describe('github', () => {
|
|||||||
expect(release).not.toBeNull();
|
expect(release).not.toBeNull();
|
||||||
expect(release?.tag_name).toEqual('v0.166.0-pro');
|
expect(release?.tag_name).toEqual('v0.166.0-pro');
|
||||||
});
|
});
|
||||||
it('returns v0.166.0-pro GoReleaser Pro GitHub release when using semver', async () => {
|
it('returns v0.166.1-pro GoReleaser Pro GitHub release when using semver', async () => {
|
||||||
const release = await github.getRelease('goreleaser-pro', '~> 0.166');
|
const release = await github.getRelease('goreleaser-pro', '~> 0.166');
|
||||||
expect(release).not.toBeNull();
|
expect(release).not.toBeNull();
|
||||||
expect(release?.tag_name).toEqual('v0.166.0-pro');
|
expect(release?.tag_name).toEqual('v0.166.1-pro');
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -7,6 +7,10 @@ branding:
|
|||||||
icon: 'package'
|
icon: 'package'
|
||||||
|
|
||||||
inputs:
|
inputs:
|
||||||
|
distribution:
|
||||||
|
description: 'GoReleaser Distribution (goreleaser or goreleaser-pro)'
|
||||||
|
default: 'goreleaser'
|
||||||
|
required: false
|
||||||
version:
|
version:
|
||||||
description: 'GoReleaser version'
|
description: 'GoReleaser version'
|
||||||
default: 'latest'
|
default: 'latest'
|
||||||
|
|||||||
+549
-1856
File diff suppressed because it is too large
Load Diff
+13
-13
@@ -21,23 +21,23 @@
|
|||||||
"author": "CrazyMax",
|
"author": "CrazyMax",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@actions/core": "^1.3.0",
|
"@actions/core": "^1.4.0",
|
||||||
"@actions/exec": "^1.0.4",
|
"@actions/exec": "^1.1.0",
|
||||||
"@actions/http-client": "^1.0.11",
|
"@actions/http-client": "^1.0.11",
|
||||||
"@actions/tool-cache": "^1.6.1"
|
"@actions/tool-cache": "^1.7.1"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@types/jest": "^26.0.14",
|
"@types/jest": "^26.0.24",
|
||||||
"@types/node": "^14.11.2",
|
"@types/node": "^14.17.6",
|
||||||
"@vercel/ncc": "^0.24.1",
|
"@vercel/ncc": "^0.28.6",
|
||||||
"dotenv": "^8.2.0",
|
"dotenv": "^8.6.0",
|
||||||
"jest": "^26.4.2",
|
"jest": "^26.6.3",
|
||||||
"jest-circus": "^26.4.2",
|
"jest-circus": "^26.6.3",
|
||||||
"jest-runtime": "^26.4.2",
|
"jest-runtime": "^26.6.3",
|
||||||
"prettier": "^2.1.2",
|
"prettier": "^2.3.2",
|
||||||
"tmp": "^0.2.1",
|
"tmp": "^0.2.1",
|
||||||
"ts-jest": "^26.4.1",
|
"ts-jest": "^26.5.6",
|
||||||
"typescript": "^4.0.3",
|
"typescript": "^4.3.5",
|
||||||
"typescript-formatter": "^7.2.2"
|
"typescript-formatter": "^7.2.2"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
-34
@@ -1,34 +0,0 @@
|
|||||||
import * as actionsExec from '@actions/exec';
|
|
||||||
import {ExecOptions} from '@actions/exec';
|
|
||||||
|
|
||||||
export interface ExecResult {
|
|
||||||
success: boolean;
|
|
||||||
stdout: string;
|
|
||||||
stderr: string;
|
|
||||||
}
|
|
||||||
|
|
||||||
export const exec = async (command: string, args: string[] = [], silent: boolean): Promise<ExecResult> => {
|
|
||||||
let stdout: string = '';
|
|
||||||
let stderr: string = '';
|
|
||||||
|
|
||||||
const options: ExecOptions = {
|
|
||||||
silent: silent,
|
|
||||||
ignoreReturnCode: true
|
|
||||||
};
|
|
||||||
options.listeners = {
|
|
||||||
stdout: (data: Buffer) => {
|
|
||||||
stdout += data.toString();
|
|
||||||
},
|
|
||||||
stderr: (data: Buffer) => {
|
|
||||||
stderr += data.toString();
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
const returnCode: number = await actionsExec.exec(command, args, options);
|
|
||||||
|
|
||||||
return {
|
|
||||||
success: returnCode === 0,
|
|
||||||
stdout: stdout.trim(),
|
|
||||||
stderr: stderr.trim()
|
|
||||||
};
|
|
||||||
};
|
|
||||||
+12
-7
@@ -1,12 +1,17 @@
|
|||||||
import * as exec from './exec';
|
import * as exec from '@actions/exec';
|
||||||
|
|
||||||
const git = async (args: string[] = []): Promise<string> => {
|
const git = async (args: string[] = []): Promise<string> => {
|
||||||
return await exec.exec(`git`, args, true).then(res => {
|
return await exec
|
||||||
if (res.stderr != '' && !res.success) {
|
.getExecOutput(`git`, args, {
|
||||||
throw new Error(res.stderr);
|
ignoreReturnCode: true,
|
||||||
}
|
silent: true
|
||||||
return res.stdout.trim();
|
})
|
||||||
});
|
.then(res => {
|
||||||
|
if (res.stderr.length > 0 && res.exitCode != 0) {
|
||||||
|
throw new Error(res.stderr);
|
||||||
|
}
|
||||||
|
return res.stdout.trim();
|
||||||
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
export async function getTag(): Promise<string> {
|
export async function getTag(): Promise<string> {
|
||||||
|
|||||||
+2
-3
@@ -15,7 +15,6 @@ export async function getGoReleaser(distribution: string, version: string): Prom
|
|||||||
throw new Error(`Cannot find GoReleaser ${version} release`);
|
throw new Error(`Cannot find GoReleaser ${version} release`);
|
||||||
}
|
}
|
||||||
|
|
||||||
core.info(`✅ GoReleaser version found: ${release.tag_name}`);
|
|
||||||
const filename = getFilename(distribution);
|
const filename = getFilename(distribution);
|
||||||
const downloadUrl = util.format(
|
const downloadUrl = util.format(
|
||||||
'https://github.com/goreleaser/%s/releases/download/%s/%s',
|
'https://github.com/goreleaser/%s/releases/download/%s/%s',
|
||||||
@@ -24,11 +23,11 @@ export async function getGoReleaser(distribution: string, version: string): Prom
|
|||||||
filename
|
filename
|
||||||
);
|
);
|
||||||
|
|
||||||
core.info(`⬇️ Downloading ${downloadUrl}...`);
|
core.info(`Downloading ${downloadUrl}`);
|
||||||
const downloadPath: string = await tc.downloadTool(downloadUrl);
|
const downloadPath: string = await tc.downloadTool(downloadUrl);
|
||||||
core.debug(`Downloaded to ${downloadPath}`);
|
core.debug(`Downloaded to ${downloadPath}`);
|
||||||
|
|
||||||
core.info('📦 Extracting GoReleaser...');
|
core.info('Extracting GoReleaser');
|
||||||
let extPath: string;
|
let extPath: string;
|
||||||
if (osPlat == 'win32') {
|
if (osPlat == 'win32') {
|
||||||
extPath = await tc.extractZip(downloadPath);
|
extPath = await tc.extractZip(downloadPath);
|
||||||
|
|||||||
+6
-6
@@ -12,7 +12,7 @@ async function run(): Promise<void> {
|
|||||||
const workdir = core.getInput('workdir') || '.';
|
const workdir = core.getInput('workdir') || '.';
|
||||||
const isInstallOnly = /^true$/i.test(core.getInput('install-only'));
|
const isInstallOnly = /^true$/i.test(core.getInput('install-only'));
|
||||||
const goreleaser = await installer.getGoReleaser(distribution, version);
|
const goreleaser = await installer.getGoReleaser(distribution, version);
|
||||||
core.info(`✅ GoReleaser installed successfully`);
|
core.info(`GoReleaser ${version} installed successfully`);
|
||||||
|
|
||||||
if (isInstallOnly) {
|
if (isInstallOnly) {
|
||||||
const goreleaserDir = dirname(goreleaser);
|
const goreleaserDir = dirname(goreleaser);
|
||||||
@@ -20,11 +20,12 @@ async function run(): Promise<void> {
|
|||||||
core.debug(`Added ${goreleaserDir} to PATH`);
|
core.debug(`Added ${goreleaserDir} to PATH`);
|
||||||
return;
|
return;
|
||||||
} else if (!args) {
|
} else if (!args) {
|
||||||
throw new Error('args input required');
|
core.setFailed('args input required');
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (workdir && workdir !== '.') {
|
if (workdir && workdir !== '.') {
|
||||||
core.info(`📂 Using ${workdir} as working directory...`);
|
core.info(`Using ${workdir} as working directory`);
|
||||||
process.chdir(workdir);
|
process.chdir(workdir);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -35,16 +36,15 @@ async function run(): Promise<void> {
|
|||||||
let snapshot = '';
|
let snapshot = '';
|
||||||
if (args.split(' ').indexOf('release') > -1) {
|
if (args.split(' ').indexOf('release') > -1) {
|
||||||
if (isTagDirty) {
|
if (isTagDirty) {
|
||||||
core.info(`⚠️ No tag found for commit ${commit}. Snapshot forced`);
|
core.info(`No tag found for commit ${commit}. Snapshot forced`);
|
||||||
if (!args.includes('--snapshot')) {
|
if (!args.includes('--snapshot')) {
|
||||||
snapshot = ' --snapshot';
|
snapshot = ' --snapshot';
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
core.info(`✅ ${tag} tag found for commit ${commit}`);
|
core.info(`${tag} tag found for commit ${commit}`);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
core.info('🏃 Running GoReleaser...');
|
|
||||||
if (!('GORELEASER_CURRENT_TAG' in process.env)) {
|
if (!('GORELEASER_CURRENT_TAG' in process.env)) {
|
||||||
process.env.GORELEASER_CURRENT_TAG = tag;
|
process.env.GORELEASER_CURRENT_TAG = tag;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user