Compare commits

...

71 Commits

Author SHA1 Message Date
CrazyMax
4910783e91 Update CHANGELOG 2021-03-27 19:34:57 +01:00
CrazyMax
1ebf61db85 Allow multiple files (#140)
Co-authored-by: CrazyMax <crazy-max@users.noreply.github.com>
2021-03-27 19:31:20 +01:00
CrazyMax
925acc7207 Container dev workflow (#139)
Co-authored-by: CrazyMax <crazy-max@users.noreply.github.com>
2021-03-27 17:45:19 +01:00
dependabot[bot]
228b9aebd5 Bump @actions/http-client from 1.0.9 to 1.0.11 (#138)
Bumps [@actions/http-client](https://github.com/actions/http-client) from 1.0.9 to 1.0.11.
- [Release notes](https://github.com/actions/http-client/releases)
- [Changelog](https://github.com/actions/http-client/blob/main/RELEASES.md)
- [Commits](https://github.com/actions/http-client/commits)

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-03-27 17:26:04 +01:00
CrazyMax
32f88c4e79 Fix SHA 2021-03-19 00:33:44 +01:00
CrazyMax
4ef79548f1 Use SHAs 2021-03-18 19:28:49 +01:00
CrazyMax
d478341167 Add label sponsor 2021-03-18 19:04:48 +01:00
CrazyMax
7a73864628 2021 2021-01-06 21:06:40 +01:00
dependabot[bot]
5d94edca26 Bump node-notifier from 8.0.0 to 8.0.1 (#135)
Bumps [node-notifier](https://github.com/mikaelbr/node-notifier) from 8.0.0 to 8.0.1.
- [Release notes](https://github.com/mikaelbr/node-notifier/releases)
- [Changelog](https://github.com/mikaelbr/node-notifier/blob/v8.0.1/CHANGELOG.md)
- [Commits](https://github.com/mikaelbr/node-notifier/compare/v8.0.0...v8.0.1)

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-12-23 16:26:08 +00:00
dependabot[bot]
056e68db2b Bump @actions/tool-cache from 1.6.0 to 1.6.1 (#134)
Bumps [@actions/tool-cache](https://github.com/actions/toolkit/tree/HEAD/packages/tool-cache) from 1.6.0 to 1.6.1.
- [Release notes](https://github.com/actions/toolkit/releases)
- [Changelog](https://github.com/actions/toolkit/blob/main/packages/tool-cache/RELEASES.md)
- [Commits](https://github.com/actions/toolkit/commits/HEAD/packages/tool-cache)

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-11-29 23:55:54 +00:00
CrazyMax
806d622b77 Use major version of actions 2020-11-08 02:56:29 +01:00
dependabot[bot]
701c9836f7 Bump codecov/codecov-action from v1.0.13 to v1.0.14 (#132)
Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from v1.0.13 to v1.0.14.
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Commits](https://github.com/codecov/codecov-action/compare/v1.0.13...7d5dfa54903bd909319c580a00535b483d1efcf3)

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-10-20 23:53:47 +00:00
CrazyMax
55283a30e8 Update generated content 2020-10-21 01:53:33 +02:00
CrazyMax
cb13001a65 Add stale bot 2020-10-16 00:42:46 +02:00
dependabot[bot]
cf88c4c484 Bump @actions/http-client from 1.0.8 to 1.0.9 (#131)
Bumps [@actions/http-client](https://github.com/actions/http-client) from 1.0.8 to 1.0.9.
- [Release notes](https://github.com/actions/http-client/releases)
- [Changelog](https://github.com/actions/http-client/blob/main/RELEASES.md)
- [Commits](https://github.com/actions/http-client/commits)

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-10-13 19:08:37 +00:00
CrazyMax
18d403fe1c Update CHANGELOG 2020-10-01 20:08:12 +02:00
CrazyMax
f035e40172 Update deps 2020-10-01 20:01:13 +02:00
dependabot[bot]
dd12917b20 Bump crazy-max/ghaction-github-labeler from v3.0.0 to v3.1.0 (#130)
Bumps [crazy-max/ghaction-github-labeler](https://github.com/crazy-max/ghaction-github-labeler) from v3.0.0 to v3.1.0.
- [Release notes](https://github.com/crazy-max/ghaction-github-labeler/releases)
- [Changelog](https://github.com/crazy-max/ghaction-github-labeler/blob/master/CHANGELOG.md)
- [Commits](https://github.com/crazy-max/ghaction-github-labeler/compare/v3.0.0...dbccbd0ebd1178b5942ba419c921b36525829588)

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-09-29 21:38:15 +00:00
dependabot[bot]
8fa57f5c85 Bump actions/checkout from v2.3.2 to v2.3.3 (#128)
Bumps [actions/checkout](https://github.com/actions/checkout) from v2.3.2 to v2.3.3.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v2.3.2...a81bbbf8298c0fa03ea29cdc473d45769f953675)

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-09-28 19:53:01 +00:00
dependabot[bot]
00028a370a Bump @actions/core from 1.2.5 to 1.2.6 (#129)
Bumps [@actions/core](https://github.com/actions/toolkit/tree/HEAD/packages/core) from 1.2.5 to 1.2.6.
- [Release notes](https://github.com/actions/toolkit/releases)
- [Changelog](https://github.com/actions/toolkit/blob/main/packages/core/RELEASES.md)
- [Commits](https://github.com/actions/toolkit/commits/HEAD/packages/core)

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-09-28 19:51:11 +00:00
dependabot[bot]
2e09f2928e Bump @actions/core from 1.2.4 to 1.2.5 (#127)
Bumps [@actions/core](https://github.com/actions/toolkit/tree/HEAD/packages/core) from 1.2.4 to 1.2.5.
- [Release notes](https://github.com/actions/toolkit/releases)
- [Changelog](https://github.com/actions/toolkit/blob/main/packages/core/RELEASES.md)
- [Commits](https://github.com/actions/toolkit/commits/HEAD/packages/core)

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-08-28 01:18:43 +00:00
CrazyMax
5d83a9a0c6 Update labels workflow 2020-08-28 01:30:36 +02:00
CrazyMax
a3effd42d8 Move zeit/ncc to vercel/ncc 2020-08-21 13:35:14 +02:00
CrazyMax
ac6f831c34 Add note about dependabot 2020-08-20 17:33:50 +02:00
dependabot[bot]
5b3b22175b Bump lodash from 4.17.15 to 4.17.20 (#125)
Bumps [lodash](https://github.com/lodash/lodash) from 4.17.15 to 4.17.20.
- [Release notes](https://github.com/lodash/lodash/releases)
- [Commits](https://github.com/lodash/lodash/compare/4.17.15...4.17.20)

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-08-18 12:09:16 +00:00
dependabot[bot]
de721e4e07 Bump codecov/codecov-action from v1.0.12 to v1.0.13 (#124)
Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from v1.0.12 to v1.0.13.
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Commits](https://github.com/codecov/codecov-action/compare/v1.0.12...6004246f47ab62d32be025ce173b241cd84ac58e)

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-08-18 12:03:11 +00:00
dependabot[bot]
5c71834a86 Bump actions/checkout from v2.3.1 to v2.3.2 (#123)
Bumps [actions/checkout](https://github.com/actions/checkout) from v2.3.1 to v2.3.2.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v2.3.1...2036a08e25fa78bbd946711a407b529a0a1204bf)

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-08-10 18:23:02 +00:00
dependabot[bot]
f4329194de Bump codecov/codecov-action from v1.0.11 to v1.0.12 (#121)
Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from v1.0.11 to v1.0.12.
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Commits](https://github.com/codecov/codecov-action/compare/v1.0.11...07127fde53bc3ccd346d47ab2f14c390161ad108)

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-07-23 21:41:04 +00:00
dependabot[bot]
75f4155f72 Bump crazy-max/ghaction-github-labeler from v2 to v2.1.0 (#122)
Bumps [crazy-max/ghaction-github-labeler](https://github.com/crazy-max/ghaction-github-labeler) from v2 to v2.1.0.
- [Release notes](https://github.com/crazy-max/ghaction-github-labeler/releases)
- [Changelog](https://github.com/crazy-max/ghaction-github-labeler/blob/master/CHANGELOG.md)
- [Commits](https://github.com/crazy-max/ghaction-github-labeler/compare/v2...b3f4d1e403f6e029713a965ca1c5291c4cba0933)

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-07-23 21:40:19 +00:00
dependabot[bot]
d70db65c1f Bump @actions/tool-cache from 1.5.5 to 1.6.0 (#119)
Bumps [@actions/tool-cache](https://github.com/actions/toolkit/tree/HEAD/packages/tool-cache) from 1.5.5 to 1.6.0.
- [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[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-07-22 17:11:12 +00:00
dependabot[bot]
d5a5499c65 Bump codecov/codecov-action from v1.0.10 to v1.0.11 (#120)
Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from v1.0.10 to v1.0.11.
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Commits](https://github.com/codecov/codecov-action/compare/v1.0.10...6d208f5b527841fb050f92f778e86cb808dacdcb)

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-07-22 17:10:54 +00:00
dependabot[bot]
b9529948d1 Bump codecov/codecov-action from v1.0.7 to v1.0.10 (#118)
Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from v1.0.7 to v1.0.10.
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Commits](https://github.com/codecov/codecov-action/compare/v1.0.7...f3570723ef743f6942b6a480461ed0cd6c0f9baa)

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-07-02 15:20:18 +00:00
dependabot[bot]
07026276a2 Bump actions/checkout from v2.3.0 to v2.3.1 (#117)
Bumps [actions/checkout](https://github.com/actions/checkout) from v2.3.0 to v2.3.1.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/master/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v2.3.0...28c7f3d2b5162b5ddd3dfd9a45aa55eaf396478b)

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-06-22 14:32:21 +00:00
dependabot[bot]
2c088ed672 Bump actions/checkout from v2 to v2.3.0 (#116)
Bumps [actions/checkout](https://github.com/actions/checkout) from v2 to v2.3.0.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/master/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v2...b4483adec309c0d01a5435c5e24eb40de5773ad9)

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-06-21 05:10:38 +00:00
dependabot[bot]
2e7eb9b637 Bump codecov/codecov-action from v1 to v1.0.7 (#112)
Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from v1 to v1.0.7.
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Commits](https://github.com/codecov/codecov-action/compare/v1...f532c3a1452359a7f96c37efc741537b80555c74)

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-06-11 00:24:59 +00:00
CrazyMax
3e1ab9a87c Add pre-checkin workflow 2020-06-10 22:57:07 +02:00
CrazyMax
16fd2cd4ef Switch to Yarn 2020-06-10 22:22:42 +02:00
dependabot[bot]
f98597f4ad Bump @types/node from 13.13.5 to 14.0.13 (#113)
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 13.13.5 to 14.0.13.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-06-10 18:42:23 +00:00
dependabot[bot]
1205c841da Bump jest-circus from 25.5.4 to 26.0.1 (#115)
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[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-06-10 17:56:44 +00:00
CrazyMax
0e24772845 Update workflows 2020-06-10 19:45:03 +02:00
dependabot[bot]
7bc47bb6a0 Bump @types/jest from 25.2.3 to 26.0.0 (#111)
Bumps [@types/jest](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/jest) from 25.2.3 to 26.0.0.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/jest)

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-06-10 04:10:57 +00:00
dependabot[bot]
c1508a05a8 Bump typescript from 3.9.3 to 3.9.5 (#110)
Bumps [typescript](https://github.com/Microsoft/TypeScript) from 3.9.3 to 3.9.5.
- [Release notes](https://github.com/Microsoft/TypeScript/releases)
- [Commits](https://github.com/Microsoft/TypeScript/compare/v3.9.3...v3.9.5)

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-06-05 04:03:23 +00:00
dependabot[bot]
a3dc3906b4 Bump @zeit/ncc from 0.22.2 to 0.22.3 (#109)
Bumps [@zeit/ncc](https://github.com/zeit/ncc) from 0.22.2 to 0.22.3.
- [Release notes](https://github.com/zeit/ncc/releases)
- [Commits](https://github.com/zeit/ncc/compare/0.22.2...0.22.3)

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-05-25 04:01:50 +00:00
github-actions[bot]
cbee808295 Update generated content 2020-05-23 23:15:07 +00:00
CrazyMax
baf9dbcb82 Update workflows 2020-05-24 01:14:30 +02:00
dependabot[bot]
33c9c2e18f Bump typescript from 3.9.2 to 3.9.3 (#108)
Bumps [typescript](https://github.com/Microsoft/TypeScript) from 3.9.2 to 3.9.3.
- [Release notes](https://github.com/Microsoft/TypeScript/releases)
- [Commits](https://github.com/Microsoft/TypeScript/compare/v3.9.2...v3.9.3)

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-05-20 04:02:30 +00:00
dependabot[bot]
1290965b7a Bump @actions/tool-cache from 1.3.5 to 1.5.5 (#107)
Bumps [@actions/tool-cache](https://github.com/actions/toolkit/tree/HEAD/packages/tool-cache) from 1.3.5 to 1.5.5.
- [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[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-05-20 04:02:01 +00:00
dependabot[bot]
662405c113 Bump @types/jest from 25.2.2 to 25.2.3 (#106)
Bumps [@types/jest](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/jest) from 25.2.2 to 25.2.3.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/jest)

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-05-19 04:03:10 +00:00
dependabot[bot]
de3060bd27 Bump @zeit/ncc from 0.22.1 to 0.22.2 (#105)
Bumps [@zeit/ncc](https://github.com/zeit/ncc) from 0.22.1 to 0.22.2.
- [Release notes](https://github.com/zeit/ncc/releases)
- [Commits](https://github.com/zeit/ncc/compare/0.22.1...0.22.2)

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-05-19 04:02:25 +00:00
dependabot[bot]
a7cc326d6c Bump @actions/tool-cache from 1.3.4 to 1.3.5 (#104)
Bumps [@actions/tool-cache](https://github.com/actions/toolkit/tree/HEAD/packages/tool-cache) from 1.3.4 to 1.3.5.
- [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[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-05-14 05:19:45 +00:00
dependabot[bot]
366580d55c Bump @types/jest from 25.2.1 to 25.2.2 (#103)
Bumps [@types/jest](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/jest) from 25.2.1 to 25.2.2.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/jest)

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-05-14 05:19:07 +00:00
CrazyMax
a036543072 Fix automerge 2020-05-14 07:16:15 +02:00
CrazyMax
ca56e9169c Update workflows 2020-05-14 04:07:29 +02:00
github-actions[bot]
9a4ad86134 Update generated content 2020-05-13 12:30:41 +00:00
CrazyMax
53a31d336c Fix master workflow 2020-05-13 14:30:05 +02:00
dependabot[bot]
557e617797 Bump typescript from 3.8.3 to 3.9.2 (#102)
Bumps [typescript](https://github.com/Microsoft/TypeScript) from 3.8.3 to 3.9.2.
- [Release notes](https://github.com/Microsoft/TypeScript/releases)
- [Commits](https://github.com/Microsoft/TypeScript/compare/v3.8.3...v3.9.2)

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-05-13 04:02:04 +00:00
dependabot[bot]
6ea5068f0f Bump ts-jest from 25.5.0 to 25.5.1 (#101)
Bumps [ts-jest](https://github.com/kulshekhar/ts-jest) from 25.5.0 to 25.5.1.
- [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.5.0...v25.5.1)

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-05-11 17:27:45 +00:00
CrazyMax
d2071be44b Update README 2020-05-11 19:26:15 +02:00
CrazyMax
4c4869581a Update README 2020-05-11 19:25:43 +02:00
CrazyMax
8e8e4b8c59 Add automerge workflow 2020-05-11 19:25:37 +02:00
CrazyMax
03544b5b3e Update workflows 2020-05-11 19:25:28 +02:00
CrazyMax
1412a4b386 Update action yml 2020-05-11 19:25:20 +02:00
CrazyMax
58600ce61a Update CI workflow 2020-05-07 12:52:35 +02:00
CrazyMax
e163ff0d2e Update CHANGELOG 2020-05-07 12:25:58 +02:00
crazy-max
3b3d2b898d Update generated content 2020-05-07 10:14:00 +00:00
CrazyMax
88a78e2f11 Fix github release tag 2020-05-07 12:13:21 +02:00
crazy-max
6837697d11 Update generated content 2020-05-07 10:11:56 +00:00
CrazyMax
5cc6b8eb5b Cleanup code and tests 2020-05-07 12:11:19 +02:00
crazy-max
f1338960fb Update generated content 2020-05-06 22:18:14 +00:00
CrazyMax
0569f84afe Cleanup local paths from extra fields 2020-05-07 00:17:38 +02:00
CrazyMax
4258956a57 Cleanup workflows 2020-05-06 23:55:10 +02:00
32 changed files with 10643 additions and 10659 deletions

6
.dockerignore Normal file
View File

@@ -0,0 +1,6 @@
/.dev
/coverage
/dist
/lib
/node_modules
/.env

View File

@@ -7,11 +7,11 @@ Contributions to this project are [released](https://help.github.com/articles/gi
## Submitting a pull request ## Submitting a pull request
1. [Fork](https://github.com/crazy-max/ghaction-upx/fork) and clone the repository 1. [Fork](https://github.com/crazy-max/ghaction-upx/fork) and clone the repository
2. Configure and install the dependencies: `npm install` 2. Configure and install the dependencies locally: `yarn install`
3. Make sure the tests pass on your machine: `npm run test` 3. Create a new branch: `git checkout -b my-branch-name`
4. Create a new branch: `git checkout -b my-branch-name` 4. Make your changes
5. Make your change, add tests, and make sure the tests still pass 5. Format code and build javascript artifacts: `docker buildx bake pre-checkin`
6. Run pre-checkin: `npm run pre-checkin` 6. Validate all code has correctly formatted and built: `docker buildx bake validate`
7. Push to your fork and [submit a pull request](https://github.com/crazy-max/ghaction-upx/compare) 7. Push to your fork and [submit a pull request](https://github.com/crazy-max/ghaction-upx/compare)
8. Pat your self on the back and wait for your pull request to be reviewed and merged. 8. Pat your self on the back and wait for your pull request to be reviewed and merged.

View File

@@ -1,6 +1,6 @@
version: 2 version: 2
updates: updates:
- package-ecosystem: "npm" - package-ecosystem: "github-actions"
directory: "/" directory: "/"
schedule: schedule:
interval: "daily" interval: "daily"
@@ -9,3 +9,14 @@ updates:
labels: labels:
- ":game_die: dependencies" - ":game_die: dependencies"
- ":robot: bot" - ":robot: bot"
- package-ecosystem: "npm"
directory: "/"
schedule:
interval: "daily"
time: "06:00"
timezone: "Europe/Paris"
allow:
- dependency-type: "production"
labels:
- ":game_die: dependencies"
- ":robot: bot"

BIN
.github/ghaction-upx.png vendored Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.3 KiB

26
.github/labels.yml vendored
View File

@@ -1,4 +1,8 @@
## more info https://github.com/crazy-max/ghaction-github-labeler ## more info https://github.com/crazy-max/ghaction-github-labeler
- # automerge
name: ":bell: automerge"
color: "8f4fbc"
description: ""
- # bot - # bot
name: ":robot: bot" name: ":robot: bot"
color: "69cde9" color: "69cde9"
@@ -43,26 +47,34 @@
name: ":pray: help wanted" name: ":pray: help wanted"
color: "4caf50" color: "4caf50"
description: "" description: ""
- # hold
name: ":hand: hold"
color: "24292f"
description: ""
- # invalid - # invalid
name: ":no_entry_sign: invalid" name: ":no_entry_sign: invalid"
color: "e6e6e6" color: "e6e6e6"
description: "" description: ""
- # maybe bug - # investigate
name: ":interrobang: maybe bug" name: ":mag: investigate"
color: "ff5722" color: "e6625b"
description: "" description: ""
- # needs more info - # needs more info
name: ":thinking: needs more info" name: ":thinking: needs more info"
color: "795548" color: "795548"
description: "" description: ""
- # pinned
name: ":pushpin: pinned"
color: "28008e"
description: ""
- # question - # question
name: ":question: question" name: ":question: question"
color: "3f51b5" color: "3f51b5"
description: "" description: ""
- # sponsor
name: ":sparkling_heart: sponsor"
color: "fedbf0"
description: ""
- # stale
name: ":skull: stale"
color: "237da0"
description: ""
- # upstream - # upstream
name: ":eyes: upstream" name: ":eyes: upstream"
color: "fbca04" color: "fbca04"

19
.github/stale.yml vendored Normal file
View File

@@ -0,0 +1,19 @@
# Number of days of inactivity before an issue becomes stale
daysUntilStale: 30
# Number of days of inactivity before a stale issue is closed
daysUntilClose: 7
# Issues with these labels will never be considered stale
exemptLabels:
- ":pushpin: pinned"
- ":game_die: dependencies"
# Set to true to ignore issues in a milestone (defaults to false)
exemptMilestones: true
# Label to use when marking an issue as stale
staleLabel: ":skull: stale"
# Comment to post when marking an issue as stale. Set to `false` to disable
markComment: >
This issue has been automatically marked as stale because it has not had
recent activity. It will be closed if no further activity occurs. Thank you
for your contributions.
# Comment to post when closing a stale issue. Set to `false` to disable
closeComment: false

View File

@@ -1,12 +1,20 @@
name: ci name: ci
on: on:
pull_request: schedule:
branches: - cron: '0 10 * * *' # everyday at 10am
- master
push: push:
branches: branches:
- master - 'master'
- 'releases/v*'
paths-ignore:
- '**.md'
pull_request:
branches:
- 'master'
- 'releases/v*'
paths-ignore:
- '**.md'
jobs: jobs:
ci: ci:
@@ -17,35 +25,31 @@ jobs:
os: os:
- ubuntu-latest - ubuntu-latest
- windows-latest - windows-latest
include: version:
- os: ubuntu-latest - latest
version: latest - v3.95
file: https://github.com/crazy-max/firefox-history-merger/releases/download/2.4.0/firefox-history-merger-linux-amd64
- os: windows-latest
version: latest
file: https://github.com/crazy-max/firefox-history-merger/releases/download/2.4.0/firefox-history-merger-windows-4.0-amd64.exe
steps: steps:
- -
name: Checkout name: Checkout
uses: actions/checkout@v2 uses: actions/checkout@v2
- -
name: Download file name: Download files
id: download shell: bash
run: | run: |
mkdir ./bin mkdir ./bin
if [ "${{ matrix.os }}" == "windows-latest" ]; then if [ "${{ matrix.os }}" = "windows-latest" ]; then
curl -sSLk ${{ matrix.file }} -o ./bin/firefox-history-merger.exe curl -sSLk https://github.com/crazy-max/firefox-history-merger/releases/download/2.4.0/firefox-history-merger-windows-4.0-386.exe -o ./bin/firefox-history-merger-windows-4.0-386.exe
echo ::set-output name=filename::./bin/firefox-history-merger.exe curl -sSLk https://github.com/crazy-max/firefox-history-merger/releases/download/2.4.0/firefox-history-merger-windows-4.0-amd64.exe -o ./bin/firefox-history-merger-windows-4.0-amd64.exe
else else
curl -sSLk ${{ matrix.file }} -o ./bin/firefox-history-merger curl -sSLk https://github.com/crazy-max/firefox-history-merger/releases/download/2.4.0/firefox-history-merger-linux-386 -o ./bin/firefox-history-merger-linux-386
chmod +x ./bin/firefox-history-merger curl -sSLk https://github.com/crazy-max/firefox-history-merger/releases/download/2.4.0/firefox-history-merger-linux-amd64 -o ./bin/firefox-history-merger-linux-amd64
echo ::set-output name=filename::./bin/firefox-history-merger
fi fi
shell: bash chmod +x ./bin/firefox-history-merger*
- -
name: UPX name: UPX
uses: ./ uses: ./
with: with:
version: ${{ matrix.version }} version: ${{ matrix.version }}
file: ${{ steps.download.outputs.filename }} files: |
./bin/firefox-history-merger*
args: -fq args: -fq

21
.github/workflows/label-sponsor.yml vendored Normal file
View File

@@ -0,0 +1,21 @@
name: label-sponsor
on:
pull_request:
types:
- 'opened'
issues:
types:
- 'opened'
jobs:
build:
runs-on: ubuntu-latest
steps:
-
name: Set sponsor label
uses: JasonEtco/is-sponsor-label-action@024ac24f8b170abce078cad4ee748852369853c8
with:
label: ":sparkling_heart: sponsor"
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

View File

@@ -13,13 +13,8 @@ jobs:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- -
# https://github.com/actions/checkout
name: Checkout name: Checkout
uses: actions/checkout@v2 uses: actions/checkout@v2
- -
# https://github.com/crazy-max/ghaction-github-labeler
name: Run Labeler name: Run Labeler
if: success() uses: crazy-max/ghaction-github-labeler@v3
uses: crazy-max/ghaction-github-labeler@v2
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

View File

@@ -1,26 +0,0 @@
name: lint
on:
pull_request:
paths:
- '.github/workflows/lint.yml'
- 'src/*'
jobs:
lint:
runs-on: ubuntu-latest
steps:
-
# https://github.com/actions/checkout
name: Checkout
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
-
name: Lint check
run: tslint './src/*.ts'

View File

@@ -1,37 +0,0 @@
name: master
on:
push:
branches:
- master
jobs:
prune:
runs-on: ubuntu-latest
steps:
-
# https://github.com/actions/checkout
name: Checkout
uses: actions/checkout@v2
-
name: Build
run: |
npm install
npm run format
npm run build
-
name: Set up Git
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
git config user.name "${GITHUB_ACTOR}"
git config user.email "${GITHUB_ACTOR}@users.noreply.github.com"
git remote set-url origin https://x-access-token:${GITHUB_TOKEN}@github.com/${GITHUB_REPOSITORY}.git
-
name: Commit and push changes
run: |
git add .
if output=$(git status --porcelain) && [ ! -z "$output" ]; then
git commit -m 'Update generated content'
git push
fi

View File

@@ -1,14 +1,39 @@
name: test name: test
on: on:
pull_request:
branches:
- master
push: push:
branches: branches:
- master - 'master'
- 'releases/v*'
paths-ignore:
- '**.md'
pull_request:
branches:
- 'master'
- 'releases/v*'
paths-ignore:
- '**.md'
jobs: jobs:
test-containerized:
runs-on: ubuntu-latest
steps:
-
name: Checkout
uses: actions/checkout@v2
with:
fetch-depth: 0
-
name: Validate
uses: docker/bake-action@v1
with:
targets: validate
-
name: Test
uses: docker/bake-action@v1
with:
targets: test
test: test:
runs-on: ${{ matrix.os }} runs-on: ${{ matrix.os }}
strategy: strategy:
@@ -19,28 +44,17 @@ jobs:
- windows-latest - windows-latest
steps: steps:
- -
# https://github.com/actions/checkout
name: Checkout name: Checkout
uses: actions/checkout@v2 uses: actions/checkout@v2
-
name: Build
run: |
npm install
npm run build
- -
name: Install name: Install
run: npm ci run: yarn install
-
name: Build
run: npm run build
- -
name: Test name: Test
run: npm run test run: yarn run test
- -
# https://github.com/codecov/codecov-action
name: Upload coverage name: Upload coverage
uses: codecov/codecov-action@v1 uses: codecov/codecov-action@v1
if: success() if: success()
with: with:
token: ${{ secrets.CODECOV_TOKEN }}
file: ./coverage/clover.xml file: ./coverage/clover.xml

View File

@@ -1,5 +1,25 @@
# Changelog # Changelog
## 1.4.0 (2021/03/27)
* Allow multiple files (#140)
* Container dev workflow (#139)
* Bump node-notifier from 8.0.0 to 8.0.1 (#135)
* Bump @actions/tool-cache from 1.6.0 to 1.6.1 (#134)
* Bump @actions/http-client from 1.0.8 to 1.0.11 (#131 #138)
## 1.3.3 (2020/10/01)
* Fix CVE-2020-15228
## 1.3.2 (2020/05/11)
* Update README
## 1.3.1 (2020/05/07)
* Code cleanup
## 1.3.0 (2020/05/06) ## 1.3.0 (2020/05/06)
* Use native tools * Use native tools

View File

@@ -1,6 +1,6 @@
MIT License MIT License
Copyright (c) 2020 CrazyMax Copyright (c) 2020-2021 CrazyMax
Permission is hereby granted, free of charge, to any person obtaining a copy Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal of this software and associated documentation files (the "Software"), to deal

View File

@@ -9,13 +9,24 @@
GitHub Action for [UPX](https://github.com/upx/upx), the Ultimate Packer for eXecutables. GitHub Action for [UPX](https://github.com/upx/upx), the Ultimate Packer for eXecutables.
![Screenshot](.github/ghaction-upx.png)
___
* [Usage](#usage)
* [Customizing](#customizing)
* [inputs](#inputs)
* [Keep up-to-date with GitHub Dependabot](#keep-up-to-date-with-github-dependabot)
* [Limitation](#limitation)
* [How can I help?](#how-can-i-help)
* [License](#license)
## Usage ## Usage
```yaml ```yaml
name: upx name: upx
on: on:
pull_request:
push: push:
jobs: jobs:
@@ -30,7 +41,8 @@ jobs:
uses: crazy-max/ghaction-upx@v1 uses: crazy-max/ghaction-upx@v1
with: with:
version: latest version: latest
file: ./bin/mybinary files: |
./bin/*.exe
args: -fq args: -fq
``` ```
@@ -41,18 +53,37 @@ jobs:
Following inputs can be used as `step.with` keys Following inputs can be used as `step.with` keys
| Name | Type | Default | Description | | Name | Type | Default | Description |
|---------------|---------|-----------|-------------------------------| |---------------|---------|-----------|---------------------------------|
| `version` | String | `latest` | UPX version. Example: `3.95` | | `version` | String | `latest` | UPX version. Example: `v3.95` |
| `file` | String | | File to compress | | `files` | String | | Newline-delimited list of path globs for files to compress (**required**) |
| `args` | String | | Arguments to pass to UPX | | `args` | String | | Arguments to pass to UPX |
## Keep up-to-date with GitHub Dependabot
Since [Dependabot](https://docs.github.com/en/github/administering-a-repository/keeping-your-actions-up-to-date-with-github-dependabot)
has [native GitHub Actions support](https://docs.github.com/en/github/administering-a-repository/configuration-options-for-dependency-updates#package-ecosystem),
to enable it on your GitHub repo all you need to do is add the `.github/dependabot.yml` file:
```yaml
version: 2
updates:
# Maintain dependencies for GitHub Actions
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "daily"
```
## Limitation ## Limitation
This action is only available for Linux and Windows [virtual environments](https://help.github.com/en/articles/virtual-environments-for-github-actions#supported-virtual-environments-and-hardware-resources). This action is only available for Linux and Windows [virtual environments](https://help.github.com/en/articles/virtual-environments-for-github-actions#supported-virtual-environments-and-hardware-resources).
## How can I help? ## How can I help?
All kinds of contributions are welcome :raised_hands:! The most basic way to show your support is to star :star2: the project, or to raise issues :speech_balloon: You can also support this project by [**becoming a sponsor on GitHub**](https://github.com/sponsors/crazy-max) :clap: or by making a [Paypal donation](https://www.paypal.me/crazyws) to ensure this journey continues indefinitely! :rocket: All kinds of contributions are welcome :raised_hands:! The most basic way to show your support is to star :star2:
the project, or to raise issues :speech_balloon: You can also support this project by
[**becoming a sponsor on GitHub**](https://github.com/sponsors/crazy-max) :clap: or by making a
[Paypal donation](https://www.paypal.me/crazyws) to ensure this journey continues indefinitely! :rocket:
Thanks again for your support, it is much appreciated! :pray: Thanks again for your support, it is much appreciated! :pray:

98
__tests__/context.test.ts Normal file
View File

@@ -0,0 +1,98 @@
import * as context from '../src/context';
import * as core from '@actions/core';
import * as path from 'path';
describe('getInputList', () => {
it('handles single line correctly', async () => {
await setInput('foo', 'bar');
const res = await context.getInputList(core.getInput('foo'));
console.log(res);
expect(res).toEqual(['bar']);
});
it('handles multiple lines correctly', async () => {
setInput('foo', 'bar\nbaz');
const res = await context.getInputList(core.getInput('foo'));
console.log(res);
expect(res).toEqual(['bar', 'baz']);
});
it('remove empty lines correctly', async () => {
setInput('foo', 'bar\n\nbaz');
const res = await context.getInputList(core.getInput('foo'));
console.log(res);
expect(res).toEqual(['bar', 'baz']);
});
it('handles comma correctly', async () => {
setInput('foo', 'bar,baz');
const res = await context.getInputList(core.getInput('foo'));
console.log(res);
expect(res).toEqual(['bar', 'baz']);
});
it('remove empty result correctly', async () => {
setInput('foo', 'bar,baz,');
const res = await context.getInputList(core.getInput('foo'));
console.log(res);
expect(res).toEqual(['bar', 'baz']);
});
it('handles different new lines correctly', async () => {
setInput('foo', 'bar\r\nbaz');
const res = await context.getInputList(core.getInput('foo'));
console.log(res);
expect(res).toEqual(['bar', 'baz']);
});
it('handles different new lines and comma correctly', async () => {
setInput('foo', 'bar\r\nbaz,bat');
const res = await context.getInputList(core.getInput('foo'));
console.log(res);
expect(res).toEqual(['bar', 'baz', 'bat']);
});
it('handles multiple lines and ignoring comma correctly', async () => {
setInput('files', './bin/binary.exe\n./bin/binary2.exe');
const res = await context.getInputList(core.getInput('files'), true);
console.log(res);
expect(res).toEqual(['./bin/binary.exe', './bin/binary2.exe']);
});
it('handles different new lines and ignoring comma correctly', async () => {
setInput('driver-opts', './bin/binary.exe\r\n./bin/binary2.exe');
const res = await context.getInputList(core.getInput('files'), true);
console.log(res);
expect(res).toEqual(['./bin/binary.exe', './bin/binary2.exe']);
});
});
describe('asyncForEach', () => {
it('executes async tasks sequentially', async () => {
const testValues = [1, 2, 3, 4, 5];
const results: number[] = [];
await context.asyncForEach(testValues, async value => {
results.push(value);
});
expect(results).toEqual(testValues);
});
});
describe('resolvePaths', () => {
it('resolve files given a set of paths', async () => {
expect(
context.resolvePaths([path.join(__dirname, 'fixtures/data/**/*').split(path.sep).join(path.posix.sep)])
).toEqual([path.join(__dirname, 'fixtures/data/foo/bar.txt').split(path.sep).join(path.posix.sep)]);
});
});
// See: https://github.com/actions/toolkit/blob/master/packages/core/src/core.ts#L67
function getInputName(name: string): string {
return `INPUT_${name.replace(/ /g, '_').toUpperCase()}`;
}
function setInput(name: string, value: string): void {
process.env[getInputName(name)] = value;
}

View File

@@ -0,0 +1 @@
scan me

View File

@@ -1,8 +1,16 @@
import * as github from '../src/github'; import * as github from '../src/github';
describe('github', () => { describe('github', () => {
it('returns 3.96 GitHub release', async () => { it('returns latest UPX GitHub release', async () => {
const release = await github.getRelease('3.96'); const release = await github.getRelease('latest');
console.log(release);
expect(release).not.toBeNull();
expect(release?.tag_name).not.toEqual('');
});
it('returns v3.96 GoReleaser GitHub release', async () => {
const release = await github.getRelease('v3.96');
console.log(release);
expect(release).not.toBeNull(); expect(release).not.toBeNull();
expect(release?.tag_name).toEqual('v3.96'); expect(release?.tag_name).toEqual('v3.96');
}); });

View File

@@ -2,13 +2,15 @@ import fs = require('fs');
import * as installer from '../src/installer'; import * as installer from '../src/installer';
describe('installer', () => { describe('installer', () => {
it('acquires 3.95 version of UPX', async () => { it('acquires v3.95 version of UPX', async () => {
const upx = await installer.getUPX('3.95'); const upx = await installer.getUPX('v3.95');
console.log(upx);
expect(fs.existsSync(upx)).toBe(true); expect(fs.existsSync(upx)).toBe(true);
}, 100000); }, 100000);
it('acquires latest version of UPX', async () => { it('acquires latest version of UPX', async () => {
const upx = await installer.getUPX('latest'); const upx = await installer.getUPX('latest');
console.log(upx);
expect(fs.existsSync(upx)).toBe(true); expect(fs.existsSync(upx)).toBe(true);
}, 100000); }, 100000);
}); });

View File

@@ -10,11 +10,17 @@ inputs:
version: version:
description: 'UPX version. Example: 3.95' description: 'UPX version. Example: 3.95'
default: 'latest' default: 'latest'
file: required: false
description: 'File to compress' files:
required: true description: 'Newline-delimited list of path globs for files to compress'
required: false
args: args:
description: 'Arguments to pass to UPX' description: 'Arguments to pass to UPX'
required: false
file:
deprecationMessage: 'file is deprecated. Please use files input instead.'
description: 'File to compress'
required: false
runs: runs:
using: 'node12' using: 'node12'

51
dev.Dockerfile Normal file
View File

@@ -0,0 +1,51 @@
#syntax=docker/dockerfile:1.2
FROM node:12 AS deps
WORKDIR /src
COPY package.json yarn.lock ./
RUN --mount=type=cache,target=/src/node_modules \
yarn install
FROM scratch AS update-yarn
COPY --from=deps /src/yarn.lock /
FROM deps AS validate-yarn
COPY .git .git
RUN status=$(git status --porcelain -- yarn.lock); if [ -n "$status" ]; then echo $status; exit 1; fi
FROM deps AS base
COPY . .
FROM base AS build
RUN --mount=type=cache,target=/src/node_modules \
yarn build
FROM deps AS test
ENV RUNNER_TEMP=/tmp/github_runner
ENV RUNNER_TOOL_CACHE=/tmp/github_tool_cache
COPY . .
RUN --mount=type=cache,target=/src/node_modules \
yarn run test
FROM scratch AS test-coverage
COPY --from=test /src/coverage /coverage/
FROM base AS run-format
RUN --mount=type=cache,target=/src/node_modules \
yarn run format
FROM scratch AS format
COPY --from=run-format /src/src/*.ts /src/
FROM base AS validate-format
RUN --mount=type=cache,target=/src/node_modules \
yarn run format-check
FROM scratch AS dist
COPY --from=build /src/dist/ /dist/
FROM build AS validate-build
RUN status=$(git status --porcelain -- dist); if [ -n "$status" ]; then echo $status; exit 1; fi
FROM base AS dev
ENTRYPOINT ["bash"]

8717
dist/index.js generated vendored

File diff suppressed because it is too large Load Diff

57
docker-bake.hcl Normal file
View File

@@ -0,0 +1,57 @@
variable "GITHUB_REPOSITORY" {
default = "crazy-max/ghaction-upx"
}
group "default" {
targets = ["build"]
}
group "pre-checkin" {
targets = ["update-yarn", "format", "build"]
}
group "validate" {
targets = ["validate-format", "validate-build", "validate-yarn"]
}
target "dockerfile" {
dockerfile = "dev.Dockerfile"
}
target "update-yarn" {
inherits = ["dockerfile"]
target = "update-yarn"
output = ["."]
}
target "build" {
inherits = ["dockerfile"]
target = "dist"
output = ["."]
}
target "test" {
inherits = ["dockerfile"]
target = "test"
}
target "format" {
inherits = ["dockerfile"]
target = "format"
output = ["."]
}
target "validate-format" {
inherits = ["dockerfile"]
target = "validate-format"
}
target "validate-build" {
inherits = ["dockerfile"]
target = "validate-build"
}
target "validate-yarn" {
inherits = ["dockerfile"]
target = "validate-yarn"
}

View File

@@ -7,5 +7,5 @@ module.exports = {
transform: { transform: {
'^.+\\.ts$': 'ts-jest' '^.+\\.ts$': 'ts-jest'
}, },
verbose: true verbose: false
} }

7968
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@@ -7,7 +7,7 @@
"test": "jest --coverage", "test": "jest --coverage",
"format": "prettier --write **/*.ts", "format": "prettier --write **/*.ts",
"format-check": "prettier --check **/*.ts", "format-check": "prettier --check **/*.ts",
"pre-checkin": "npm run format && npm run build" "pre-checkin": "yarn run format && yarn run build"
}, },
"repository": { "repository": {
"type": "git", "type": "git",
@@ -20,21 +20,21 @@
"author": "CrazyMax", "author": "CrazyMax",
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"@actions/core": "^1.2.4", "@actions/core": "^1.2.6",
"@actions/exec": "^1.0.4", "@actions/exec": "^1.0.4",
"@actions/http-client": "^1.0.8", "@actions/http-client": "^1.0.11",
"@actions/tool-cache": "^1.3.4" "@actions/tool-cache": "^1.6.1"
}, },
"devDependencies": { "devDependencies": {
"@types/jest": "^25.2.1", "@types/jest": "^26.0.14",
"@types/node": "^13.13.4", "@types/node": "^14.11.2",
"@zeit/ncc": "^0.22.1", "@vercel/ncc": "^0.24.1",
"jest": "^25.5.0", "jest": "^26.4.2",
"jest-circus": "^25.5.0", "jest-circus": "^26.4.2",
"jest-runtime": "^25.5.0", "jest-runtime": "^26.4.2",
"prettier": "^2.0.5", "prettier": "^2.1.2",
"ts-jest": "^25.4.0", "ts-jest": "^26.4.1",
"typescript": "^3.8.3", "typescript": "^4.0.3",
"typescript-formatter": "^7.2.2" "typescript-formatter": "^7.2.2"
} }
} }

42
src/context.ts Normal file
View File

@@ -0,0 +1,42 @@
import * as glob from 'glob';
import {lstatSync} from 'fs';
import * as core from '@actions/core';
export interface Inputs {
version: string;
files: string[];
args: string;
}
export async function getInputs(): Promise<Inputs> {
return {
version: core.getInput('version') || 'latest',
files: getInputList(core.getInput('files') || core.getInput('file'), true),
args: core.getInput('args')
};
}
export function getInputList(items: string, ignoreComma?: boolean): string[] {
if (items == '') {
return [];
}
return items
.split(/\r?\n/)
.filter(x => x)
.reduce<string[]>(
(acc, line) => acc.concat(!ignoreComma ? line.split(',').filter(x => x) : line).map(pat => pat.trim()),
[]
);
}
export const asyncForEach = async (array, callback) => {
for (let index = 0; index < array.length; index++) {
await callback(array[index], index, array);
}
};
export const resolvePaths = (patterns: string[]): string[] => {
return patterns.reduce((acc: string[], pattern: string): string[] => {
return acc.concat(glob.sync(pattern).filter(path => lstatSync(path).isFile()));
}, []);
};

View File

@@ -6,7 +6,7 @@ export interface GitHubRelease {
} }
export const getRelease = async (version: string): Promise<GitHubRelease | null> => { export const getRelease = async (version: string): Promise<GitHubRelease | null> => {
const url: string = `https://github.com/upx/upx/releases/${version !== 'latest' ? `v${version}` : version}`; const url: string = `https://github.com/upx/upx/releases/${version}`;
const http: httpm.HttpClient = new httpm.HttpClient('ghaction-upx'); const http: httpm.HttpClient = new httpm.HttpClient('ghaction-upx');
return (await http.getJson<GitHubRelease>(url)).result; return (await http.getJson<GitHubRelease>(url)).result;
}; };

View File

@@ -5,36 +5,41 @@ import * as github from './github';
import * as core from '@actions/core'; import * as core from '@actions/core';
import * as tc from '@actions/tool-cache'; import * as tc from '@actions/tool-cache';
let osPlat: string = os.platform(); const osPlat: string = os.platform();
let osArch: string = os.arch(); const osArch: string = os.arch();
export async function getUPX(version: string): Promise<string> { export async function getUPX(version: string): Promise<string> {
core.startGroup(`Checking UPX ${version} release...`);
const release: github.GitHubRelease | null = await github.getRelease(version); const release: github.GitHubRelease | null = await github.getRelease(version);
if (!release) { if (!release) {
throw new Error(`Cannot find UPX ${version} release`); throw new Error(`Cannot find UPX ${version} release`);
} }
const semver: string = release.tag_name.replace(/^v/, ''); const semver: string = release.tag_name.replace(/^v/, '');
core.debug(`Semver is ${semver}`); core.info(`UPX ${semver} found`);
core.endGroup();
core.info(`✅ UPX version found: ${semver}`);
const filename = util.format('%s.%s', getName(semver), osPlat == 'win32' ? 'zip' : 'tar.xz'); const filename = util.format('%s.%s', getName(semver), osPlat == 'win32' ? 'zip' : 'tar.xz');
const downloadUrl = util.format('https://github.com/upx/upx/releases/download/v%s/%s', semver, filename); const downloadUrl = util.format('https://github.com/upx/upx/releases/download/v%s/%s', semver, filename);
core.info(`⬇️ Downloading ${downloadUrl}...`); core.startGroup(`Downloading ${downloadUrl}...`);
const downloadPath: string = await tc.downloadTool(downloadUrl); const downloadPath: string = await tc.downloadTool(downloadUrl);
core.debug(`Downloaded to ${downloadPath}`); core.info(`Downloaded to ${downloadPath}`);
core.info('📦 Extracting UPX...'); let extPath: string;
const extPath: string = if (osPlat == 'win32') {
osPlat == 'win32' ? await tc.extractZip(downloadPath) : await tc.extractTar(downloadPath, undefined, 'x'); extPath = await tc.extractZip(downloadPath);
core.debug(`Extracted to ${extPath}`); } else {
extPath = await tc.extractTar(downloadPath, undefined, 'x');
}
core.info(`Extracted to ${extPath}`);
const cachePath: string = await tc.cacheDir(extPath, 'ghaction-upx', version); const cachePath: string = await tc.cacheDir(extPath, 'ghaction-upx', semver);
core.debug(`Cached to ${cachePath}`); core.debug(`Cached to ${cachePath}`);
const exePath: string = path.join(cachePath, getName(semver), osPlat == 'win32' ? 'upx.exe' : 'upx'); const exePath: string = path.join(cachePath, getName(semver), osPlat == 'win32' ? 'upx.exe' : 'upx');
core.debug(`Exe path is ${exePath}`); core.debug(`Exe path is ${exePath}`);
core.endGroup();
return exePath; return exePath;
} }

View File

@@ -1,29 +1,30 @@
import * as fs from 'fs';
import * as os from 'os'; import * as os from 'os';
import * as context from './context';
import * as installer from './installer'; import * as installer from './installer';
import * as core from '@actions/core'; import * as core from '@actions/core';
import * as exec from '@actions/exec'; import * as exec from '@actions/exec';
export async function run() { async function run(): Promise<void> {
try { try {
if (os.platform() == 'darwin') { if (os.platform() == 'darwin') {
core.setFailed('Not supported on darwin platform'); core.setFailed('Not supported on darwin platform');
return; return;
} }
const version = core.getInput('version') || 'latest'; const inputs: context.Inputs = await context.getInputs();
const file = core.getInput('file', {required: true}); const upx = await installer.getUPX(inputs.version);
const args = core.getInput('args');
if (!fs.existsSync(file)) { const files: string[] = await context.resolvePaths(inputs.files);
core.setFailed(`File to compress not found: ${file}`); if (files.length == 0) {
core.warning(`No files were found. Please check the 'files' input.`);
return; return;
} }
const upx = await installer.getUPX(version); await context.asyncForEach(files, async filepath => {
core.startGroup(`Compressing ${filepath}...`);
core.info('🏃 Running UPX...'); await exec.exec(`${upx} ${inputs.args} ${filepath}`);
await exec.exec(`${upx} ${args} ${file}`); core.endGroup();
});
} catch (error) { } catch (error) {
core.setFailed(error.message); core.setFailed(error.message);
} }

View File

@@ -3,7 +3,8 @@
"target": "es6", "target": "es6",
"module": "commonjs", "module": "commonjs",
"lib": [ "lib": [
"es6" "es6",
"dom"
], ],
"newLine": "lf", "newLine": "lf",
"outDir": "./lib", "outDir": "./lib",

3823
yarn.lock Normal file

File diff suppressed because it is too large Load Diff