Skip to content

Commit 3d57a20

Browse files
committed
Add install-only test job and fix action.yml
1 parent 3f5ecc4 commit 3d57a20

File tree

4 files changed

+45
-9
lines changed

4 files changed

+45
-9
lines changed

.github/workflows/ci.yml

+30
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,36 @@ jobs:
4949
version: ${{ matrix.version }}
5050
args: release --skip-publish --rm-dist
5151

52+
install-only:
53+
runs-on: ${{ matrix.os }}
54+
strategy:
55+
fail-fast: false
56+
matrix:
57+
version:
58+
- latest
59+
- v0.117.0
60+
steps:
61+
-
62+
name: Checkout
63+
uses: actions/[email protected]
64+
with:
65+
fetch-depth: 0
66+
-
67+
name: Set up Go
68+
uses: actions/setup-go@v2
69+
with:
70+
go-version: 1.14
71+
-
72+
name: GoReleaser
73+
uses: ./
74+
with:
75+
version: ${{ matrix.version }}
76+
install-only: true
77+
-
78+
name: Check
79+
run: |
80+
goreleaser check --debug
81+
5282
signing:
5383
runs-on: ${{ matrix.os }}
5484
if: github.event_name != 'pull_request'

action.yml

+5-5
Original file line numberDiff line numberDiff line change
@@ -11,17 +11,17 @@ inputs:
1111
description: 'GoReleaser version'
1212
default: 'latest'
1313
required: false
14-
install-only:
15-
description: 'Just install GoReleaser'
16-
default: 'false'
17-
required: false
1814
args:
1915
description: 'Arguments to pass to GoReleaser'
20-
required: true # not required when install-only=true
16+
required: false
2117
workdir:
2218
description: 'Working directory (below repository root)'
2319
default: '.'
2420
required: false
21+
install-only:
22+
description: 'Just install GoReleaser'
23+
default: 'false'
24+
required: false
2525

2626
runs:
2727
using: 'node12'

dist/index.js

+5-2
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/main.ts

+5-2
Original file line numberDiff line numberDiff line change
@@ -7,17 +7,20 @@ import {dirname} from 'path';
77
async function run(): Promise<void> {
88
try {
99
const version = core.getInput('version') || 'latest';
10-
const isInstallOnly = /^true$/i.test(core.getInput('install-only'));
10+
const args = core.getInput('args');
1111
const workdir = core.getInput('workdir') || '.';
12+
const isInstallOnly = /^true$/i.test(core.getInput('install-only'));
1213
const goreleaser = await installer.getGoReleaser(version);
1314
core.info(`✅ GoReleaser installed successfully`);
15+
1416
if (isInstallOnly) {
1517
const goreleaserDir = dirname(goreleaser);
1618
core.addPath(goreleaserDir);
1719
core.debug(`Added ${goreleaserDir} to PATH`);
1820
return;
21+
} else if (!args) {
22+
throw new Error('args input required');
1923
}
20-
const args = core.getInput('args', {required: true});
2124

2225
if (workdir && workdir !== '.') {
2326
core.info(`📂 Using ${workdir} as working directory...`);

0 commit comments

Comments
 (0)