Compare commits

..
48 Commits
Author SHA1 Message Date
CrazyMax 87487e9bbd Update CHANGELOG 2020-05-10 17:33:37 +02:00
CrazyMax 99636ee53c Update CHANGELOG 2020-05-10 17:32:55 +02:00
CrazyMax 3140f0a474 Dummy 2020-05-10 17:31:57 +02:00
CrazyMax 83d17e5b70 Update workflows 2020-05-10 16:24:55 +02:00
CrazyMax 3fa258510f Update workflows 2020-05-10 16:24:22 +02:00
CrazyMax 17a723793e Update CHANGELOG 2020-05-10 16:22:42 +02:00
CrazyMax 0c93efcb3b Set v2 2020-05-10 16:22:33 +02:00
CrazyMax bfee8df61e Mark args input as required 2020-05-10 16:19:42 +02:00
CrazyMax 65ffe9d1d5 Go 1.14 2020-05-10 16:15:33 +02:00
CrazyMax 145323343f Env var template in signing configuration does not seems to work 2020-05-10 16:12:19 +02:00
CrazyMax c2638bf40c Fix CI workflow 2020-05-10 16:08:03 +02:00
CrazyMax f3c3945401 Remove key input and use Import GPG GitHub Action instead 2020-05-10 16:02:05 +02:00
dependabot-preview[bot]GitHubdependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
b965206285 chore(deps-dev): bump jest-runtime from 25.5.4 to 26.0.1 (#188)
Bumps [jest-runtime](https://github.com/facebook/jest/tree/HEAD/packages/jest-runtime) from 25.5.4 to 26.0.1.
- [Release notes](https://github.com/facebook/jest/releases)
- [Changelog](https://github.com/facebook/jest/blob/master/CHANGELOG.md)
- [Commits](https://github.com/facebook/jest/commits/v26.0.1/packages/jest-runtime)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2020-05-10 15:12:40 +02:00
dependabot-preview[bot]GitHubdependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
5ee2a593ae chore(deps-dev): bump jest-circus from 25.5.4 to 26.0.1 (#189)
Bumps [jest-circus](https://github.com/facebook/jest/tree/HEAD/packages/jest-circus) from 25.5.4 to 26.0.1.
- [Release notes](https://github.com/facebook/jest/releases)
- [Changelog](https://github.com/facebook/jest/blob/master/CHANGELOG.md)
- [Commits](https://github.com/facebook/jest/commits/v26.0.1/packages/jest-circus)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2020-05-10 15:08:27 +02:00
CrazyMax 92dbfe88d3 Update CHANGELOG 2020-05-07 11:58:24 +02:00
CrazyMax 5c72929026 Update generated content 2020-05-07 11:52:27 +02:00
CrazyMax 6cda5a63f1 Typo 2020-05-07 11:51:19 +02:00
CrazyMax 85e5a36a01 Matrix tests 2020-05-07 11:50:41 +02:00
CrazyMax 5835168d00 Add Codecov 2020-05-07 11:47:49 +02:00
CrazyMax 4cd8fafb4f Add notes about limitation with GITHUB_TOKEN (#58) 2020-05-07 02:42:55 +02:00
6c7b10c265 feat: Use native GitHub Action tools to download assets and use GitHub API (#187)
* Use native GitHub Action tools to download assets and use GitHub API
* Fix unexpected output when tag not found
* Use GitHub Action exec
* Add screenshot

Co-authored-by: CrazyMax <crazy-max@users.noreply.github.com>
2020-05-07 02:15:24 +02:00
CrazyMax 88f1da8c86 Cleanup workflows 2020-05-07 00:01:12 +02:00
CrazyMax 2555b3b392 Cleanup local paths from extra fields 2020-05-06 23:29:41 +02:00
CrazyMax 7d241840cb Update deps 2020-05-06 23:12:38 +02:00
CrazyMax 8a2a131059 Update workflows 2020-05-06 23:12:22 +02:00
CrazyMax 6bbaec719e Fix package json 2020-05-06 23:03:14 +02:00
CrazyMax d139f5173c Add CHANGELOG 2020-05-06 23:02:59 +02:00
CrazyMax 97ac0d8773 Uneeded 2020-05-06 22:54:24 +02:00
dependabot-preview[bot]GitHubdependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
370c46a5bb chore(deps): bump @actions/core from 1.2.3 to 1.2.4 (#177)
Bumps [@actions/core](https://github.com/actions/toolkit/tree/HEAD/packages/core) from 1.2.3 to 1.2.4.
- [Release notes](https://github.com/actions/toolkit/releases)
- [Changelog](https://github.com/actions/toolkit/blob/master/packages/core/RELEASES.md)
- [Commits](https://github.com/actions/toolkit/commits/HEAD/packages/core)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2020-05-06 01:58:51 +02:00
dependabot-preview[bot]GitHubdependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2f9f2a7ad1 chore(deps-dev): bump jest-circus from 25.4.0 to 25.5.2 (#176)
Bumps [jest-circus](https://github.com/facebook/jest/tree/HEAD/packages/jest-circus) from 25.4.0 to 25.5.2.
- [Release notes](https://github.com/facebook/jest/releases)
- [Changelog](https://github.com/facebook/jest/blob/master/CHANGELOG.md)
- [Commits](https://github.com/facebook/jest/commits/v25.5.2/packages/jest-circus)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2020-04-30 11:24:19 +02:00
dependabot-preview[bot]GitHubdependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
29e97dc85b chore(deps-dev): bump jest-runtime from 25.4.0 to 25.5.2 (#175)
Bumps [jest-runtime](https://github.com/facebook/jest/tree/HEAD/packages/jest-runtime) from 25.4.0 to 25.5.2.
- [Release notes](https://github.com/facebook/jest/releases)
- [Changelog](https://github.com/facebook/jest/blob/master/CHANGELOG.md)
- [Commits](https://github.com/facebook/jest/commits/v25.5.2/packages/jest-runtime)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2020-04-30 11:15:47 +02:00
dependabot-preview[bot]GitHubdependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
7a8bdf9c3a chore(deps-dev): bump jest from 25.4.0 to 25.5.2 (#174)
Bumps [jest](https://github.com/facebook/jest) from 25.4.0 to 25.5.2.
- [Release notes](https://github.com/facebook/jest/releases)
- [Changelog](https://github.com/facebook/jest/blob/master/CHANGELOG.md)
- [Commits](https://github.com/facebook/jest/compare/v25.4.0...v25.5.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2020-04-30 10:49:11 +02:00
dependabot-preview[bot]GitHubdependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
d0cfadc807 chore(deps): bump @actions/exec from 1.0.3 to 1.0.4 (#171)
Bumps [@actions/exec](https://github.com/actions/toolkit/tree/HEAD/packages/exec) from 1.0.3 to 1.0.4.
- [Release notes](https://github.com/actions/toolkit/releases)
- [Changelog](https://github.com/actions/toolkit/blob/master/packages/exec/RELEASES.md)
- [Commits](https://github.com/actions/toolkit/commits/HEAD/packages/exec)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2020-04-30 10:22:12 +02:00
dependabot-preview[bot]GitHubdependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
8afea26b30 chore(deps-dev): bump @types/node from 13.13.2 to 13.13.4 (#168)
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 13.13.2 to 13.13.4.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2020-04-27 23:10:42 +02:00
dependabot-preview[bot]GitHubdependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
d2079604fb chore(deps): bump @actions/tool-cache from 1.3.3 to 1.3.4 (#166)
Bumps [@actions/tool-cache](https://github.com/actions/toolkit/tree/HEAD/packages/tool-cache) from 1.3.3 to 1.3.4.
- [Release notes](https://github.com/actions/toolkit/releases)
- [Changelog](https://github.com/actions/toolkit/blob/master/packages/tool-cache/RELEASES.md)
- [Commits](https://github.com/actions/toolkit/commits/HEAD/packages/tool-cache)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2020-04-24 18:03:56 +02:00
dependabot-preview[bot]GitHubdependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
86bb25eb16 chore(deps-dev): bump @types/node from 13.13.1 to 13.13.2 (#164)
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 13.13.1 to 13.13.2.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2020-04-22 18:16:11 +02:00
dependabot-preview[bot]GitHubdependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
118c74acdb chore(deps-dev): bump prettier from 2.0.4 to 2.0.5 (#165)
Bumps [prettier](https://github.com/prettier/prettier) from 2.0.4 to 2.0.5.
- [Release notes](https://github.com/prettier/prettier/releases)
- [Changelog](https://github.com/prettier/prettier/blob/master/CHANGELOG.md)
- [Commits](https://github.com/prettier/prettier/compare/2.0.4...2.0.5)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2020-04-22 18:14:18 +02:00
dependabot-preview[bot]GitHubdependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
bfdefad7a0 chore(deps-dev): bump @types/node from 13.13.0 to 13.13.1 (#163)
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 13.13.0 to 13.13.1.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2020-04-21 09:59:10 +02:00
dependabot-preview[bot]GitHubdependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
82db7ce7a9 chore(deps-dev): bump jest-circus from 25.3.0 to 25.4.0 (#162)
Bumps [jest-circus](https://github.com/facebook/jest/tree/HEAD/packages/jest-circus) from 25.3.0 to 25.4.0.
- [Release notes](https://github.com/facebook/jest/releases)
- [Changelog](https://github.com/facebook/jest/blob/master/CHANGELOG.md)
- [Commits](https://github.com/facebook/jest/commits/v25.4.0/packages/jest-circus)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2020-04-20 13:18:44 +02:00
dependabot-preview[bot]GitHubdependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
25477b1bd1 chore(deps-dev): bump jest from 25.3.0 to 25.4.0 (#161)
Bumps [jest](https://github.com/facebook/jest) from 25.3.0 to 25.4.0.
- [Release notes](https://github.com/facebook/jest/releases)
- [Changelog](https://github.com/facebook/jest/blob/master/CHANGELOG.md)
- [Commits](https://github.com/facebook/jest/compare/v25.3.0...v25.4.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2020-04-20 10:23:22 +02:00
dependabot-preview[bot]GitHubdependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
1066259677 chore(deps-dev): bump jest-runtime from 25.3.0 to 25.4.0 (#160)
Bumps [jest-runtime](https://github.com/facebook/jest/tree/HEAD/packages/jest-runtime) from 25.3.0 to 25.4.0.
- [Release notes](https://github.com/facebook/jest/releases)
- [Changelog](https://github.com/facebook/jest/blob/master/CHANGELOG.md)
- [Commits](https://github.com/facebook/jest/commits/v25.4.0/packages/jest-runtime)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2020-04-20 10:19:39 +02:00
dependabot-preview[bot]GitHubdependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
0104c038fa chore(deps-dev): bump @types/node from 13.11.1 to 13.13.0 (#159)
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 13.11.1 to 13.13.0.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2020-04-20 10:11:05 +02:00
CrazyMax f3bdd39e1f Fix lint workflow 2020-04-20 02:16:05 +02:00
dependabot-preview[bot]GitHubdependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
db99dcc9b2 chore(deps-dev): bump ts-jest from 25.3.1 to 25.4.0 (#158)
Bumps [ts-jest](https://github.com/kulshekhar/ts-jest) from 25.3.1 to 25.4.0.
- [Release notes](https://github.com/kulshekhar/ts-jest/releases)
- [Changelog](https://github.com/kulshekhar/ts-jest/blob/master/CHANGELOG.md)
- [Commits](https://github.com/kulshekhar/ts-jest/compare/v25.3.1...v25.4.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2020-04-17 17:09:12 +02:00
dependabot-preview[bot]GitHubdependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
fb949a3789 chore(deps-dev): bump jest-runtime from 25.2.7 to 25.3.0 (#153)
Bumps [jest-runtime](https://github.com/facebook/jest/tree/HEAD/packages/jest-runtime) from 25.2.7 to 25.3.0.
- [Release notes](https://github.com/facebook/jest/releases)
- [Changelog](https://github.com/facebook/jest/blob/master/CHANGELOG.md)
- [Commits](https://github.com/facebook/jest/commits/v25.3.0/packages/jest-runtime)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2020-04-10 04:11:54 +02:00
dependabot-preview[bot]GitHubdependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
bc41bde3ee chore(deps-dev): bump @types/node from 13.11.0 to 13.11.1 (#155)
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 13.11.0 to 13.11.1.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2020-04-10 04:08:13 +02:00
dependabot-preview[bot]GitHubdependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
a49693e423 chore(deps-dev): bump jest from 25.2.7 to 25.3.0 (#154)
Bumps [jest](https://github.com/facebook/jest) from 25.2.7 to 25.3.0.
- [Release notes](https://github.com/facebook/jest/releases)
- [Changelog](https://github.com/facebook/jest/blob/master/CHANGELOG.md)
- [Commits](https://github.com/facebook/jest/compare/v25.2.7...v25.3.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2020-04-10 04:07:56 +02:00
dependabot-preview[bot]GitHubdependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
62c27dd156 chore(deps-dev): bump jest-circus from 25.2.7 to 25.3.0 (#156)
Bumps [jest-circus](https://github.com/facebook/jest/tree/HEAD/packages/jest-circus) from 25.2.7 to 25.3.0.
- [Release notes](https://github.com/facebook/jest/releases)
- [Changelog](https://github.com/facebook/jest/blob/master/CHANGELOG.md)
- [Commits](https://github.com/facebook/jest/commits/v25.3.0/packages/jest-circus)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2020-04-10 04:01:04 +02:00
27 changed files with 4075 additions and 26754 deletions
Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

+49 -8
View File
@@ -1,14 +1,15 @@
name: ci
on:
pull_request:
branches:
- master
- releases/*
push:
branches:
- master
- releases/*
- 'master'
- 'releases/'
paths-ignore:
- '**.md'
pull_request:
paths-ignore:
- '**.md'
jobs:
ci:
@@ -32,9 +33,9 @@ jobs:
run: git fetch --prune --unshallow
-
name: Set up Go
uses: actions/setup-go@v1
uses: actions/setup-go@v2
with:
go-version: 1.13.x
go-version: 1.14
-
name: Check
uses: ./
@@ -47,3 +48,43 @@ jobs:
with:
version: ${{ matrix.version }}
args: release --skip-publish --rm-dist
signing:
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os:
- ubuntu-latest
- macOS-latest
- windows-latest
steps:
-
name: Checkout
uses: actions/checkout@v2
-
name: Unshallow
run: git fetch --prune --unshallow
-
name: Set up Go
uses: actions/setup-go@v2
with:
go-version: 1.14
-
name: Import GPG key
uses: crazy-max/ghaction-import-gpg@v1
env:
GPG_PRIVATE_KEY: ${{ secrets.GPG_PRIVATE_KEY_TEST }}
PASSPHRASE: ${{ secrets.PASSPHRASE_TEST }}
-
name: Check
uses: ./
with:
version: latest
args: -f .goreleaser-signing.yml check --debug
-
name: GoReleaser
uses: ./
with:
version: latest
args: -f .goreleaser-signing.yml release --skip-publish --rm-dist
+5 -1
View File
@@ -13,7 +13,11 @@ jobs:
-
# https://github.com/actions/checkout
name: Checkout
uses: actions/checkout@v1
uses: actions/checkout@v2
-
# https://github.com/actions/setup-node
name: Set up Node
uses: actions/setup-node@v1
-
name: Setup TS
run: npm install tslint typescript -g
+27 -16
View File
@@ -1,34 +1,45 @@
name: test
on:
pull_request:
branches:
- master
- releases/*
push:
branches:
- master
- releases/*
- 'master'
- 'releases/*'
paths-ignore:
- '**.md'
pull_request:
paths-ignore:
- '**.md'
jobs:
test:
runs-on: ubuntu-latest
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os:
- ubuntu-latest
- macOS-latest
- windows-latest
steps:
-
# https://github.com/actions/checkout
name: Checkout
uses: actions/checkout@v1
uses: actions/checkout@v2
-
name: Build
run: |
npm install
npm run build
name: Unshallow
run: git fetch --prune --unshallow
-
name: Install
run: npm ci
-
name: Build
run: npm run build
run: npm install
-
name: Test
run: npm run test
-
# https://github.com/codecov/codecov-action
name: Upload coverage
uses: codecov/codecov-action@v1
if: success()
with:
token: ${{ secrets.CODECOV_TOKEN }}
file: ./coverage/clover.xml
+40
View File
@@ -0,0 +1,40 @@
env:
- GO111MODULE=on
- GOPROXY=https://goproxy.io
before:
hooks:
- go mod download
builds:
-
env:
- CGO_ENABLED=0
goos:
- darwin
- linux
- windows
goarch:
- 386
- amd64
archives:
-
replacements:
386: i386
amd64: x86_64
format_overrides:
- goos: windows
format: zip
files:
- LICENSE
- README.md
- CHANGELOG.md
checksum:
name_template: 'checksums.txt'
signs:
-
artifacts: checksum
args: ["--batch", "-u", "27571A53B86AF0C799B38BA77D851EB72D73BDA0", "--output", "${signature}", "--detach-sign", "${artifact}"]
+35
View File
@@ -0,0 +1,35 @@
env:
- GO111MODULE=on
- GOPROXY=https://goproxy.io
before:
hooks:
- go mod download
builds:
-
env:
- CGO_ENABLED=0
goos:
- darwin
- linux
- windows
goarch:
- 386
- amd64
archives:
-
replacements:
386: i386
amd64: x86_64
format_overrides:
- goos: windows
format: zip
files:
- LICENSE
- README.md
- CHANGELOG.md
checksum:
name_template: 'checksums.txt'
+87
View File
@@ -0,0 +1,87 @@
# Changelog
## 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
+1 -1
View File
@@ -1,6 +1,6 @@
MIT License
Copyright (c) 2019 CrazyMax
Copyright (c) 2019-2020 CrazyMax
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
+81 -26
View File
@@ -5,17 +5,29 @@
<p align="center">
<a href="https://github.com/goreleaser/goreleaser-action/releases/latest"><img alt="GitHub release" src="https://img.shields.io/github/release/goreleaser/goreleaser-action.svg?logo=github&style=flat-square"></a>
<a href="https://github.com/marketplace/actions/goreleaser-action"><img alt="GitHub marketplace" src="https://img.shields.io/badge/marketplace-goreleaser--action-blue?logo=github&style=flat-square"></a>
<a href="https://github.com/goreleaser/goreleaser-action/actions?workflow=release"><img alt="Release workflow" src="https://github.com/goreleaser/goreleaser-action/workflows/release/badge.svg"></a>
<a href="https://github.com/goreleaser/goreleaser-action/actions?workflow=test"><img alt="Test workflow" src="https://github.com/goreleaser/goreleaser-action/workflows/test/badge.svg"></a>
<a href="https://github.com/goreleaser/goreleaser-action/actions?workflow=test"><img alt="Test workflow" src="https://img.shields.io/github/workflow/status/goreleaser/goreleaser-action/test?label=test&logo=github&style=flat-square"></a>
<a href="https://codecov.io/gh/goreleaser/goreleaser-action"><img alt="Codecov" src="https://img.shields.io/codecov/c/github/goreleaser/goreleaser-action?logo=codecov&style=flat-square"></a>
<a href="https://github.com/sponsors/crazy-max"><img src="https://img.shields.io/badge/sponsor-crazy--max-181717.svg?logo=github&style=flat-square" alt="Become a sponsor"></a>
</p>
</p>
---
___
![GoRelease Action](.github/goreleaser-action.png)
* [Usage](#usage)
* [Workflow](#workflow)
* [Run on new tag](#run-on-new-tag)
* [Signing](#signing)
* [Customizing](#customizing)
* [inputs](#inputs)
* [environment variables](#environment-variables)
* [Limitation](#limitation)
* [License](#license)
## Usage
Below is a simple snippet to use this action. A [live example](https://github.com/goreleaser/goreleaser-action/actions) is also available for this repository.
### Workflow
```yaml
name: goreleaser
@@ -36,22 +48,23 @@ jobs:
run: git fetch --prune --unshallow
-
name: Set up Go
uses: actions/setup-go@v1
uses: actions/setup-go@v2
with:
go-version: 1.13.x
go-version: 1.14
-
name: Run GoReleaser
uses: goreleaser/goreleaser-action@v1
uses: goreleaser/goreleaser-action@v2
with:
version: latest
args: release --rm-dist
key: ${{ secrets.YOUR_PRIVATE_KEY }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
```
> **IMPORTANT**: note the `Unshallow` step. It is required for the changelog to work correctly.
### Run on new tag
If you want to run GoReleaser only on new tag, you can use this event:
```yaml
@@ -66,35 +79,39 @@ Or with a condition on GoReleaser step:
```yaml
-
name: Run GoReleaser
uses: goreleaser/goreleaser-action@v1
uses: goreleaser/goreleaser-action@v2
if: startsWith(github.ref, 'refs/tags/')
with:
version: latest
args: release --rm-dist
key: ${{ secrets.YOUR_PRIVATE_KEY }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
```
> For detailed instructions please follow GitHub Actions [workflow syntax](https://help.github.com/en/articles/workflow-syntax-for-github-actions#About-yaml-syntax-for-workflows).
## Customizing
### Inputs
Following inputs can be used as `step.with` keys
| Name | Type | Default | Description |
|---------------|---------|-----------|-------------------------------------------|
| `version` | String | `latest` | GoReleaser version. Example: `v0.117.0` |
| `args` | String | | Arguments to pass to GoReleaser |
| `key` | String | | Private key to import |
| `workdir` | String | `.` | Working directory (below repository root) |
### Signing
If signing is enabled in your GoReleaser configuration, populate the `key` input with your private key
and reference the key in your signing configuration, e.g.
If [signing is enabled](https://goreleaser.com/customization/#Signing) in your GoReleaser configuration, you can use the [Import GPG](https://github.com/crazy-max/ghaction-import-gpg) GitHub Action along with this one:
```yaml
-
name: Import GPG key
uses: crazy-max/ghaction-import-gpg@v1
env:
GPG_PRIVATE_KEY: ${{ secrets.GPG_PRIVATE_KEY }}
PASSPHRASE: ${{ secrets.PASSPHRASE }}
-
name: Run GoReleaser
uses: goreleaser/goreleaser-action@v2
with:
version: latest
args: release --rm-dist
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
```
And reference the userID in your signing configuration:
```yaml
signs:
@@ -102,7 +119,45 @@ signs:
args: ["--batch", "-u", "<key id, fingerprint, email, ...>", "--output", "${signature}", "--detach-sign", "${artifact}"]
```
This feature is currently only compatible when using the default `gpg` command and a private key without a passphrase.
## Customizing
### inputs
Following inputs can be used as `step.with` keys
| Name | Type | Default | Description |
|---------------|---------|-----------|-------------------------------------------|
| `version` | String | `latest` | GoReleaser version. Example: `v0.117.0` |
| `args` | String | | Arguments to pass to GoReleaser |
| `workdir` | String | `.` | Working directory (below repository root) |
### environment variables
Following environment variables can be used as `step.env` keys
| Name | Description |
|----------------|---------------------------------------|
| `GITHUB_TOKEN` | [GITHUB_TOKEN](https://help.github.com/en/actions/configuring-and-managing-workflows/authenticating-with-the-github_token) as provided by `secrets` |
## Limitation
`GITHUB_TOKEN` permissions [are limited to the repository](https://help.github.com/en/actions/configuring-and-managing-workflows/authenticating-with-the-github_token#about-the-github_token-secret)
that contains your workflow.
If you need to push the homebrew tap to another repository, you must therefore create a custom [Personal Access Token](https://help.github.com/articles/creating-a-personal-access-token-for-the-command-line/)
with `repo` permissions and [add it as a secret in the repository](https://help.github.com/en/actions/automating-your-workflow-with-github-actions/creating-and-using-encrypted-secrets). If you create a
secret named `GH_PAT`, the step will look like this:
```yaml
-
name: Run GoReleaser
uses: goreleaser/goreleaser-action@v2
with:
version: latest
args: release --rm-dist
env:
GITHUB_TOKEN: ${{ secrets.GH_PAT }}
```
## License
+17
View File
@@ -0,0 +1,17 @@
import * as git from '../src/git';
describe('git', () => {
it('returns git tag', async () => {
const tag: string = await git.getTag();
console.log(tag);
expect(tag).not.toEqual('');
});
it('checks if tag is dirty', async () => {
expect(await git.isTagDirty('v1.3.1')).toBe(true);
});
it('returns short commit', async () => {
const commit: string = await git.getShortCommit();
console.log(commit);
expect(commit).not.toEqual('');
});
});
+16
View File
@@ -0,0 +1,16 @@
import * as github from '../src/github';
describe('github', () => {
it('returns latest GoReleaser GitHub release', async () => {
const release = await github.getRelease('latest');
console.log(release);
expect(release).not.toBeNull();
expect(release?.tag_name).not.toEqual('');
});
it('returns v0.117.0 GoReleaser GitHub release', async () => {
const release = await github.getRelease('v0.117.0');
console.log(release);
expect(release).not.toBeNull();
expect(release?.tag_name).toEqual('v0.117.0');
});
});
+2
View File
@@ -4,11 +4,13 @@ import * as installer from '../src/installer';
describe('installer', () => {
it('acquires v0.117.0 version of GoReleaser', async () => {
const goreleaser = await installer.getGoReleaser('v0.117.0');
console.log(goreleaser);
expect(fs.existsSync(goreleaser)).toBe(true);
}, 100000);
it('acquires latest version of GoReleaser', async () => {
const goreleaser = await installer.getGoReleaser('latest');
console.log(goreleaser);
expect(fs.existsSync(goreleaser)).toBe(true);
}, 100000);
});
+3 -2
View File
@@ -10,13 +10,14 @@ inputs:
version:
description: 'GoReleaser version. Example: v0.118.0'
default: 'latest'
required: false
args:
description: 'Arguments to pass to GoReleaser'
key:
description: 'Private key to import'
required: true
workdir:
description: 'Working directory (below repository root)'
default: '.'
required: false
runs:
using: 'node12'
Generated Vendored
+237 -22352
View File
File diff suppressed because one or more lines are too long
+1 -1
View File
@@ -1,3 +1,3 @@
module github.com/goreleaser/goreleaser-action
go 1.12
go 1.14
+3 -2
View File
@@ -1,11 +1,12 @@
module.exports = {
clearMocks: true,
moduleFileExtensions: ['js', 'ts'],
setupFiles: ["dotenv/config"],
testEnvironment: 'node',
testMatch: ['**/*.test.ts'],
testRunner: 'jest-circus/runner',
transform: {
'^.+\\.ts$': 'ts-jest'
},
verbose: true
}
verbose: false
}
Generated
-54
View File
@@ -1,54 +0,0 @@
"use strict";
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
result["default"] = mod;
return result;
};
Object.defineProperty(exports, "__esModule", { value: true });
const child_process = __importStar(require("child_process"));
const git = (args = []) => __awaiter(void 0, void 0, void 0, function* () {
const stdout = child_process.execSync(`git ${args.join(' ')}`, {
encoding: 'utf8'
});
return stdout.trim();
});
function isTagDirty(currentTag) {
return __awaiter(this, void 0, void 0, function* () {
try {
yield git(['describe', '--exact-match', '--tags', '--match', currentTag]);
}
catch (err) {
return true;
}
return false;
});
}
exports.isTagDirty = isTagDirty;
function getTag() {
return __awaiter(this, void 0, void 0, function* () {
try {
return yield git(['describe', '--tags', '--abbrev=0']);
}
catch (err) {
return '';
}
});
}
exports.getTag = getTag;
function getShortCommit() {
return __awaiter(this, void 0, void 0, function* () {
return yield git(['show', "--format='%h'", 'HEAD', '--quiet']);
});
}
exports.getShortCommit = getShortCommit;
-72
View File
@@ -1,72 +0,0 @@
"use strict";
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
result["default"] = mod;
return result;
};
Object.defineProperty(exports, "__esModule", { value: true });
const core = __importStar(require("@actions/core"));
const tc = __importStar(require("@actions/tool-cache"));
const download = __importStar(require("download"));
const fs = __importStar(require("fs"));
const os = __importStar(require("os"));
const path = __importStar(require("path"));
const util = __importStar(require("util"));
const restm = __importStar(require("typed-rest-client/RestClient"));
let osPlat = os.platform();
let osArch = os.arch();
function getGoReleaser(version) {
return __awaiter(this, void 0, void 0, function* () {
const selected = yield determineVersion(version);
if (selected) {
version = selected;
}
core.info(`✅ GoReleaser version found: ${version}`);
const tmpdir = fs.mkdtempSync(path.join(os.tmpdir(), 'goreleaser-'));
const fileName = getFileName();
const downloadUrl = util.format('https://github.com/goreleaser/goreleaser/releases/download/%s/%s', version, fileName);
core.info(`⬇️ Downloading ${downloadUrl}...`);
yield download.default(downloadUrl, tmpdir, { filename: fileName });
core.info('📦 Extracting GoReleaser...');
let extPath = tmpdir;
if (osPlat == 'win32') {
extPath = yield tc.extractZip(`${tmpdir}/${fileName}`);
}
else {
extPath = yield tc.extractTar(`${tmpdir}/${fileName}`);
}
return path.join(extPath, osPlat == 'win32' ? 'goreleaser.exe' : 'goreleaser');
});
}
exports.getGoReleaser = getGoReleaser;
function getFileName() {
const platform = osPlat == 'win32' ? 'Windows' : osPlat == 'darwin' ? 'Darwin' : 'Linux';
const arch = osArch == 'x64' ? 'x86_64' : 'i386';
const ext = osPlat == 'win32' ? 'zip' : 'tar.gz';
return util.format('goreleaser_%s_%s.%s', platform, arch, ext);
}
function determineVersion(version) {
return __awaiter(this, void 0, void 0, function* () {
let rest = new restm.RestClient('goreleaser-action', 'https://github.com', undefined, {
headers: {
Accept: 'application/json'
}
});
let res = yield rest.get(`/goreleaser/goreleaser/releases/${version}`);
if (res.statusCode != 200 || res.result === null) {
throw new Error(`Cannot find GoReleaser ${version} release (http ${res.statusCode})`);
}
return res.result.tag_name;
});
}
Generated
-70
View File
@@ -1,70 +0,0 @@
"use strict";
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
result["default"] = mod;
return result;
};
Object.defineProperty(exports, "__esModule", { value: true });
const git = __importStar(require("./git"));
const installer = __importStar(require("./installer"));
const core = __importStar(require("@actions/core"));
const exec = __importStar(require("@actions/exec"));
const fs = __importStar(require("fs"));
function run(silent) {
return __awaiter(this, void 0, void 0, function* () {
try {
const version = core.getInput('version') || 'latest';
const args = core.getInput('args');
const key = core.getInput('key');
const workdir = core.getInput('workdir') || '.';
const goreleaser = yield installer.getGoReleaser(version);
const commit = yield git.getShortCommit();
const tag = yield git.getTag();
const isTagDirty = yield git.isTagDirty(tag);
if (workdir && workdir !== '.') {
core.info(`📂 Using ${workdir} as working directory...`);
process.chdir(workdir);
}
let snapshot = '';
if (args.split(' ').indexOf('release') > -1) {
if (isTagDirty) {
core.info(`⚠️ No tag found for commit ${commit}. Snapshot forced`);
if (!args.includes('--snapshot')) {
snapshot = ' --snapshot';
}
}
else {
core.info(`${tag} tag found for commit ${commit}`);
}
}
if (key) {
core.info('🔑 Importing signing key...');
let path = `${process.env.HOME}/key.asc`;
fs.writeFileSync(path, key, { mode: 0o600 });
yield exec.exec('gpg', ['--import', path], {
silent: silent
});
}
core.info('🏃 Running GoReleaser...');
yield exec.exec(`${goreleaser} ${args}${snapshot}`, undefined, {
silent: silent
});
}
catch (error) {
core.setFailed(error.message);
}
});
}
exports.run = run;
run();
+3362 -4057
View File
File diff suppressed because it is too large Load Diff
+16 -19
View File
@@ -1,17 +1,14 @@
{
"name": "goreleaser-action",
"private": true,
"description": "GitHub Action for GoReleaser, a release automation tool for Go projects",
"main": "lib/main.js",
"directories": {
"lib": "lib"
},
"scripts": {
"build": "tsc && ncc build",
"test": "jest",
"test": "jest --coverage",
"format": "prettier --write **/*.ts",
"format-check": "prettier --check **/*.ts",
"pre-checkin": "npm run format && npm run build"
"cleanup-paths": "removeNPMAbsolutePaths ./ --force --fields _where _args",
"pre-checkin": "npm run format && npm run cleanup-paths && npm run build"
},
"repository": {
"type": "git",
@@ -25,23 +22,23 @@
"author": "CrazyMax",
"license": "MIT",
"dependencies": {
"@actions/core": "^1.2.3",
"@actions/exec": "^1.0.3",
"@actions/tool-cache": "^1.3.3",
"download": "^8.0.0",
"typed-rest-client": "^1.7.3"
"@actions/core": "^1.2.4",
"@actions/exec": "^1.0.4",
"@actions/http-client": "^1.0.8",
"@actions/tool-cache": "^1.3.4"
},
"devDependencies": {
"@types/download": "^6.2.4",
"@types/jest": "^25.2.1",
"@types/node": "^13.11.0",
"@types/node": "^13.13.5",
"@zeit/ncc": "^0.22.1",
"jest": "^25.2.7",
"jest-circus": "^25.2.7",
"jest-runtime": "^25.2.7",
"prettier": "^2.0.4",
"ts-jest": "^25.3.1",
"dotenv": "^8.2.0",
"jest": "^25.5.4",
"jest-circus": "^26.0.1",
"jest-runtime": "^26.0.1",
"prettier": "^2.0.5",
"removeNPMAbsolutePaths": "^2.0.0",
"ts-jest": "^25.5.0",
"typescript": "^3.8.3",
"typescript-formatter": "^7.2.2"
}
}
}
+34
View File
@@ -0,0 +1,34 @@
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()
};
};
+15 -13
View File
@@ -1,12 +1,22 @@
import * as child_process from 'child_process';
import * as exec from './exec';
const git = async (args: string[] = []) => {
const stdout = child_process.execSync(`git ${args.join(' ')}`, {
encoding: 'utf8'
const git = async (args: string[] = []): Promise<string> => {
return await exec.exec(`git`, args, true).then(res => {
if (res.stderr != '' && !res.success) {
throw new Error(res.stderr);
}
return res.stdout.trim();
});
return stdout.trim();
};
export async function getTag(): Promise<string> {
try {
return await git(['describe', '--tags', '--abbrev=0']);
} catch (err) {
return '';
}
}
export async function isTagDirty(currentTag: string): Promise<boolean> {
try {
await git(['describe', '--exact-match', '--tags', '--match', currentTag]);
@@ -16,14 +26,6 @@ export async function isTagDirty(currentTag: string): Promise<boolean> {
return false;
}
export async function getTag(): Promise<string> {
try {
return await git(['describe', '--tags', '--abbrev=0']);
} catch (err) {
return '';
}
}
export async function getShortCommit(): Promise<string> {
return await git(['show', "--format='%h'", 'HEAD', '--quiet']);
}
+12
View File
@@ -0,0 +1,12 @@
import * as httpm from '@actions/http-client';
export interface GitHubRelease {
id: number;
tag_name: string;
}
export const getRelease = async (version: string): Promise<GitHubRelease | null> => {
const url: string = `https://github.com/goreleaser/goreleaser/releases/${version}`;
const http: httpm.HttpClient = new httpm.HttpClient('goreleaser-action');
return (await http.getJson<GitHubRelease>(url)).result;
};
+27 -43
View File
@@ -1,68 +1,52 @@
import * as core from '@actions/core';
import * as tc from '@actions/tool-cache';
import * as download from 'download';
import * as fs from 'fs';
import * as os from 'os';
import * as path from 'path';
import * as util from 'util';
import * as restm from 'typed-rest-client/RestClient';
import * as github from './github';
import * as core from '@actions/core';
import * as tc from '@actions/tool-cache';
let osPlat: string = os.platform();
let osArch: string = os.arch();
const osPlat: string = os.platform();
const osArch: string = os.arch();
export async function getGoReleaser(version: string): Promise<string> {
const selected = await determineVersion(version);
if (selected) {
version = selected;
const release: github.GitHubRelease | null = await github.getRelease(version);
if (!release) {
throw new Error(`Cannot find GoReleaser ${version} release`);
}
core.info(`✅ GoReleaser version found: ${version}`);
const tmpdir = fs.mkdtempSync(path.join(os.tmpdir(), 'goreleaser-'));
const fileName = getFileName();
core.info(`✅ GoReleaser version found: ${release.tag_name}`);
const filename = getFilename();
const downloadUrl = util.format(
'https://github.com/goreleaser/goreleaser/releases/download/%s/%s',
version,
fileName
release.tag_name,
filename
);
core.info(`⬇️ Downloading ${downloadUrl}...`);
await download.default(downloadUrl, tmpdir, {filename: fileName});
const downloadPath: string = await tc.downloadTool(downloadUrl);
core.debug(`Downloaded to ${downloadPath}`);
core.info('📦 Extracting GoReleaser...');
let extPath: string = tmpdir;
let extPath: string;
if (osPlat == 'win32') {
extPath = await tc.extractZip(`${tmpdir}/${fileName}`);
extPath = await tc.extractZip(downloadPath);
} else {
extPath = await tc.extractTar(`${tmpdir}/${fileName}`);
extPath = await tc.extractTar(downloadPath);
}
core.debug(`Extracted to ${extPath}`);
return path.join(extPath, osPlat == 'win32' ? 'goreleaser.exe' : 'goreleaser');
const cachePath: string = await tc.cacheDir(extPath, 'goreleaser-action', release.tag_name.replace(/^v/, ''));
core.debug(`Cached to ${cachePath}`);
const exePath: string = path.join(cachePath, osPlat == 'win32' ? 'goreleaser.exe' : 'goreleaser');
core.debug(`Exe path is ${exePath}`);
return exePath;
}
function getFileName(): string {
const getFilename = (): 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);
}
interface GitHubRelease {
tag_name: string;
}
async function determineVersion(version: string): Promise<string> {
let rest: restm.RestClient = new restm.RestClient('goreleaser-action', 'https://github.com', undefined, {
headers: {
Accept: 'application/json'
}
});
let res: restm.IRestResponse<GitHubRelease> = await rest.get<GitHubRelease>(
`/goreleaser/goreleaser/releases/${version}`
);
if (res.statusCode != 200 || res.result === null) {
throw new Error(`Cannot find GoReleaser ${version} release (http ${res.statusCode})`);
}
return res.result.tag_name;
}
};
+3 -16
View File
@@ -2,13 +2,11 @@ import * as git from './git';
import * as installer from './installer';
import * as core from '@actions/core';
import * as exec from '@actions/exec';
import * as fs from 'fs';
export async function run(silent?: boolean) {
async function run(): Promise<void> {
try {
const version = core.getInput('version') || 'latest';
const args = core.getInput('args');
const key = core.getInput('key');
const args = core.getInput('args', {required: true});
const workdir = core.getInput('workdir') || '.';
const goreleaser = await installer.getGoReleaser(version);
@@ -33,19 +31,8 @@ export async function run(silent?: boolean) {
}
}
if (key) {
core.info('🔑 Importing signing key...');
let path = `${process.env.HOME}/key.asc`;
fs.writeFileSync(path, key, {mode: 0o600});
await exec.exec('gpg', ['--import', path], {
silent: silent
});
}
core.info('🏃 Running GoReleaser...');
await exec.exec(`${goreleaser} ${args}${snapshot}`, undefined, {
silent: silent
});
await exec.exec(`${goreleaser} ${args}${snapshot}`);
} catch (error) {
core.setFailed(error.message);
}
+2 -1
View File
@@ -10,7 +10,8 @@
"rootDir": "./src",
"strict": true,
"noImplicitAny": false,
"esModuleInterop": true
"esModuleInterop": true,
"sourceMap": true
},
"exclude": ["node_modules", "**/*.test.ts"]
}