Compare commits

...

56 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
29 changed files with 10600 additions and 8136 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,46 +0,0 @@
name: automerge
on:
pull_request:
types:
- labeled
- unlabeled
- synchronize
- unlocked
check_suite:
types:
- completed
status: {}
jobs:
dependabot:
runs-on: ubuntu-latest
if: github.actor == 'dependabot[bot]' || github.actor == 'dependabot-preview[bot]'
steps:
-
name: Approve
uses: actions/github-script@0.9.0
with:
github-token: ${{secrets.GITHUB_TOKEN}}
script: |
await github.pulls.createReview({
owner: context.payload.repository.owner.login,
repo: context.payload.repository.name,
pull_number: context.payload.pull_request.number,
event: 'APPROVE'
})
-
name: Wait
run: sleep 3
-
name: Merge
uses: actions/github-script@0.9.0
with:
github-token: ${{secrets.GITHUB_TOKEN}}
script: |
await github.pulls.merge({
owner: context.payload.repository.owner.login,
repo: context.payload.repository.name,
pull_number: context.payload.pull_request.number,
merge_method: 'squash'
})

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:
@@ -20,33 +28,28 @@ jobs:
version: version:
- latest - latest
- v3.95 - v3.95
include:
- os: ubuntu-latest
file: https://github.com/crazy-max/firefox-history-merger/releases/download/2.4.0/firefox-history-merger-linux-amd64
- os: windows-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

@@ -17,7 +17,4 @@ jobs:
uses: actions/checkout@v2 uses: actions/checkout@v2
- -
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,24 +0,0 @@
name: lint
on:
pull_request:
paths:
- '.github/workflows/lint.yml'
- 'src/*'
jobs:
lint:
runs-on: ubuntu-latest
steps:
-
name: Checkout
uses: actions/checkout@v2
-
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,36 +0,0 @@
name: master
on:
push:
branches:
- master
jobs:
prune:
runs-on: ubuntu-latest
steps:
-
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:
@@ -23,14 +48,13 @@ jobs:
uses: actions/checkout@v2 uses: actions/checkout@v2
- -
name: Install name: Install
run: npm install run: yarn install
- -
name: Test name: Test
run: npm run test run: yarn run test
- -
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,17 @@
# 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) ## 1.3.2 (2020/05/11)
* Update README * Update README

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
``` ```
@@ -43,16 +55,35 @@ Following inputs can be used as `step.with` keys
| Name | Type | Default | Description | | Name | Type | Default | Description |
|---------------|---------|-----------|---------------------------------| |---------------|---------|-----------|---------------------------------|
| `version` | String | `latest` | UPX version. Example: `v3.95` | | `version` | String | `latest` | UPX version. Example: `v3.95` |
| `file` | String | | File to compress (**required**) | | `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

@@ -11,12 +11,16 @@ inputs:
description: 'UPX version. Example: 3.95' description: 'UPX version. Example: 3.95'
default: 'latest' default: 'latest'
required: false required: false
file: files:
description: 'File to compress' description: 'Newline-delimited list of path globs for files to compress'
required: true required: false
args: args:
description: 'Arguments to pass to UPX' description: 'Arguments to pass to UPX'
required: false 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"]

8819
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"
}

5428
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@@ -7,8 +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",
"cleanup-paths": "removeNPMAbsolutePaths ./ --force --fields _where _args", "pre-checkin": "yarn run format && yarn run build"
"pre-checkin": "npm run format && npm run cleanup-paths && npm run build"
}, },
"repository": { "repository": {
"type": "git", "type": "git",
@@ -21,22 +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.5", "@types/node": "^14.11.2",
"@zeit/ncc": "^0.22.1", "@vercel/ncc": "^0.24.1",
"jest": "^25.5.4", "jest": "^26.4.2",
"jest-circus": "^25.5.4", "jest-circus": "^26.4.2",
"jest-runtime": "^25.5.4", "jest-runtime": "^26.4.2",
"prettier": "^2.0.5", "prettier": "^2.1.2",
"removeNPMAbsolutePaths": "^2.0.0", "ts-jest": "^26.4.1",
"ts-jest": "^25.5.1", "typescript": "^4.0.3",
"typescript": "^3.8.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

@@ -9,34 +9,37 @@ const osPlat: string = os.platform();
const 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.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);
core.debug(`Downloaded to ${downloadPath}`); const downloadPath: string = await tc.downloadTool(downloadUrl);
core.info(`Downloaded to ${downloadPath}`);
core.info('📦 Extracting UPX...');
let extPath: string; let extPath: string;
if (osPlat == 'win32') { if (osPlat == 'win32') {
extPath = await tc.extractZip(downloadPath); extPath = await tc.extractZip(downloadPath);
} else { } else {
extPath = await tc.extractTar(downloadPath, undefined, 'x'); extPath = await tc.extractTar(downloadPath, undefined, 'x');
} }
core.debug(`Extracted to ${extPath}`); core.info(`Extracted to ${extPath}`);
const cachePath: string = await tc.cacheDir(extPath, 'ghaction-upx', semver); 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,5 +1,5 @@
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';
@@ -11,19 +11,20 @@ async function run(): Promise<void> {
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