Compare commits

...

371 Commits

Author SHA1 Message Date
d9c9b53e53 chore: improve marketplace style 2024-05-04 01:41:30 +02:00
aebff4bd9c feat: add option to enable/disable annotations 2024-05-04 01:40:50 +02:00
2bff406277 doc: improve options documentation 2024-05-04 01:27:11 +02:00
7a6f31107b doc: improve options description 2024-05-04 01:17:12 +02:00
57c4c9d189 docs: update readme 2024-05-04 00:37:42 +02:00
3519a25e89 chore: update tests workflow 2024-05-04 00:37:42 +02:00
d073fb8ea7 doc: add information about annotation limitations 2024-05-01 04:24:14 +02:00
9d1e0624a7 feat: only new issues enhancements (#1029) 2024-04-29 17:07:23 +02:00
692c9c9dba build(deps-dev): bump @typescript-eslint/eslint-plugin from 7.7.0 to 7.7.1 (#1028) 2024-04-29 13:56:18 +02:00
ef6d5d0e99 build(deps-dev): bump @typescript-eslint/parser from 7.7.0 to 7.7.1 (#1027) 2024-04-29 13:37:38 +02:00
d149ece3f4 docs: update readme 2024-04-27 04:18:26 +02:00
f89fd48199 docs: update readme 2024-04-27 03:06:28 +02:00
47ef1b2e7f docs: update readme 2024-04-26 17:25:34 +02:00
7c0f80cbb8 docs: update readme 2024-04-25 03:39:35 +02:00
3adb6d0473 docs: update readme 2024-04-25 03:38:07 +02:00
03a8ce6d60 docs: update readme 2024-04-25 03:35:41 +02:00
82d40c283a feat: remove Go cache management (#1024) 2024-04-25 03:26:57 +02:00
c683728f10 feat: add option to not save cache (#851) 2024-04-25 01:17:21 +00:00
bf6479d5ec feat: add support for pull_request_target and only-new-issues (#506) 2024-04-25 03:03:53 +02:00
d6238b002a build(deps-dev): bump @typescript-eslint/eslint-plugin from 7.6.0 to 7.7.0 (#1023) 2024-04-22 16:53:44 +02:00
847b9efe2e build(deps-dev): bump @typescript-eslint/parser from 7.5.0 to 7.7.0 (#1022) 2024-04-22 11:09:08 +02:00
019c5ec617 build(deps-dev): bump eslint-plugin-simple-import-sort from 12.0.0 to 12.1.0 (#1018) 2024-04-15 11:30:10 +00:00
3dea681709 build(deps-dev): bump @typescript-eslint/eslint-plugin from 7.5.0 to 7.6.0 (#1019) 2024-04-15 13:23:06 +02:00
155e5ebdeb build(deps-dev): bump typescript from 5.4.4 to 5.4.5 (#1017) 2024-04-15 13:22:12 +02:00
14117827cf build(deps): bump @types/node from 20.12.5 to 20.12.7 (#1016) 2024-04-15 13:21:54 +02:00
e3c1789d3f build(deps-dev): bump @typescript-eslint/parser from 7.4.0 to 7.5.0 (#1014) 2024-04-08 15:02:41 +02:00
24de455de2 build(deps-dev): bump @typescript-eslint/eslint-plugin from 7.4.0 to 7.5.0 (#1013) 2024-04-08 13:31:32 +02:00
0068957dcf build(deps): bump @types/node from 20.12.2 to 20.12.5 (#1012) 2024-04-08 13:31:06 +02:00
8cca243457 build(deps-dev): bump typescript from 5.4.3 to 5.4.4 (#1011) 2024-04-08 13:30:51 +02:00
c1ec8d27ed build(deps): bump undici from 5.28.3 to 5.28.4 (#1010)
Co-authored-by: Fernandez Ludovic <ldez@users.noreply.github.com>
2024-04-04 21:23:29 +02:00
80ffcf7ac5 build(deps-dev): bump @typescript-eslint/parser from 7.3.1 to 7.4.0 (#1009) 2024-04-01 16:07:04 +02:00
c9cf8614bf build(deps-dev): bump @typescript-eslint/eslint-plugin from 7.3.1 to 7.4.0 (#1008) 2024-04-01 14:50:56 +02:00
ca92b655d7 build(deps): bump @types/node from 20.11.30 to 20.12.2 (#1007) 2024-04-01 14:50:30 +02:00
e637d2bbe4 build(deps-dev): bump @typescript-eslint/parser from 7.2.0 to 7.3.1 (#1006) 2024-03-25 11:54:13 +00:00
f7e6ffb14d build(deps-dev): bump typescript from 5.4.2 to 5.4.3 (#1005) 2024-03-25 12:42:58 +01:00
04092870fd build(deps): bump @types/node from 20.11.28 to 20.11.30 (#1004) 2024-03-25 12:42:27 +01:00
15ace4fc54 build(deps-dev): bump @typescript-eslint/eslint-plugin from 7.2.0 to 7.3.1 (#1003) 2024-03-25 12:42:10 +01:00
66db41e5dd build(deps-dev): bump @typescript-eslint/eslint-plugin from 7.1.1 to 7.2.0 (#999) 2024-03-18 13:41:34 +01:00
a54aa6ce0b build(deps): bump @types/node from 20.11.25 to 20.11.28 (#1000) 2024-03-18 13:22:57 +01:00
0cb4e4ce8a build(deps-dev): bump @typescript-eslint/parser from 7.1.1 to 7.2.0 (#998) 2024-03-18 13:22:29 +01:00
c2b1114313 build(deps): bump google.golang.org/protobuf from 1.28.0 to 1.33.0 in /sample-go-mod (#997) 2024-03-13 23:01:31 +01:00
1ef822c9e7 build(deps): bump @actions/http-client from 2.2.0 to 2.2.1 (#995)
Co-authored-by: Fernandez Ludovic <ldez@users.noreply.github.com>
2024-03-11 19:03:02 +01:00
0cf702c571 build(deps-dev): bump @typescript-eslint/eslint-plugin from 7.1.0 to 7.1.1 (#994) 2024-03-11 17:35:13 +01:00
e0e0b2b842 build(deps-dev): bump typescript from 5.3.3 to 5.4.2 (#993) 2024-03-11 17:23:20 +01:00
d7b3f577a7 build(deps): bump @types/node from 20.11.24 to 20.11.25 (#992) 2024-03-11 17:23:00 +01:00
a3062e4021 build(deps-dev): bump @typescript-eslint/parser from 7.1.0 to 7.1.1 (#991) 2024-03-11 17:22:40 +01:00
0cea014686 build(deps): bump @types/node from 20.11.20 to 20.11.24 (#990) 2024-03-04 13:43:42 +01:00
c9cca96908 build(deps-dev): bump @typescript-eslint/parser from 6.21.0 to 7.1.0 (#988)
Co-authored-by: Fernandez Ludovic <ldez@users.noreply.github.com>
2024-03-04 13:40:26 +01:00
2e99f461f3 build(deps): bump tmp from 0.2.1 to 0.2.3 (#989)
Co-authored-by: Fernandez Ludovic <ldez@users.noreply.github.com>
2024-03-04 13:36:42 +01:00
27463c1456 build(deps-dev): bump eslint from 8.56.0 to 8.57.0 (#987) 2024-02-26 17:04:02 +01:00
47f5f04922 build(deps): bump @types/semver from 7.5.7 to 7.5.8 (#986) 2024-02-26 13:09:12 +00:00
6d0160cbf8 build(deps): bump @types/node from 20.11.19 to 20.11.20 (#985) 2024-02-26 14:00:14 +01:00
52b846a8b5 build(deps): bump undici from 5.26.3 to 5.28.3 (#976)
Co-authored-by: Fernandez Ludovic <ldez@users.noreply.github.com>
2024-02-19 15:35:38 +01:00
3f7fc68782 build(deps-dev): bump @typescript-eslint/eslint-plugin from 6.21.0 to 7.0.0 (#980) 2024-02-19 14:40:55 +01:00
1eba11c6d8 build(deps): bump @types/node from 20.11.17 to 20.11.19 (#979) 2024-02-19 14:40:33 +01:00
552a57d5dc docs: update the version of the action used in the README example (#977)
Co-authored-by: Ludovic Fernandez <ldez@users.noreply.github.com>
2024-02-17 15:43:17 +00:00
a83e3d11f6 build(deps): bump @types/node from 20.11.16 to 20.11.17 (#972) 2024-02-12 16:33:45 +01:00
2fc4c770fc build(deps-dev): bump @typescript-eslint/eslint-plugin from 6.20.0 to 6.21.0 (#973) 2024-02-12 16:33:36 +01:00
0ea26a0a52 build(deps-dev): bump eslint-plugin-simple-import-sort from 10.0.0 to 12.0.0 (#971) 2024-02-12 15:12:04 +01:00
f1a742892f build(deps-dev): bump @typescript-eslint/parser from 6.20.0 to 6.21.0 (#970) 2024-02-12 15:11:56 +01:00
2031bb15ab build(deps): bump @types/semver from 7.5.6 to 7.5.7 (#969) 2024-02-12 15:11:44 +01:00
17bf0db4b7 chore: use olstable as Go version 2024-02-12 14:12:44 +01:00
de85e3b9b1 chore: update tested golangci-lint version 2024-02-12 13:57:04 +01:00
3cfe3a4abb build(deps): bump @actions/cache from 3.2.3 to 3.2.4 (#963)
Co-authored-by: Fernandez Ludovic <ldez@users.noreply.github.com>
2024-02-05 17:45:40 +00:00
cbc59cf0d1 build(deps-dev): bump prettier from 3.2.4 to 3.2.5 (#960) 2024-02-05 18:03:56 +01:00
459a04b021 build(deps-dev): bump @typescript-eslint/eslint-plugin from 6.19.1 to 6.20.0 (#959) 2024-02-05 18:03:36 +01:00
e2315b67db build(deps-dev): bump @typescript-eslint/parser from 6.19.1 to 6.20.0 (#961) 2024-02-05 14:10:30 +01:00
d6173a45d0 build(deps): bump @types/node from 20.11.10 to 20.11.16 (#962) 2024-02-05 14:10:22 +01:00
0e8f5bf773 build(deps): bump @types/node from 20.11.5 to 20.11.10 (#958) 2024-01-29 17:58:17 +01:00
349d20632d build(deps-dev): bump @typescript-eslint/eslint-plugin from 6.19.0 to 6.19.1 (#957) 2024-01-29 13:44:07 +01:00
2221aee284 build(deps-dev): bump @typescript-eslint/parser from 6.18.1 to 6.19.1 (#954) 2024-01-22 23:29:21 +01:00
3b44ae5b24 build(deps-dev): bump @typescript-eslint/eslint-plugin from 6.18.1 to 6.19.0 (#951) 2024-01-22 22:31:10 +01:00
323b871bbc build(deps-dev): bump prettier from 3.2.2 to 3.2.4 (#950) 2024-01-22 22:30:59 +01:00
a23373f4c8 build(deps): bump @types/node from 20.11.1 to 20.11.5 (#949) 2024-01-22 22:30:46 +01:00
e38f944096 build(deps): bump @actions/cache from 3.2.2 to 3.2.3 (#946)
Co-authored-by: Fernandez Ludovic <ldez@users.noreply.github.com>
2024-01-16 16:26:51 +00:00
3c5e1cac39 build(deps): bump @types/node from 20.10.7 to 20.11.1 (#948) 2024-01-15 14:20:05 +01:00
0f1139540c build(deps-dev): bump prettier from 3.1.1 to 3.2.2 (#947) 2024-01-15 14:19:57 +01:00
81218f8e0c build(deps-dev): bump @typescript-eslint/parser from 6.18.0 to 6.18.1 (#945) 2024-01-15 14:19:47 +01:00
cc439c2555 build(deps-dev): bump eslint-plugin-prettier from 5.1.2 to 5.1.3 (#944) 2024-01-15 14:19:38 +01:00
3efd423e8d build(deps-dev): bump @typescript-eslint/eslint-plugin from 6.16.0 to 6.18.1 (#942) 2024-01-09 00:26:23 +01:00
effc519e1b build(deps): bump @types/node from 20.10.6 to 20.10.7 (#941) 2024-01-09 00:08:47 +01:00
cfaf0f0750 build(deps-dev): bump @typescript-eslint/parser from 6.16.0 to 6.18.0 (#939) 2024-01-09 00:08:24 +01:00
86abc3c6d2 build(deps-dev): bump @typescript-eslint/eslint-plugin from 6.15.0 to 6.16.0 (#936) 2024-01-01 19:41:21 +01:00
c5ba143a4c build(deps): bump @types/node from 20.10.5 to 20.10.6 (#937) 2024-01-01 13:37:18 +01:00
a9d24cbbd7 build(deps-dev): bump @typescript-eslint/parser from 6.15.0 to 6.16.0 (#935) 2024-01-01 13:36:46 +01:00
2e6adf08a9 build(deps-dev): bump @typescript-eslint/eslint-plugin from 6.14.0 to 6.15.0 (#934) 2023-12-25 16:53:12 +01:00
1c2ceb7f27 build(deps-dev): bump @typescript-eslint/parser from 6.14.0 to 6.15.0 (#933) 2023-12-25 16:33:00 +01:00
5f85afe386 build(deps-dev): bump eslint-plugin-prettier from 5.0.1 to 5.1.2 (#932) 2023-12-25 16:32:40 +01:00
05d79cc0e4 docs: update section about GitHub Annotations (#931) 2023-12-21 17:04:32 +01:00
edcd1211b8 build(deps-dev): bump eslint from 8.55.0 to 8.56.0 (#930) 2023-12-18 12:47:25 +01:00
eb69bf92e7 build(deps-dev): bump @typescript-eslint/eslint-plugin from 6.13.2 to 6.14.0 (#928) 2023-12-18 10:49:05 +00:00
92ed864d2e build(deps): bump @types/node from 20.10.4 to 20.10.5 (#929) 2023-12-18 11:34:10 +01:00
3eeea96a33 build(deps-dev): bump eslint-plugin-import from 2.29.0 to 2.29.1 (#927) 2023-12-18 11:33:42 +01:00
c701339303 build(deps-dev): bump @typescript-eslint/parser from 6.13.2 to 6.14.0 (#926) 2023-12-18 11:33:23 +01:00
e03e943597 build(deps): bump github/codeql-action from 2 to 3 (#925) 2023-12-18 11:33:01 +01:00
50372b6518 build(deps-dev): bump typescript from 5.3.2 to 5.3.3 (#923) 2023-12-11 11:12:25 +00:00
b6b6b379de build(deps): bump actions/setup-go from 4 to 5 (#924) 2023-12-11 12:03:51 +01:00
7d8fef21df build(deps-dev): bump prettier from 3.1.0 to 3.1.1 (#922) 2023-12-11 12:02:12 +01:00
0d0b9c12e8 build(deps): bump @types/node from 20.10.3 to 20.10.4 (#921) 2023-12-11 12:01:48 +01:00
7989493c23 build(deps-dev): bump @typescript-eslint/eslint-plugin from 6.13.1 to 6.13.2 (#920) 2023-12-11 12:01:31 +01:00
f7e7174579 build(deps-dev): bump eslint-config-prettier from 9.0.0 to 9.1.0 (#916) 2023-12-05 05:38:38 +00:00
46a279bd0a build(deps-dev): bump @typescript-eslint/parser from 6.12.0 to 6.13.2 (#918) 2023-12-05 05:32:13 +00:00
4f796ce6b5 build(deps-dev): bump @typescript-eslint/eslint-plugin from 6.12.0 to 6.13.1 (#915) 2023-12-05 06:21:59 +01:00
dd7bdbe4bf build(deps-dev): bump eslint from 8.54.0 to 8.55.0 (#914) 2023-12-05 06:21:41 +01:00
5e13907514 build(deps): bump @types/node from 20.10.0 to 20.10.3 (#913) 2023-12-05 06:20:38 +01:00
c0b0a00641 build(deps-dev): bump @typescript-eslint/parser from 6.11.0 to 6.12.0 (#911) 2023-11-27 17:06:01 +01:00
88688a2400 build(deps): bump @types/semver from 7.5.5 to 7.5.6 (#910) 2023-11-27 17:05:41 +01:00
a50083874e build(deps-dev): bump @typescript-eslint/eslint-plugin from 6.11.0 to 6.12.0 (#909) 2023-11-27 16:54:04 +01:00
8e84a3001a build(deps-dev): bump typescript from 5.2.2 to 5.3.2 (#908) 2023-11-27 16:53:44 +01:00
9a8fa77b90 build(deps): bump @types/node from 20.9.2 to 20.10.0 (#907) 2023-11-27 16:49:13 +01:00
677d5e3b79 build(deps-dev): bump @typescript-eslint/eslint-plugin from 6.10.0 to 6.11.0 (#906) 2023-11-20 12:05:25 +00:00
abd6e0ea0b build(deps-dev): bump @typescript-eslint/parser from 6.10.0 to 6.11.0 (#905) 2023-11-20 12:52:43 +01:00
7778b2da3c build(deps): bump @types/node from 20.8.10 to 20.9.2 (#904) 2023-11-20 12:52:26 +01:00
bfee5ee11d build(deps-dev): bump eslint from 8.53.0 to 8.54.0 (#903) 2023-11-20 12:52:14 +01:00
608f9e14ec docs: fix typos 2023-11-14 22:51:16 +01:00
9381bb2c2c build(deps-dev): bump @typescript-eslint/parser from 6.9.1 to 6.10.0 (#899) 2023-11-13 12:16:04 +01:00
17e44d79cb build(deps): bump @types/tmp from 0.2.5 to 0.2.6 (#898) 2023-11-13 12:15:55 +01:00
25ef9ca970 build(deps-dev): bump prettier from 3.0.3 to 3.1.0 (#900) 2023-11-13 11:57:04 +01:00
170a3a0cf1 build(deps-dev): bump @typescript-eslint/eslint-plugin from 6.9.1 to 6.10.0 (#896) 2023-11-13 11:56:41 +01:00
a76f44e7d8 build(deps): bump @types/semver from 7.5.4 to 7.5.5 (#897) 2023-11-13 11:56:30 +01:00
8fa7dff7b9 build(deps-dev): bump @typescript-eslint/parser from 6.9.0 to 6.9.1 (#894) 2023-11-06 13:03:23 +00:00
face0856de build(deps): bump @types/node from 20.8.9 to 20.8.10 (#895) 2023-11-06 13:50:07 +01:00
ec66a939a9 build(deps-dev): bump @typescript-eslint/eslint-plugin from 6.9.0 to 6.9.1 (#892) 2023-11-06 13:49:27 +01:00
c44dc93f23 build(deps-dev): bump eslint from 8.52.0 to 8.53.0 (#893) 2023-11-06 13:49:05 +01:00
d2a0133e31 build(deps-dev): bump @typescript-eslint/eslint-plugin from 6.8.0 to 6.9.0 (#890) 2023-10-30 12:20:09 +00:00
455de4e66d build(deps): bump @types/node from 20.8.6 to 20.8.9 (#889) 2023-10-30 13:04:32 +01:00
61c1a4a9f5 build(deps-dev): bump @typescript-eslint/parser from 6.8.0 to 6.9.0 (#888) 2023-10-30 13:04:19 +01:00
604fe72b13 build(deps-dev): bump eslint-plugin-import from 2.28.1 to 2.29.0 (#887) 2023-10-30 13:04:09 +01:00
3c85045f6e build(deps): bump @types/tmp from 0.2.4 to 0.2.5 (#886) 2023-10-30 13:03:56 +01:00
d9fc28500d build(deps-dev): bump @typescript-eslint/eslint-plugin from 6.7.5 to 6.8.0 (#884) 2023-10-23 17:52:37 +02:00
7d357a3513 build(deps-dev): bump @typescript-eslint/parser from 6.7.5 to 6.8.0 (#885) 2023-10-23 17:27:19 +02:00
b45661bc10 build(deps-dev): bump @vercel/ncc from 0.38.0 to 0.38.1 (#883) 2023-10-23 15:17:29 +00:00
31c68b6041 build(deps): bump @types/semver from 7.5.3 to 7.5.4 (#882) 2023-10-23 17:00:58 +02:00
d27d0c27ac build(deps-dev): bump eslint from 8.51.0 to 8.52.0 (#881) 2023-10-23 17:00:36 +02:00
4b1e98b37d build(deps): bump undici from 5.25.4 to 5.26.3 (#879)
Co-authored-by: Fernandez Ludovic <ldez@users.noreply.github.com>
2023-10-16 21:48:18 +02:00
5a72764667 build(deps): bump @actions/github from 5.1.1 to 6.0.0 (#877)
Co-authored-by: Fernandez Ludovic <ldez@users.noreply.github.com>
2023-10-16 19:37:34 +00:00
30416f05a0 build(deps-dev): bump @typescript-eslint/eslint-plugin from 6.7.4 to 6.7.5 (#878) 2023-10-16 16:45:23 +02:00
a555e8cdd0 build(deps-dev): bump eslint-plugin-prettier from 5.0.0 to 5.0.1 (#876) 2023-10-16 11:24:49 +02:00
c8710f274e build(deps): bump @types/node from 20.8.3 to 20.8.6 (#875) 2023-10-16 11:24:31 +02:00
40776d7557 build(deps-dev): bump @typescript-eslint/parser from 6.7.4 to 6.7.5 (#874) 2023-10-16 11:24:12 +02:00
9cb5ef734c build(deps): bump @actions/http-client from 2.1.1 to 2.2.0 (#872)
Co-authored-by: Fernandez Ludovic <ldez@users.noreply.github.com>
2023-10-09 17:33:19 +02:00
62f96762dd build(deps-dev): bump eslint from 8.50.0 to 8.51.0 (#871) 2023-10-09 14:21:36 +02:00
84072ff78e build(deps-dev): bump @typescript-eslint/eslint-plugin from 6.7.3 to 6.7.4 (#870) 2023-10-09 14:21:22 +02:00
a625c15a6b build(deps): bump @types/node from 20.8.0 to 20.8.3 (#869) 2023-10-09 11:34:09 +02:00
5545aac6a3 build(deps-dev): bump @typescript-eslint/parser from 6.7.3 to 6.7.4 (#868) 2023-10-09 11:33:45 +02:00
e09eda33b5 build(deps-dev): bump @typescript-eslint/parser from 6.7.2 to 6.7.3 (#866) 2023-10-02 16:11:17 +02:00
526ce234e5 build(deps): bump @types/node from 20.6.5 to 20.8.0 (#867) 2023-10-02 16:11:06 +02:00
507ec96a74 build(deps-dev): bump @typescript-eslint/eslint-plugin from 6.7.2 to 6.7.3 (#865) 2023-10-02 15:52:22 +02:00
252bd8e8ba build(deps): bump @types/semver from 7.5.2 to 7.5.3 (#864) 2023-10-02 15:52:13 +02:00
07341d3490 build(deps-dev): bump @typescript-eslint/eslint-plugin from 6.7.0 to 6.7.2 (#862) 2023-09-25 16:17:19 +02:00
9df6f480ac build(deps-dev): bump @typescript-eslint/parser from 6.6.0 to 6.7.2 (#861) 2023-09-25 14:39:54 +02:00
6f4d254d44 build(deps): bump @types/node from 20.6.2 to 20.6.5 (#860) 2023-09-25 14:39:33 +02:00
a24255b274 build(deps-dev): bump eslint from 8.49.0 to 8.50.0 (#859) 2023-09-25 14:39:12 +02:00
c12092e88f build(deps): bump @actions/core from 1.10.0 to 1.10.1 (#856)
Co-authored-by: Fernandez Ludovic <ldez@users.noreply.github.com>
2023-09-18 20:14:17 +00:00
031ba7f7a9 build(deps): bump @types/node from 20.6.0 to 20.6.2 (#857) 2023-09-18 15:29:56 +02:00
c8d4ef2f53 build(deps-dev): bump @typescript-eslint/eslint-plugin from 6.6.0 to 6.7.0 (#855) 2023-09-18 15:29:41 +02:00
31c1b1aa98 build(deps): bump @types/tmp from 0.2.3 to 0.2.4 (#854) 2023-09-18 15:29:31 +02:00
31eb4eaded build(deps): bump @types/semver from 7.5.1 to 7.5.2 (#853) 2023-09-18 14:15:38 +02:00
5f5f252fe2 build(deps-dev): bump @typescript-eslint/eslint-plugin from 6.5.0 to 6.6.0 (#849) 2023-09-11 10:43:57 +00:00
c624d54a53 build(deps-dev): bump @vercel/ncc from 0.36.1 to 0.38.0 (#850) 2023-09-11 10:36:27 +00:00
d735dc073f build(deps-dev): bump @typescript-eslint/parser from 6.5.0 to 6.6.0 (#848) 2023-09-11 12:21:19 +02:00
846e7ddcd9 build(deps): bump @types/node from 20.5.9 to 20.6.0 (#847) 2023-09-11 12:21:00 +02:00
d66278f1e9 build(deps-dev): bump eslint from 8.48.0 to 8.49.0 (#846) 2023-09-11 12:20:39 +02:00
1afd74ce23 build(deps): bump actions/checkout from 3 to 4 (#845) 2023-09-11 12:20:16 +02:00
c67416616c chore: bump to use node20 runtime, actions/checkout to v4 (#843) 2023-09-06 00:25:15 +00:00
29052a94fb build(deps): bump @types/node from 20.5.7 to 20.5.9 (#841) 2023-09-04 17:12:18 +02:00
2d06cf1746 build(deps-dev): bump @typescript-eslint/parser from 6.4.1 to 6.5.0 (#840) 2023-09-04 17:12:08 +02:00
953db97e74 build(deps-dev): bump prettier from 3.0.2 to 3.0.3 (#842) 2023-09-04 15:04:52 +02:00
f7b4bdd2ad build(deps-dev): bump @typescript-eslint/eslint-plugin from 6.4.1 to 6.5.0 (#839) 2023-09-04 15:04:28 +02:00
239c8dab36 build(deps): bump @types/semver from 7.5.0 to 7.5.1 (#838) 2023-09-04 15:04:16 +02:00
237bd9f909 build(deps-dev): bump typescript from 5.1.6 to 5.2.2 (#836) 2023-08-28 12:56:19 +02:00
fef6a0f2be build(deps-dev): bump eslint from 8.47.0 to 8.48.0 (#837) 2023-08-28 12:56:03 +02:00
2d891f879c build(deps-dev): bump @typescript-eslint/parser from 6.4.0 to 6.4.1 (#835) 2023-08-28 10:20:25 +00:00
1e9c424622 build(deps-dev): bump @typescript-eslint/eslint-plugin from 6.4.0 to 6.4.1 (#834) 2023-08-28 12:11:09 +02:00
cf670955c6 build(deps): bump @types/node from 20.5.1 to 20.5.7 (#833) 2023-08-28 09:55:58 +00:00
c49c2afa5d build(deps-dev): bump prettier from 3.0.1 to 3.0.2 (#828) 2023-08-22 22:23:22 +02:00
81871bcfd1 build(deps-dev): bump @typescript-eslint/parser from 6.3.0 to 6.4.0 (#831) 2023-08-22 22:22:46 +02:00
b2f426ba19 build(deps): bump @types/node from 20.5.0 to 20.5.1 (#827) 2023-08-21 12:29:44 +02:00
f8a3dc114e build(deps-dev): bump eslint-plugin-import from 2.28.0 to 2.28.1 (#830) 2023-08-21 12:29:23 +02:00
1330ad3e73 build(deps-dev): bump @typescript-eslint/eslint-plugin from 6.3.0 to 6.4.0 (#829) 2023-08-21 12:29:02 +02:00
6efbbade29 docs: update examples (#826) 2023-08-18 12:56:11 +02:00
3a91952989 feat: working-directory with only-new-issues (#795)
Co-authored-by: Fernandez Ludovic <ldez@users.noreply.github.com>
2023-08-14 23:13:33 +02:00
5e676315e9 build(deps): bump @actions/cache from 3.2.1 to 3.2.2 (#825)
Co-authored-by: Fernandez Ludovic <ldez@users.noreply.github.com>
2023-08-14 14:11:19 +00:00
18dad33d2e build(deps-dev): bump @typescript-eslint/eslint-plugin from 6.2.1 to 6.3.0 (#822) 2023-08-14 13:10:54 +02:00
945dc98b91 build(deps): bump @types/node from 20.4.8 to 20.5.0 (#824) 2023-08-14 12:52:49 +02:00
cac24f53b7 build(deps-dev): bump eslint from 8.45.0 to 8.47.0 (#823) 2023-08-14 12:52:29 +02:00
ab66454db6 build(deps-dev): bump @typescript-eslint/parser from 6.2.0 to 6.3.0 (#821) 2023-08-14 12:52:04 +02:00
a2527500a4 build(deps): bump @actions/http-client from 2.1.0 to 2.1.1 (#819) 2023-08-07 21:35:27 +00:00
44d9998d44 build(deps-dev): bump eslint-config-prettier from 8.9.0 to 9.0.0 (#818) 2023-08-07 11:54:15 +02:00
b6bdfb3d14 build(deps-dev): bump prettier from 3.0.0 to 3.0.1 (#817) 2023-08-07 11:53:50 +02:00
c0cd965566 build(deps-dev): bump @typescript-eslint/eslint-plugin from 6.2.0 to 6.2.1 (#816) 2023-08-07 11:53:26 +02:00
66268c5fbe build(deps): bump @types/node from 20.4.5 to 20.4.8 (#815) 2023-08-07 11:53:08 +02:00
2ab8c4423e build(deps-dev): bump @typescript-eslint/parser from 6.1.0 to 6.2.0 (#812) 2023-07-31 13:48:18 +02:00
2c52863893 build(deps-dev): bump eslint-config-prettier from 8.8.0 to 8.9.0 (#811) 2023-07-31 13:47:58 +02:00
77db3f966c build(deps-dev): bump @typescript-eslint/eslint-plugin from 6.1.0 to 6.2.0 (#810) 2023-07-31 12:44:38 +02:00
797977b61a build(deps): bump @types/node from 20.4.4 to 20.4.5 (#809) 2023-07-31 12:44:15 +02:00
015f418198 build(deps-dev): bump eslint-plugin-import from 2.27.5 to 2.28.0 (#808) 2023-07-31 12:43:55 +02:00
88ae11c65f build(deps-dev): bump @typescript-eslint/parser from 6.0.0 to 6.1.0 (#805) 2023-07-24 13:37:35 +02:00
51e800db2c build(deps-dev): bump @typescript-eslint/eslint-plugin from 6.0.0 to 6.1.0 (#804) 2023-07-24 13:22:06 +02:00
f05002851f build(deps): bump @types/node from 20.4.2 to 20.4.4 (#803) 2023-07-24 13:10:24 +02:00
b39364735e build(deps-dev): bump @typescript-eslint/eslint-plugin from 5.61.0 to 6.0.0 (#800)
Co-authored-by: Fernandez Ludovic <ldez@users.noreply.github.com>
2023-07-24 13:10:01 +02:00
a657dba833 build(deps-dev): bump eslint from 8.44.0 to 8.45.0 (#801) 2023-07-17 12:50:38 +02:00
ba65924209 build(deps-dev): bump @typescript-eslint/parser from 5.61.0 to 5.62.0 (#799) 2023-07-17 12:50:09 +02:00
c0edea7835 build(deps): bump @types/node from 20.4.1 to 20.4.2 (#798) 2023-07-17 12:49:43 +02:00
a1145a6b27 build(deps-dev): bump prettier from 2.8.8 to 3.0.0 (#794)
Co-authored-by: Fernandez Ludovic <ldez@users.noreply.github.com>
2023-07-11 10:25:55 +02:00
83e5ccebf6 chore: flag dist as generated 2023-07-11 10:12:11 +02:00
8457318a42 build(deps): bump semver from 6.3.0 to 6.3.1 (#796)
Co-authored-by: Fernandez Ludovic <ldez@users.noreply.github.com>
2023-07-11 08:10:27 +00:00
a422a812eb build(deps-dev): bump @typescript-eslint/eslint-plugin from 5.60.1 to 5.61.0 (#793) 2023-07-10 12:40:10 +02:00
84836b13d8 build(deps-dev): bump @typescript-eslint/parser from 5.60.1 to 5.61.0 (#792) 2023-07-10 12:18:16 +02:00
360e5b76ee build(deps): bump @types/node from 20.3.3 to 20.4.1 (#791) 2023-07-10 12:17:51 +02:00
42ba3c24d6 build(deps): bump tough-cookie and @azure/ms-rest-js (#790) 2023-07-09 13:04:43 +02:00
4f5a3af221 build(deps-dev): bump eslint from 8.43.0 to 8.44.0 (#788) 2023-07-03 14:30:48 +02:00
f1690ab489 build(deps-dev): bump typescript from 5.1.3 to 5.1.6 (#787) 2023-07-03 14:15:42 +02:00
98d324947b build(deps-dev): bump @typescript-eslint/eslint-plugin from 5.60.0 to 5.60.1 (#786) 2023-07-03 14:15:16 +02:00
5326fa0045 build(deps-dev): bump @typescript-eslint/parser from 5.60.0 to 5.60.1 (#785) 2023-07-03 13:49:40 +02:00
4d9aae64da build(deps): bump @types/node from 20.3.1 to 20.3.3 (#784) 2023-07-03 13:49:17 +02:00
d29c0cc90a build(deps-dev): bump @typescript-eslint/parser from 5.59.11 to 5.60.0 (#783) 2023-06-26 14:05:38 +00:00
28fa3382e3 build(deps-dev): bump @typescript-eslint/eslint-plugin from 5.59.11 to 5.60.0 (#782) 2023-06-26 13:37:32 +02:00
715abd3467 docs: improve How to use section in README.md (#780) 2023-06-24 11:02:32 +00:00
01827479ce build(deps-dev): bump @typescript-eslint/eslint-plugin from 5.59.9 to 5.59.11 (#778) 2023-06-19 12:32:48 +00:00
05fe2da5ec build(deps): bump @types/node from 20.3.0 to 20.3.1 (#777) 2023-06-19 14:20:36 +02:00
2a20098909 build(deps-dev): bump eslint from 8.42.0 to 8.43.0 (#775) 2023-06-19 14:20:27 +02:00
71a9ad5faf build(deps-dev): bump @typescript-eslint/parser from 5.59.9 to 5.59.11 (#776) 2023-06-19 14:20:18 +02:00
b814b8606f chore: flag dist as generated 2023-06-13 11:28:19 +02:00
455ad55fab docs: improve changelog 2023-06-12 20:11:09 +02:00
cde40a3b90 docs: fix default value 2023-06-12 20:07:33 +02:00
444727df93 chore: exclude dependencies PRs from changelog 2023-06-12 19:29:58 +02:00
aca98fe711 chore: exclude dependabot from changelog 2023-06-12 19:22:53 +02:00
8078b42bbd docs: improve version description 2023-06-12 16:12:46 +02:00
1577f9c80c build(deps-dev): bump @typescript-eslint/eslint-plugin from 5.59.8 to 5.59.9 (#773) 2023-06-12 10:22:58 +00:00
313d11ed7d build(deps-dev): bump @typescript-eslint/parser from 5.59.8 to 5.59.9 (#772) 2023-06-12 12:14:22 +02:00
907f20a45e build(deps): bump @types/node from 20.2.5 to 20.3.0 (#771) 2023-06-12 12:14:13 +02:00
639cd343e1 tests: increase timeout 2023-06-12 11:42:49 +02:00
569abaa281 fix: out-format (#770) 2023-06-12 11:41:42 +02:00
c57cc43669 build(deps-dev): bump typescript from 5.0.4 to 5.1.3 (#764)
Co-authored-by: Fernandez Ludovic <ldez@users.noreply.github.com>
2023-06-12 08:57:34 +00:00
322510a3ea feat: support out-format as args (#769)
Co-authored-by: Fernandez Ludovic <ldez@users.noreply.github.com>
2023-06-12 10:43:54 +02:00
185e7a2f8f feat: add install-mode (#768) 2023-06-11 19:16:14 +02:00
5be60c708e docs: improve args examples 2023-06-11 17:25:06 +02:00
825a50d3a2 chore: update workflow and doc 2023-06-09 15:02:04 +02:00
8c13ec4e5d doc: Add custom configuration file path to args (#767) 2023-06-08 14:39:08 +00:00
416b5d0b48 build(deps-dev): bump @typescript-eslint/parser from 5.59.7 to 5.59.8 (#765) 2023-06-05 19:41:18 +02:00
66a608006f build(deps-dev): bump @typescript-eslint/eslint-plugin from 5.59.7 to 5.59.8 (#763) 2023-06-05 14:08:23 +02:00
f0ba586c1f build(deps-dev): bump eslint from 8.41.0 to 8.42.0 (#766) 2023-06-05 12:57:23 +02:00
b8fff06a27 docs: fix example (#762) 2023-06-03 13:06:05 +00:00
5f1fec7010 build(deps-dev): bump @typescript-eslint/parser from 5.59.6 to 5.59.7 (#758) 2023-05-29 10:30:00 +00:00
601007b788 build(deps): bump @types/node from 20.2.3 to 20.2.5 (#756) 2023-05-29 12:29:37 +02:00
d2a913e97b build(deps-dev): bump @typescript-eslint/eslint-plugin from 5.59.6 to 5.59.7 (#757) 2023-05-29 12:25:02 +02:00
7233bd71cb build(deps-dev): bump @typescript-eslint/eslint-plugin from 5.59.5 to 5.59.6 (#752) 2023-05-22 10:21:22 +00:00
687f029324 build(deps): bump @types/node from 20.1.4 to 20.2.3 (#755) 2023-05-22 12:15:29 +02:00
f9990cd216 build(deps-dev): bump @typescript-eslint/parser from 5.59.5 to 5.59.6 (#754) 2023-05-22 12:15:07 +02:00
f30aa514f9 build(deps-dev): bump eslint from 8.40.0 to 8.41.0 (#753) 2023-05-22 12:14:43 +02:00
6b21f586ed build(deps-dev): bump @typescript-eslint/eslint-plugin from 5.59.2 to 5.59.5 (#749) 2023-05-15 14:39:43 +02:00
535ed3a04b build(deps): bump @types/semver from 7.3.13 to 7.5.0 (#748) 2023-05-15 14:34:32 +02:00
0078ef00ab build(deps-dev): bump @typescript-eslint/parser from 5.59.1 to 5.59.5 (#750) 2023-05-15 14:15:43 +02:00
776a285c4c build(deps): bump @types/node from 20.1.0 to 20.1.4 (#747) 2023-05-15 14:15:11 +02:00
0d51521d42 build(deps): bump @types/node from 18.16.3 to 20.1.0 (#746) 2023-05-08 14:08:36 +02:00
65ea3995bb build(deps-dev): bump @typescript-eslint/eslint-plugin from 5.59.1 to 5.59.2 (#744) 2023-05-08 14:07:56 +02:00
653016502e build(deps-dev): bump eslint from 8.39.0 to 8.40.0 (#743) 2023-05-08 14:07:35 +02:00
4cb9697578 build(deps): bump @types/node from 18.16.0 to 18.16.3 (#740) 2023-05-01 13:30:33 +02:00
dd04c182af build(deps-dev): bump @typescript-eslint/parser from 5.59.0 to 5.59.1 (#741) 2023-05-01 13:30:19 +02:00
8c36daf744 build(deps-dev): bump @typescript-eslint/eslint-plugin from 5.59.0 to 5.59.1 (#739) 2023-05-01 13:19:46 +02:00
0f97d97f47 build(deps-dev): bump @typescript-eslint/eslint-plugin from 5.58.0 to 5.59.0 (#735) 2023-04-24 14:06:18 +02:00
27e48c2073 build(deps-dev): bump prettier from 2.8.7 to 2.8.8 (#736) 2023-04-24 14:05:47 +02:00
65466a27fa build(deps-dev): bump eslint from 8.38.0 to 8.39.0 (#734) 2023-04-24 12:04:43 +02:00
520b21135e build(deps): bump @types/node from 18.15.11 to 18.16.0 (#733) 2023-04-24 12:04:21 +02:00
369d614672 build(deps-dev): bump @typescript-eslint/parser from 5.58.0 to 5.59.0 (#732) 2023-04-24 12:04:02 +02:00
240da36b3d fix invalid docs about cache key (#695) 2023-04-18 12:22:42 +02:00
6897b1a051 build(deps): bump xml2js, @azure/ms-rest-js and @azure/core-http (#726)
Co-authored-by: Fernandez Ludovic <ldez@users.noreply.github.com>
2023-04-18 11:56:33 +02:00
4042cfe2d4 build(deps-dev): bump @typescript-eslint/parser from 5.57.1 to 5.58.0 (#728) 2023-04-17 22:42:08 +02:00
97bb55a183 build(deps-dev): bump @typescript-eslint/eslint-plugin from 5.57.1 to 5.58.0 (#729) 2023-04-17 14:13:38 +02:00
744562230b build(deps-dev): bump @typescript-eslint/parser from 5.57.0 to 5.57.1 (#724) 2023-04-10 11:38:41 +00:00
1e0fb9b015 build(deps-dev): bump typescript from 5.0.3 to 5.0.4 (#725) 2023-04-10 11:36:48 +00:00
8bb781f27a build(deps-dev): bump eslint from 8.37.0 to 8.38.0 (#723) 2023-04-10 13:32:21 +02:00
c60079adbf build(deps-dev): bump @typescript-eslint/eslint-plugin from 5.57.0 to 5.57.1 (#722) 2023-04-10 13:31:59 +02:00
f6781576ae chore: update old golangci-lint version 2023-04-10 12:43:44 +02:00
c7b6fc977f chore: update old golangci-lint version 2023-04-10 12:31:29 +02:00
579a4e6741 build(deps): bump @types/node from 18.15.10 to 18.15.11 (#721) 2023-04-10 12:27:53 +02:00
32a046958e build(deps-dev): bump @typescript-eslint/parser from 5.56.0 to 5.57.0 (#720) 2023-04-03 10:19:25 +00:00
7641ddf8a8 build(deps-dev): bump eslint from 8.36.0 to 8.37.0 (#719) 2023-04-03 12:04:26 +02:00
7261544346 build(deps-dev): bump typescript from 5.0.2 to 5.0.3 (#717) 2023-04-03 12:04:06 +02:00
b26535e6d1 build(deps-dev): bump @typescript-eslint/eslint-plugin from 5.56.0 to 5.57.0 (#718) 2023-04-03 12:03:41 +02:00
e1c0a0543f build(deps-dev): bump @typescript-eslint/parser from 5.54.0 to 5.56.0 (#713) 2023-03-27 10:53:58 +00:00
2fdccc41f5 build(deps-dev): bump @typescript-eslint/eslint-plugin from 5.54.1 to 5.56.0 (#712) 2023-03-27 12:45:59 +02:00
db0ea3f163 build(deps-dev): bump prettier from 2.8.5 to 2.8.7 (#711) 2023-03-27 12:45:32 +02:00
ed929be3ec build(deps): bump @types/node from 18.15.3 to 18.15.10 (#710) 2023-03-27 12:45:10 +02:00
76eaf57237 build(deps-dev): bump eslint-config-prettier from 8.7.0 to 8.8.0 (#709) 2023-03-27 12:44:47 +02:00
0fd20142bb build(deps): bump @actions/cache from 3.1.4 to 3.2.1 (#698)
Co-authored-by: Fernandez Ludovic <ldez@users.noreply.github.com>
2023-03-20 13:41:45 +00:00
3fc120753c build(deps-dev): bump prettier from 2.8.4 to 2.8.5 (#707) 2023-03-20 14:11:51 +01:00
8c99775d4b build(deps): bump @actions/http-client from 2.0.1 to 2.1.0 (#697)
Co-authored-by: Fernandez Ludovic <ldez@users.noreply.github.com>
2023-03-20 10:56:12 +00:00
ea65405b36 build(deps): bump @types/node from 18.15.1 to 18.15.3 (#706) 2023-03-20 11:11:27 +01:00
7122616b22 build(deps-dev): bump typescript from 4.9.5 to 5.0.2 (#705) 2023-03-20 11:11:15 +01:00
39b10dd0d9 docs/build: update to setup-go@v4 (#704) 2023-03-20 10:35:44 +01:00
4593d99d2e build(deps): bump @types/node from 18.14.6 to 18.15.1 (#701) 2023-03-13 11:06:29 +01:00
30dacc8af6 build(deps-dev): bump @typescript-eslint/eslint-plugin from 5.54.0 to 5.54.1 (#700) 2023-03-13 11:06:02 +01:00
464d9fd432 build(deps-dev): bump eslint from 8.35.0 to 8.36.0 (#699) 2023-03-13 11:05:34 +01:00
92ba55cf0d build(deps-dev): bump eslint-config-prettier from 8.6.0 to 8.7.0 (#694) 2023-03-06 10:43:08 +00:00
7cd2f0393b build(deps-dev): bump @typescript-eslint/eslint-plugin from 5.53.0 to 5.54.0 (#693) 2023-03-06 10:42:51 +00:00
5077eeb6c1 build(deps-dev): bump @typescript-eslint/parser from 5.53.0 to 5.54.0 (#692) 2023-03-06 11:37:49 +01:00
d6d0cce229 build(deps): bump @types/node from 18.14.2 to 18.14.6 (#691) 2023-03-06 11:37:27 +01:00
e92337f3b6 build(deps): bump @actions/cache from 3.1.3 to 3.1.4 (#686)
Co-authored-by: Fernandez Ludovic <ldez@users.noreply.github.com>
2023-02-27 21:47:45 +01:00
bf4120ff3c build(deps-dev): bump @typescript-eslint/parser from 5.52.0 to 5.53.0 (#687) 2023-02-27 10:47:12 +01:00
61703f1af4 build(deps): bump @types/node from 18.14.0 to 18.14.2 (#688) 2023-02-27 10:41:50 +01:00
8b76d976da build(deps-dev): bump eslint from 8.34.0 to 8.35.0 (#685) 2023-02-27 10:29:58 +01:00
a2dc749409 build(deps-dev): bump @typescript-eslint/eslint-plugin from 5.52.0 to 5.53.0 (#684) 2023-02-27 10:29:34 +01:00
aa94bc705d chore: fix CI for pull request 2023-02-24 10:05:59 +01:00
fdf641b40e build(deps-dev): bump @typescript-eslint/eslint-plugin from 5.51.0 to 5.52.0 (#681) 2023-02-20 11:55:33 +01:00
12dfd24d9a build(deps-dev): bump eslint from 8.33.0 to 8.34.0 (#680) 2023-02-20 11:48:03 +01:00
01dfc8644b build(deps): bump @types/node from 18.13.0 to 18.14.0 (#679) 2023-02-20 11:47:40 +01:00
1ea20104d5 build(deps-dev): bump @typescript-eslint/parser from 5.51.0 to 5.52.0 (#678) 2023-02-20 11:47:19 +01:00
419d0912ea build(deps): bump @actions/cache from 3.1.2 to 3.1.3 (#672)
Co-authored-by: Fernandez Ludovic <ldez@users.noreply.github.com>
2023-02-13 16:02:15 +01:00
8c2f4f9823 build(deps-dev): bump @typescript-eslint/eslint-plugin from 5.50.0 to 5.51.0 (#675) 2023-02-13 14:06:08 +01:00
4e6daa7065 build(deps): bump @types/node from 18.11.19 to 18.13.0 (#674) 2023-02-13 11:38:07 +01:00
ac77de69c2 build(deps-dev): bump prettier from 2.8.3 to 2.8.4 (#673) 2023-02-13 11:37:45 +01:00
7b2a3f3333 build(deps-dev): bump @typescript-eslint/parser from 5.50.0 to 5.51.0 (#671) 2023-02-13 11:37:21 +01:00
a904d1db61 doc: add quote aroung go version (#670) 2023-02-08 11:44:06 +01:00
6a290f7d5d build(deps): bump @types/node from 18.11.18 to 18.11.19 (#668) 2023-02-06 16:25:33 +01:00
97c6242097 build(deps-dev): bump typescript from 4.9.4 to 4.9.5 (#667) 2023-02-06 16:25:07 +01:00
5782ee83ad build(deps-dev): bump @typescript-eslint/parser from 5.49.0 to 5.50.0 (#666) 2023-02-06 16:24:41 +01:00
76503fda9a build(deps-dev): bump @typescript-eslint/eslint-plugin from 5.49.0 to 5.50.0 (#665) 2023-02-06 10:24:30 +01:00
d36410f546 build(deps-dev): bump @typescript-eslint/parser from 5.48.2 to 5.49.0 (#663) 2023-01-30 14:48:55 +01:00
650217c0c5 build(deps-dev): bump @vercel/ncc from 0.36.0 to 0.36.1 (#660) 2023-01-30 11:06:01 +01:00
a2a25205ce build(deps-dev): bump eslint-plugin-simple-import-sort from 9.0.0 to 10.0.0 (#662) 2023-01-30 11:01:28 +01:00
1aee3f97a3 build(deps-dev): bump @typescript-eslint/eslint-plugin from 5.48.2 to 5.49.0 (#661) 2023-01-30 11:01:01 +01:00
c5c27dbc86 build(deps-dev): bump eslint from 8.32.0 to 8.33.0 (#659) 2023-01-30 11:00:21 +01:00
08e2f20817 build(deps-dev): bump eslint-plugin-simple-import-sort from 8.0.0 to 9.0.0 (#658) 2023-01-23 11:52:07 +01:00
8d110786c7 build(deps-dev): bump @typescript-eslint/eslint-plugin from 5.48.1 to 5.48.2 (#657) 2023-01-23 11:51:44 +01:00
724a5425db build(deps-dev): bump @typescript-eslint/parser from 5.48.1 to 5.48.2 (#656) 2023-01-23 10:16:12 +01:00
ac0edcd804 build(deps-dev): bump eslint-plugin-import from 2.27.4 to 2.27.5 (#655) 2023-01-23 10:14:10 +01:00
d6404ce293 build(deps-dev): bump @typescript-eslint/eslint-plugin from 5.48.0 to 5.48.1 (#654) 2023-01-16 10:24:40 +01:00
cb88bde406 build(deps-dev): bump @typescript-eslint/parser from 5.48.0 to 5.48.1 (#653) 2023-01-16 10:11:02 +01:00
f26018a9c0 build(deps-dev): bump eslint from 8.31.0 to 8.32.0 (#652) 2023-01-16 10:10:38 +01:00
78451d099c build(deps-dev): bump prettier from 2.8.2 to 2.8.3 (#651) 2023-01-16 10:10:16 +01:00
5570e66705 build(deps-dev): bump eslint-plugin-import from 2.26.0 to 2.27.4 (#650) 2023-01-16 10:09:53 +01:00
1626f2bd94 Support Caching in Mono Repo (#629) 2023-01-14 16:43:01 +01:00
b56f6f5290 build(deps): bump @actions/cache from 3.1.1 to 3.1.2 (#647)
Co-authored-by: Fernandez Ludovic <ldez@users.noreply.github.com>
2023-01-12 10:34:37 +01:00
f1b2fc708e build(deps-dev): bump eslint-config-prettier from 8.5.0 to 8.6.0 (#646) 2023-01-09 11:11:56 +01:00
e697c2427a build(deps-dev): bump prettier from 2.8.1 to 2.8.2 (#645) 2023-01-09 10:46:52 +01:00
ffc5a07c17 build(deps-dev): bump @typescript-eslint/parser from 5.47.1 to 5.48.0 (#644) 2023-01-09 10:41:45 +01:00
fb9e2e0726 build(deps-dev): bump @typescript-eslint/eslint-plugin from 5.47.1 to 5.48.0 (#643) 2023-01-09 10:27:40 +01:00
472a3ede4f build(deps): bump json5 from 1.0.1 to 1.0.2 (#642) 2023-01-08 02:03:47 +01:00
c4655a9524 build(deps): bump @actions/cache from 3.1.0 to 3.1.1 (#638)
Co-authored-by: Fernandez Ludovic <ldez@users.noreply.github.com>
2023-01-02 11:21:37 +01:00
01dbfeed86 build(deps-dev): bump @typescript-eslint/eslint-plugin from 5.47.0 to 5.47.1 (#639) 2023-01-02 11:02:00 +01:00
71abe3bf92 build(deps-dev): bump @typescript-eslint/parser from 5.47.0 to 5.47.1 (#637) 2023-01-02 10:56:03 +01:00
dbe755859c build(deps): bump @types/node from 18.11.17 to 18.11.18 (#636) 2023-01-02 10:38:42 +01:00
140f002bf8 build(deps-dev): bump eslint from 8.30.0 to 8.31.0 (#635) 2023-01-02 10:38:21 +01:00
4419fdcf2f build(deps): bump @actions/cache from 3.0.6 to 3.1.0 (#632)
Co-authored-by: Fernandez Ludovic <ldez@users.noreply.github.com>
2022-12-26 14:17:32 +01:00
e42fe74773 build(deps-dev): bump @typescript-eslint/eslint-plugin from 5.46.1 to 5.47.0 (#634) 2022-12-26 13:29:18 +01:00
01e34dbcda build(deps-dev): bump @typescript-eslint/parser from 5.46.1 to 5.47.0 (#633) 2022-12-26 13:20:34 +01:00
59f1813dc5 build(deps-dev): bump eslint from 8.29.0 to 8.30.0 (#627) 2022-12-19 10:52:28 +01:00
5c9eb959d4 build(deps-dev): bump @typescript-eslint/eslint-plugin from 5.46.0 to 5.46.1 (#626) 2022-12-19 10:52:14 +01:00
4479e05486 build(deps): bump @types/node from 18.11.10 to 18.11.17 (#628) 2022-12-19 10:46:20 +01:00
3b3229a7a5 build(deps-dev): bump @typescript-eslint/parser from 5.46.0 to 5.46.1 (#625) 2022-12-19 10:42:05 +01:00
6648f6197c build(deps-dev): bump @typescript-eslint/eslint-plugin from 5.45.0 to 5.46.0 (#623) 2022-12-12 11:50:38 +01:00
64e94ebcda build(deps-dev): bump @typescript-eslint/parser from 5.45.0 to 5.46.0 (#621) 2022-12-12 10:45:19 +01:00
969dc8fc43 build(deps-dev): bump prettier from 2.8.0 to 2.8.1 (#622) 2022-12-12 10:17:46 +01:00
d6a52caa2e build(deps-dev): bump @vercel/ncc from 0.34.0 to 0.36.0 (#620) 2022-12-12 10:07:33 +01:00
5284b3de3c build(deps-dev): bump typescript from 4.9.3 to 4.9.4 (#619) 2022-12-12 10:07:10 +01:00
d90ca1e16e build(deps-dev): bump @typescript-eslint/eslint-plugin from 5.44.0 to 5.45.0 (#616) 2022-12-05 11:33:29 +01:00
6387738e0c build(deps-dev): bump eslint from 8.28.0 to 8.29.0 (#617) 2022-12-05 10:30:20 +01:00
391fb931f5 build(deps-dev): bump @typescript-eslint/parser from 5.44.0 to 5.45.0 (#615) 2022-12-05 10:22:09 +01:00
f680453377 build(deps): bump @types/node from 18.11.9 to 18.11.10 (#614) 2022-12-05 10:21:09 +01:00
c772a9ccc6 build(deps-dev): bump typescript from 4.8.4 to 4.9.3 (#606)
Co-authored-by: Fernandez Ludovic <ldez@users.noreply.github.com>
2022-11-28 19:04:16 +01:00
38adc9c883 build(deps-dev): bump @typescript-eslint/parser from 5.43.0 to 5.44.0 (#610) 2022-11-28 19:03:49 +01:00
f33e806949 build(deps-dev): bump prettier from 2.7.1 to 2.8.0 (#611) 2022-11-28 17:00:50 +01:00
f4ef9036d9 build(deps-dev): bump @typescript-eslint/eslint-plugin from 5.43.0 to 5.44.0 (#609) 2022-11-28 17:00:14 +01:00
a64489f732 chore: update CI configuration 2022-11-28 16:35:02 +01:00
eafaf70f2d build(deps-dev): bump @typescript-eslint/eslint-plugin from 5.42.1 to 5.43.0 (#607) 2022-11-21 19:59:06 +01:00
6b29c7a053 build(deps-dev): bump @typescript-eslint/parser from 5.42.1 to 5.43.0 (#605) 2022-11-21 10:17:44 +01:00
85f33ddfab build(deps-dev): bump eslint from 8.27.0 to 8.28.0 (#604) 2022-11-21 10:09:33 +01:00
d18b077279 build(deps-dev): bump @typescript-eslint/parser from 5.42.0 to 5.42.1 (#602) 2022-11-14 12:42:08 +01:00
f6938e6c8d build(deps-dev): bump @typescript-eslint/eslint-plugin from 5.42.0 to 5.42.1 (#601)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-11-14 11:06:26 +01:00
19 changed files with 64364 additions and 18673 deletions

1
.gitattributes vendored Normal file
View File

@ -0,0 +1 @@
dist/** linguist-generated=true

15
.github/release.yml vendored Normal file
View File

@ -0,0 +1,15 @@
changelog:
categories:
- title: Changes
labels:
- '*'
exclude:
labels:
- documentation
- dependencies
- title: Documentation
labels:
- documentation
- title: Dependencies
labels:
- dependencies

View File

@ -16,7 +16,7 @@ jobs:
steps:
- name: Checkout repository
uses: actions/checkout@v3
uses: actions/checkout@v4
with:
# Must fetch at least the immediate parents so that if this is
# a pull request then we can checkout the head of the pull request.
@ -31,7 +31,7 @@ jobs:
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@v2
uses: github/codeql-action/init@v3
# Override language selection by uncommenting this and choosing your languages
with:
language: 'javascript'
@ -41,4 +41,4 @@ jobs:
npm run all
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v2
uses: github/codeql-action/analyze@v3

View File

@ -10,10 +10,14 @@ jobs:
build: # make sure build/ci work properly
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- if: ${{ !(github.event_name == 'pull_request' && (github.event.pull_request.user.id == 49699333 || contains(github.event.pull_request.labels.*.name, 'dependencies'))) }}
uses: actions/checkout@v4
- if: github.event_name == 'pull_request' && (github.event.pull_request.user.id == 49699333 || contains(github.event.pull_request.labels.*.name, 'dependencies'))
uses: actions/checkout@v4
with:
fetch-depth: 0
ref: ${{ github.event.pull_request.head.ref }}
- run: |
npm install
npm run all
@ -48,21 +52,52 @@ jobs:
version:
- ""
- "latest"
- "v1.37"
- "v1.37.1"
- "v1.58"
- "v1.58.0"
runs-on: ${{ matrix.os }}
permissions:
contents: read
pull-requests: read
steps:
- uses: actions/checkout@v3
- uses: actions/setup-go@v3
- uses: actions/checkout@v4
- uses: actions/setup-go@v5
with:
go-version: oldstable
- uses: ./
with:
version: ${{ matrix.version }}
args: --timeout=3m --issues-exit-code=0 ./sample/...
args: --timeout=5m --issues-exit-code=0 ./sample/...
only-new-issues: true
test-go-install: # make sure the action works on a clean machine without building (go-install mode)
needs: [ build ]
strategy:
matrix:
os:
- ubuntu-latest
- macos-latest
- windows-latest
version:
- ""
- "latest"
- "v1.58.0"
- "4bf574a12bb61234e28e3d6172be6ed95b0e8baf"
runs-on: ${{ matrix.os }}
permissions:
contents: read
pull-requests: read
steps:
- uses: actions/checkout@v4
- uses: actions/setup-go@v5
with:
go-version: oldstable
- uses: ./
with:
version: ${{ matrix.version }}
args: --timeout=5m --issues-exit-code=0 ./sample/...
only-new-issues: true
install-mode: goinstall
test-go-mod-version:
needs: [ build ]
strategy:
@ -75,9 +110,11 @@ jobs:
permissions:
contents: read
steps:
- uses: actions/checkout@v3
- uses: actions/setup-go@v3
- uses: actions/checkout@v4
- uses: actions/setup-go@v5
with:
go-version: oldstable
- uses: ./
with:
working-directory: sample-go-mod
args: --timeout=3m --issues-exit-code=0 ./...
args: --timeout=5m --issues-exit-code=0 ./...

3
.gitignore vendored
View File

@ -97,3 +97,6 @@ typings/
# Text editor files
.vscode/
# IntelliJ/WebStorm files
.idea

215
README.md
View File

@ -3,13 +3,15 @@
[![Build Status](https://github.com/golangci/golangci-lint-action/workflows/build-and-test/badge.svg)](https://github.com/golangci/golangci-lint-action/actions)
It's the official GitHub action for [golangci-lint](https://github.com/golangci/golangci-lint) from its authors.
The action runs [golangci-lint](https://github.com/golangci/golangci-lint) and reports issues from linters.
![GitHub Annotations](./static/annotations.png)
## Compatibility
* `v3.0.0+` requires explicit setup-go installation step prior to using this action: `uses: actions/setup-go@v3`.
* `v5.0.0+` removes `skip-pkg-cache` and `skip-build-cache` because the cache related to Go itself is already handled by `actions/setup-go`.
* `v4.0.0+` requires an explicit `actions/setup-go` installation step before using this action: `uses: actions/setup-go@v5`.
The `skip-go-installation` option has been removed.
* `v2.0.0+` works with `golangci-lint` version >= `v1.28.3`
* `v1.2.2` is deprecated due to we forgot to change the minimum version of `golangci-lint` to `v1.28.3` ([issue](https://github.com/golangci/golangci-lint-action/issues/39))
@ -23,122 +25,197 @@ Add `.github/workflows/golangci-lint.yml` with the following contents:
name: golangci-lint
on:
push:
tags:
- v*
branches:
- master
- main
- master
pull_request:
permissions:
contents: read
# Optional: allow read access to pull request. Use with `only-new-issues` option.
# pull-requests: read
jobs:
golangci:
name: lint
runs-on: ubuntu-latest
steps:
- uses: actions/setup-go@v3
- uses: actions/checkout@v4
- uses: actions/setup-go@v5
with:
go-version: 1.17
- uses: actions/checkout@v3
go-version: '1.22'
- name: golangci-lint
uses: golangci/golangci-lint-action@v3
uses: golangci/golangci-lint-action@v5
with:
# Optional: version of golangci-lint to use in form of v1.2 or v1.2.3 or `latest` to use the latest version
version: v1.29
# Optional: working directory, useful for monorepos
# working-directory: somedir
# Optional: golangci-lint command line arguments.
# args: --issues-exit-code=0
# Optional: show only new issues if it's a pull request. The default value is `false`.
# only-new-issues: true
# Optional: if set to true then the all caching functionality will be complete disabled,
# takes precedence over all other caching options.
# skip-cache: true
# Optional: if set to true then the action don't cache or restore ~/go/pkg.
# skip-pkg-cache: true
# Optional: if set to true then the action don't cache or restore ~/.cache/go-build.
# skip-build-cache: true
version: latest
```
We recommend running this action in a job separate from other jobs (`go test`, etc)
We recommend running this action in a job separate from other jobs (`go test`, etc.)
because different jobs [run in parallel](https://help.github.com/en/actions/getting-started-with-github-actions/core-concepts-for-github-actions#job).
### Multiple OS Support
If you need to run linters for specific operating systems, you will need to use `v2` of the action. Here is a sample configuration file:
If you need to run linters for specific operating systems, you will need to use the action `>=v2`.
Here is a sample configuration file:
```yaml
name: golangci-lint
on:
push:
tags:
- v*
branches:
- master
- main
- master
pull_request:
permissions:
contents: read
# Optional: allow read access to pull request. Use with `only-new-issues` option.
# pull-requests: read
jobs:
golangci:
strategy:
matrix:
go: [1.17]
os: [macos-latest, windows-latest]
go: ['1.22']
os: [ubuntu-latest, macos-latest, windows-latest]
name: lint
runs-on: ${{ matrix.os }}
steps:
- uses: actions/setup-go@v3
- uses: actions/checkout@v4
- uses: actions/setup-go@v5
with:
go-version: ${{ matrix.go }}
- uses: actions/checkout@v3
- name: golangci-lint
uses: golangci/golangci-lint-action@v3
uses: golangci/golangci-lint-action@v5
with:
# Required: the version of golangci-lint is required and must be specified without patch version: we always use the latest patch version.
version: v1.29
# Optional: working directory, useful for monorepos
# working-directory: somedir
# Optional: golangci-lint command line arguments.
# args: --issues-exit-code=0
# Optional: show only new issues if it's a pull request. The default value is `false`.
# only-new-issues: true
version: latest
```
You will also likely need to add the following `.gitattributes` file to ensure that line endings for windows builds are properly formatted:
You will also likely need to add the following `.gitattributes` file to ensure that line endings for Windows builds are properly formatted:
```.gitattributes
*.go text eol=lf
```
## Comments and Annotations
## Options
Currently, GitHub parses the action's output and creates [annotations](https://github.community/t5/GitHub-Actions/What-are-annotations/td-p/30770).
`version`: (required) The version of golangci-lint to use.
* When `install-mode` is `binary` (default) the value can be v1.2 or v1.2.3 or `latest` to use the latest version.
* When `install-mode` is `goinstall` the value can be v1.2.3, `latest`, or the hash of a commit.
```yml
uses: golangci/golangci-lint-action@v5
with:
version: latest
# ...
```
`install-mode`: (optional) The mode to install golangci-lint.
It can be `binary` or `goinstall`.
The default value is `binary`.
```yml
uses: golangci/golangci-lint-action@v5
with:
install-mode: "goinstall"
# ...
```
`only-new-issues`: (optional) Show only new issues.
If you are using `merge_group` event (merge queue) you should add the option `fetch-depth: 0` to `actions/checkout` step.
The default value is `false`.
```yml
uses: golangci/golangci-lint-action@v5
with:
only-new-issues: true
# ...
```
`working-directory`: (optional) working directory, useful for monorepos.
```yml
uses: golangci/golangci-lint-action@v5
with:
working-directory: somedir
# ...
```
`skip-cache`: (optional) If set to `true`, then all caching functionality will be completely disabled,
takes precedence over all other caching options.
The default value is `false`.
```yml
uses: golangci/golangci-lint-action@v5
with:
skip-cache: true
# ...
```
`skip-save-cache`: (optional) If set to `true`, caches will not be saved, but they may still be restored, required `skip-cache: false`.
The default value is `false`.
```yml
uses: golangci/golangci-lint-action@v5
with:
skip-save-cache: true
# ...
```
`annotations`: (optional) To enable/disable GitHub Action annotations.
If disabled (`false`), the output format(s) will follow the golangci-lint configuration file and use the same default as golangci-lint (i.e. `colored-line-number`).
https://golangci-lint.run/usage/configuration/#output-configuration
The default value is `true`.
```yml
uses: golangci/golangci-lint-action@v5
with:
annotations: false
# ...
```
`args`: (optional) golangci-lint command line arguments.
Note: By default, the `.golangci.yml` file should be at the root of the repository.
The location of the configuration file can be changed by using `--config=`
```yml
uses: golangci/golangci-lint-action@v5
with:
args: --timeout=30m --config=/my/path/.golangci.yml --issues-exit-code=0
# ...
```
## Annotations
Currently, GitHub parses the action's output and creates [annotations](https://github.blog/2018-12-14-introducing-check-runs-and-annotations/).
The restrictions of annotations are the following:
1. Currently, they don't support markdown formatting (see the [feature request](https://github.community/t5/GitHub-API-Development-and/Checks-Ability-to-include-Markdown-in-line-annotations/m-p/56704))
2. They aren't shown in list of comments like it was with [golangci.com](https://golangci.com). If you would like to have comments - please, up-vote [the issue](https://github.com/golangci/golangci-lint-action/issues/5).
1. Currently, they don't support Markdown formatting (see the [feature request](https://github.community/t5/GitHub-API-Development-and/Checks-Ability-to-include-Markdown-in-line-annotations/m-p/56704))
2. They aren't shown in the list of comments.
If you would like to have comments - please, up-vote [the issue](https://github.com/golangci/golangci-lint-action/issues/5).
3. The number of annotations is [limited](https://github.com/actions/toolkit/blob/main/docs/problem-matchers.md#limitations).
To enable annotations, you need to add the `checks` permission to your action.
```yaml annotate
permissions:
# Required: allow read access to the content for analysis.
contents: read
# Optional: allow read access to pull request. Use with `only-new-issues` option.
pull-requests: read
# Optional: allow write access to checks to allow the action to annotate code in the PR.
checks: write
```
## Performance
The action was implemented with performance in mind:
1. We cache data by [@actions/cache](https://github.com/actions/toolkit/tree/master/packages/cache) between builds: Go build cache, Go modules cache, golangci-lint analysis cache.
1. We cache data from golangci-lint analysis between builds by using [@actions/cache](https://github.com/actions/toolkit/tree/master/packages/cache).
2. We don't use Docker because image pulling is slow.
3. We do as much as we can in parallel, e.g. we download cache, go and golangci-lint binary in parallel.
3. We do as much as we can in parallel, e.g. we download cache, and golangci-lint binary in parallel.
For example, in a repository of [golangci-lint](https://github.com/golangci/golangci-lint) running this action without the cache takes 50s, but with cache takes 14s:
* in parallel:
@ -148,28 +225,32 @@ For example, in a repository of [golangci-lint](https://github.com/golangci/gola
## Internals
We use JavaScript-based action. We don't use Docker-based action because:
We use JavaScript-based action.
We don't use Docker-based action because:
1. docker pulling is slow currently
1. Docker pulling is slow currently
2. it's easier to use caching from [@actions/cache](https://github.com/actions/toolkit/tree/master/packages/cache)
We support different platforms, such as `ubuntu`, `macos` and `windows` with `x32` and `x64` archs.
We support different platforms, such as `ubuntu`, `macos`, and `windows` with `x32` and `x64` archs.
Inside our action we perform 3 steps:
Inside our action, we perform 3 steps:
1. Setup environment running in parallel:
* restore [cache](https://github.com/actions/cache) of previous analyzes
* fetch [action config](https://github.com/golangci/golangci-lint/blob/master/assets/github-action-config.json) and find the latest `golangci-lint` patch version
for needed version (users of this action can specify only minor version of `golangci-lint`). After that install [golangci-lint](https://github.com/golangci/golangci-lint) using [@actions/tool-cache](https://github.com/actions/toolkit/tree/master/packages/tool-cache)
* restore [cache](https://github.com/actions/cache) of previous analyses
* fetch [action config](https://github.com/golangci/golangci-lint/blob/master/assets/github-action-config.json) and find the latest `golangci-lint` patch version for needed version
(users of this action can specify only minor version of `golangci-lint`).
After that install [golangci-lint](https://github.com/golangci/golangci-lint) using [@actions/tool-cache](https://github.com/actions/toolkit/tree/master/packages/tool-cache)
2. Run `golangci-lint` with specified by user `args`
3. Save cache for later builds
### Caching internals
1. We save and restore the following directories: `~/.cache/golangci-lint`, `~/.cache/go-build`, `~/go/pkg`.
2. The primary caching key looks like `golangci-lint.cache-{platform-arch}-{interval_number}-{go.mod_hash}`. Interval number ensures that we periodically invalidate
our cache (every 7 days). `go.mod` hash ensures that we invalidate the cache early - as soon as dependencies have changed.
3. We use [restore keys](https://help.github.com/en/actions/configuring-and-managing-workflows/caching-dependencies-to-speed-up-workflows#matching-a-cache-key): `golangci-lint.cache-{interval_number}-`, `golangci-lint.cache-`. GitHub matches keys by prefix if we have no exact match for the primary cache.
1. We save and restore the following directory: `~/.cache/golangci-lint`.
2. The primary caching key looks like `golangci-lint.cache-{interval_number}-{go.mod_hash}`.
Interval number ensures that we periodically invalidate our cache (every 7 days).
`go.mod` hash ensures that we invalidate the cache early - as soon as dependencies have changed.
3. We use [restore keys](https://help.github.com/en/actions/configuring-and-managing-workflows/caching-dependencies-to-speed-up-workflows#matching-a-cache-key): `golangci-lint.cache-{interval_number}-`.
GitHub matches keys by prefix if we have no exact match for the primary cache.
This scheme is basic and needs improvements. Pull requests and ideas are welcome.

View File

@ -1,13 +1,17 @@
name: "Run golangci-lint"
# https://docs.github.com/en/actions/creating-actions/metadata-syntax-for-github-actions
name: "Golangci-lint"
description: "Official golangci-lint action with line-attached annotations for found issues, caching and parallel execution."
author: "golangci"
inputs:
version:
description: "version of golangci-lint to use in form of v1.2 or v1.2.3 or `latest` to use the latest version"
description: |
The version of golangci-lint to use.
When `install-mode` is `binary` (default) the value can be v1.2 or v1.2.3 or `latest` to use the latest version.
When `install-mode` is `goinstall` the value can be v1.2.3, `latest`, or the hash of a commit.
required: false
args:
description: "golangci-lint command line arguments"
default: ""
install-mode:
description: "The mode to install golangci-lint. It can be 'binary' or 'goinstall'."
default: "binary"
required: false
working-directory:
description: "golangci-lint working directory, default is project root"
@ -18,26 +22,32 @@ inputs:
required: false
only-new-issues:
description: "if set to true and the action runs on a pull request - the action outputs only newly found issues"
default: false
default: 'false'
required: false
skip-cache:
description: |
if set to true then the all caching functionality will be complete disabled,
takes precedence over all other caching options.
default: false
default: 'false'
required: false
skip-pkg-cache:
description: "if set to true then the action doesn't cache or restore ~/go/pkg."
default: false
skip-save-cache:
description: |
if set to true then the action will not save any caches, but it may still
restore existing caches, subject to other options.
default: 'false'
required: false
skip-build-cache:
description: "if set to true then the action doesn't cache or restore ~/.cache/go-build."
default: false
annotations:
description: "To Enable/disable GitHub Action annotations"
default: 'true'
required: false
args:
description: "golangci-lint command line arguments"
default: ""
required: false
runs:
using: "node16"
using: "node20"
main: "dist/run/index.js"
post: "dist/post_run/index.js"
branding:
icon: "shield"
color: "yellow"
color: "white"

38485
dist/post_run/index.js generated vendored

File diff suppressed because one or more lines are too long

38485
dist/run/index.js generated vendored

File diff suppressed because one or more lines are too long

4113
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@ -24,26 +24,27 @@
"author": "golangci",
"license": "MIT",
"dependencies": {
"@actions/cache": "^3.0.6",
"@actions/core": "^1.10.0",
"@actions/cache": "^3.2.4",
"@actions/core": "^1.10.1",
"@actions/exec": "^1.1.1",
"@actions/github": "^5.1.1",
"@actions/http-client": "^2.0.1",
"@actions/github": "^6.0.0",
"@actions/http-client": "^2.2.1",
"@actions/tool-cache": "^2.0.1",
"@types/semver": "^7.3.13",
"@types/tmp": "^0.2.3",
"tmp": "^0.2.1"
"@types/node": "^20.12.7",
"@types/semver": "^7.5.8",
"@types/tmp": "^0.2.6",
"tmp": "^0.2.3"
},
"devDependencies": {
"@typescript-eslint/eslint-plugin": "^5.42.0",
"@typescript-eslint/parser": "^5.42.0",
"@vercel/ncc": "^0.34.0",
"eslint": "^8.27.0",
"eslint-config-prettier": "^8.5.0",
"eslint-plugin-import": "^2.26.0",
"eslint-plugin-prettier": "^4.2.1",
"eslint-plugin-simple-import-sort": "^8.0.0",
"prettier": "^2.7.1",
"typescript": "^4.8.4"
"@typescript-eslint/eslint-plugin": "^7.7.1",
"@typescript-eslint/parser": "^7.7.1",
"@vercel/ncc": "^0.38.1",
"eslint": "^8.57.0",
"eslint-config-prettier": "^9.1.0",
"eslint-plugin-import": "^2.29.1",
"eslint-plugin-prettier": "^5.1.3",
"eslint-plugin-simple-import-sort": "^12.1.0",
"prettier": "^3.2.5",
"typescript": "^5.4.5"
}
}

View File

@ -1,5 +1,179 @@
module sample
go 1.15
go 1.19
require github.com/golangci/golangci-lint v1.37.1
require github.com/golangci/golangci-lint v1.51.2
require (
4d63.com/gocheckcompilerdirectives v1.2.1 // indirect
4d63.com/gochecknoglobals v0.2.1 // indirect
github.com/Abirdcfly/dupword v0.0.9 // indirect
github.com/Antonboom/errname v0.1.7 // indirect
github.com/Antonboom/nilnil v0.1.1 // indirect
github.com/BurntSushi/toml v1.2.1 // indirect
github.com/Djarvur/go-err113 v0.0.0-20210108212216-aea10b59be24 // indirect
github.com/GaijinEntertainment/go-exhaustruct/v2 v2.3.0 // indirect
github.com/Masterminds/semver v1.5.0 // indirect
github.com/OpenPeeDeeP/depguard v1.1.1 // indirect
github.com/alexkohler/prealloc v1.0.0 // indirect
github.com/alingse/asasalint v0.0.11 // indirect
github.com/ashanbrown/forbidigo v1.4.0 // indirect
github.com/ashanbrown/makezero v1.1.1 // indirect
github.com/beorn7/perks v1.0.1 // indirect
github.com/bkielbasa/cyclop v1.2.0 // indirect
github.com/blizzy78/varnamelen v0.8.0 // indirect
github.com/bombsimon/wsl/v3 v3.4.0 // indirect
github.com/breml/bidichk v0.2.3 // indirect
github.com/breml/errchkjson v0.3.0 // indirect
github.com/butuzov/ireturn v0.1.1 // indirect
github.com/cespare/xxhash/v2 v2.1.2 // indirect
github.com/charithe/durationcheck v0.0.9 // indirect
github.com/chavacava/garif v0.0.0-20221024190013-b3ef35877348 // indirect
github.com/curioswitch/go-reassign v0.2.0 // indirect
github.com/daixiang0/gci v0.9.1 // indirect
github.com/davecgh/go-spew v1.1.1 // indirect
github.com/denis-tingaikin/go-header v0.4.3 // indirect
github.com/esimonov/ifshort v1.0.4 // indirect
github.com/ettle/strcase v0.1.1 // indirect
github.com/fatih/color v1.14.1 // indirect
github.com/fatih/structtag v1.2.0 // indirect
github.com/firefart/nonamedreturns v1.0.4 // indirect
github.com/fsnotify/fsnotify v1.5.4 // indirect
github.com/fzipp/gocyclo v0.6.0 // indirect
github.com/go-critic/go-critic v0.6.7 // indirect
github.com/go-toolsmith/astcast v1.1.0 // indirect
github.com/go-toolsmith/astcopy v1.0.3 // indirect
github.com/go-toolsmith/astequal v1.1.0 // indirect
github.com/go-toolsmith/astfmt v1.1.0 // indirect
github.com/go-toolsmith/astp v1.1.0 // indirect
github.com/go-toolsmith/strparse v1.1.0 // indirect
github.com/go-toolsmith/typep v1.1.0 // indirect
github.com/go-xmlfmt/xmlfmt v1.1.2 // indirect
github.com/gobwas/glob v0.2.3 // indirect
github.com/gofrs/flock v0.8.1 // indirect
github.com/golang/protobuf v1.5.2 // indirect
github.com/golangci/check v0.0.0-20180506172741-cfe4005ccda2 // indirect
github.com/golangci/dupl v0.0.0-20180902072040-3e9179ac440a // indirect
github.com/golangci/go-misc v0.0.0-20220329215616-d24fe342adfe // indirect
github.com/golangci/gofmt v0.0.0-20220901101216-f2edd75033f2 // indirect
github.com/golangci/lint-1 v0.0.0-20191013205115-297bf364a8e0 // indirect
github.com/golangci/maligned v0.0.0-20180506175553-b1d89398deca // indirect
github.com/golangci/misspell v0.4.0 // indirect
github.com/golangci/revgrep v0.0.0-20220804021717-745bb2f7c2e6 // indirect
github.com/golangci/unconvert v0.0.0-20180507085042-28b1c447d1f4 // indirect
github.com/google/go-cmp v0.5.9 // indirect
github.com/gordonklaus/ineffassign v0.0.0-20230107090616-13ace0543b28 // indirect
github.com/gostaticanalysis/analysisutil v0.7.1 // indirect
github.com/gostaticanalysis/comment v1.4.2 // indirect
github.com/gostaticanalysis/forcetypeassert v0.1.0 // indirect
github.com/gostaticanalysis/nilerr v0.1.1 // indirect
github.com/hashicorp/errwrap v1.0.0 // indirect
github.com/hashicorp/go-multierror v1.1.1 // indirect
github.com/hashicorp/go-version v1.6.0 // indirect
github.com/hashicorp/hcl v1.0.0 // indirect
github.com/hexops/gotextdiff v1.0.3 // indirect
github.com/inconshreveable/mousetrap v1.0.1 // indirect
github.com/jgautheron/goconst v1.5.1 // indirect
github.com/jingyugao/rowserrcheck v1.1.1 // indirect
github.com/jirfag/go-printf-func-name v0.0.0-20200119135958-7558a9eaa5af // indirect
github.com/julz/importas v0.1.0 // indirect
github.com/junk1tm/musttag v0.4.5 // indirect
github.com/kisielk/errcheck v1.6.3 // indirect
github.com/kisielk/gotool v1.0.0 // indirect
github.com/kkHAIKE/contextcheck v1.1.3 // indirect
github.com/kulti/thelper v0.6.3 // indirect
github.com/kunwardeep/paralleltest v1.0.6 // indirect
github.com/kyoh86/exportloopref v0.1.11 // indirect
github.com/ldez/gomoddirectives v0.2.3 // indirect
github.com/ldez/tagliatelle v0.4.0 // indirect
github.com/leonklingele/grouper v1.1.1 // indirect
github.com/lufeee/execinquery v1.2.1 // indirect
github.com/magiconair/properties v1.8.6 // indirect
github.com/maratori/testableexamples v1.0.0 // indirect
github.com/maratori/testpackage v1.1.0 // indirect
github.com/matoous/godox v0.0.0-20210227103229-6504466cf951 // indirect
github.com/mattn/go-colorable v0.1.13 // indirect
github.com/mattn/go-isatty v0.0.17 // indirect
github.com/mattn/go-runewidth v0.0.9 // indirect
github.com/matttproud/golang_protobuf_extensions v1.0.1 // indirect
github.com/mbilski/exhaustivestruct v1.2.0 // indirect
github.com/mgechev/revive v1.2.5 // indirect
github.com/mitchellh/go-homedir v1.1.0 // indirect
github.com/mitchellh/mapstructure v1.5.0 // indirect
github.com/moricho/tparallel v0.2.1 // indirect
github.com/nakabonne/nestif v0.3.1 // indirect
github.com/nbutton23/zxcvbn-go v0.0.0-20210217022336-fa2cb2858354 // indirect
github.com/nishanths/exhaustive v0.9.5 // indirect
github.com/nishanths/predeclared v0.2.2 // indirect
github.com/nunnatsa/ginkgolinter v0.8.1 // indirect
github.com/olekukonko/tablewriter v0.0.5 // indirect
github.com/pelletier/go-toml v1.9.5 // indirect
github.com/pelletier/go-toml/v2 v2.0.5 // indirect
github.com/pkg/errors v0.9.1 // indirect
github.com/pmezard/go-difflib v1.0.0 // indirect
github.com/polyfloyd/go-errorlint v1.1.0 // indirect
github.com/prometheus/client_golang v1.12.1 // indirect
github.com/prometheus/client_model v0.2.0 // indirect
github.com/prometheus/common v0.32.1 // indirect
github.com/prometheus/procfs v0.7.3 // indirect
github.com/quasilyte/go-ruleguard v0.3.19 // indirect
github.com/quasilyte/gogrep v0.5.0 // indirect
github.com/quasilyte/regex/syntax v0.0.0-20200407221936-30656e2c4a95 // indirect
github.com/quasilyte/stdinfo v0.0.0-20220114132959-f7386bf02567 // indirect
github.com/ryancurrah/gomodguard v1.3.0 // indirect
github.com/ryanrolds/sqlclosecheck v0.4.0 // indirect
github.com/sanposhiho/wastedassign/v2 v2.0.7 // indirect
github.com/sashamelentyev/interfacebloat v1.1.0 // indirect
github.com/sashamelentyev/usestdlibvars v1.23.0 // indirect
github.com/securego/gosec/v2 v2.15.0 // indirect
github.com/shazow/go-diff v0.0.0-20160112020656-b6b7b6733b8c // indirect
github.com/sirupsen/logrus v1.9.0 // indirect
github.com/sivchari/containedctx v1.0.2 // indirect
github.com/sivchari/nosnakecase v1.7.0 // indirect
github.com/sivchari/tenv v1.7.1 // indirect
github.com/sonatard/noctx v0.0.1 // indirect
github.com/sourcegraph/go-diff v0.7.0 // indirect
github.com/spf13/afero v1.8.2 // indirect
github.com/spf13/cast v1.5.0 // indirect
github.com/spf13/cobra v1.6.1 // indirect
github.com/spf13/jwalterweatherman v1.1.0 // indirect
github.com/spf13/pflag v1.0.5 // indirect
github.com/spf13/viper v1.12.0 // indirect
github.com/ssgreg/nlreturn/v2 v2.2.1 // indirect
github.com/stbenjam/no-sprintf-host-port v0.1.1 // indirect
github.com/stretchr/objx v0.5.0 // indirect
github.com/stretchr/testify v1.8.1 // indirect
github.com/subosito/gotenv v1.4.1 // indirect
github.com/t-yuki/gocover-cobertura v0.0.0-20180217150009-aaee18c8195c // indirect
github.com/tdakkota/asciicheck v0.1.1 // indirect
github.com/tetafro/godot v1.4.11 // indirect
github.com/timakin/bodyclose v0.0.0-20221125081123-e39cf3fc478e // indirect
github.com/timonwong/loggercheck v0.9.3 // indirect
github.com/tomarrell/wrapcheck/v2 v2.8.0 // indirect
github.com/tommy-muehle/go-mnd/v2 v2.5.1 // indirect
github.com/ultraware/funlen v0.0.3 // indirect
github.com/ultraware/whitespace v0.0.5 // indirect
github.com/uudashr/gocognit v1.0.6 // indirect
github.com/yagipy/maintidx v1.0.0 // indirect
github.com/yeya24/promlinter v0.2.0 // indirect
gitlab.com/bosi/decorder v0.2.3 // indirect
go.uber.org/atomic v1.7.0 // indirect
go.uber.org/multierr v1.6.0 // indirect
go.uber.org/zap v1.17.0 // indirect
golang.org/x/exp v0.0.0-20220722155223-a9213eeb770e // indirect
golang.org/x/exp/typeparams v0.0.0-20230203172020-98cc5a0785f9 // indirect
golang.org/x/mod v0.8.0 // indirect
golang.org/x/sync v0.1.0 // indirect
golang.org/x/sys v0.5.0 // indirect
golang.org/x/text v0.6.0 // indirect
golang.org/x/tools v0.6.0 // indirect
google.golang.org/protobuf v1.33.0 // indirect
gopkg.in/ini.v1 v1.67.0 // indirect
gopkg.in/yaml.v2 v2.4.0 // indirect
gopkg.in/yaml.v3 v3.0.1 // indirect
honnef.co/go/tools v0.4.2 // indirect
mvdan.cc/gofumpt v0.4.0 // indirect
mvdan.cc/interfacer v0.0.0-20180901003855-c20040233aed // indirect
mvdan.cc/lint v0.0.0-20170908181259-adc824a0674b // indirect
mvdan.cc/unparam v0.0.0-20221223090309-7455f1af531d // indirect
)

File diff suppressed because it is too large Load Diff

View File

@ -23,26 +23,6 @@ const getLintCacheDir = (): string => {
return path.resolve(`${process.env.HOME}/.cache/golangci-lint`)
}
const getCacheDirs = (): string[] => {
// Not existing dirs are ok here: it works.
const skipPkgCache = core.getInput(`skip-pkg-cache`, { required: true }).trim()
const skipBuildCache = core.getInput(`skip-build-cache`, { required: true }).trim()
const dirs = [getLintCacheDir()]
if (skipBuildCache.toLowerCase() == "true") {
core.info(`Omitting ~/.cache/go-build from cache directories`)
} else {
dirs.push(path.resolve(`${process.env.HOME}/.cache/go-build`))
}
if (skipPkgCache.toLowerCase() == "true") {
core.info(`Omitting ~/go/pkg from cache directories`)
} else {
dirs.push(path.resolve(`${process.env.HOME}/go/pkg`))
}
return dirs
}
const getIntervalKey = (invalidationIntervalDays: number): string => {
const now = new Date()
const secondsSinceEpoch = now.getTime() / 1000
@ -56,10 +36,14 @@ async function buildCacheKeys(): Promise<string[]> {
// TODO: configure it via inputs.
let cacheKey = `golangci-lint.cache-${getIntervalKey(7)}-`
keys.push(cacheKey)
if (await pathExists(`go.mod`)) {
// Get working directory from input
const workingDirectory = core.getInput(`working-directory`)
// create path to go.mod prepending the workingDirectory if it exists
const goModPath = path.join(workingDirectory, `go.mod`)
core.info(`Checking for go.mod: ${goModPath}`)
if (await pathExists(goModPath)) {
// Add checksum to key to invalidate a cache when dependencies change.
cacheKey += await checksumFile(`sha1`, `go.mod`)
cacheKey += await checksumFile(`sha1`, goModPath)
} else {
cacheKey += `nogomod`
}
@ -93,7 +77,7 @@ export async function restoreCache(): Promise<void> {
}
core.saveState(State.CachePrimaryKey, primaryKey)
try {
const cacheKey = await cache.restoreCache(getCacheDirs(), primaryKey, restoreKeys)
const cacheKey = await cache.restoreCache([getLintCacheDir()], primaryKey, restoreKeys)
if (!cacheKey) {
core.info(`Cache not found for input keys: ${[primaryKey, ...restoreKeys].join(", ")}`)
return
@ -112,6 +96,7 @@ export async function restoreCache(): Promise<void> {
export async function saveCache(): Promise<void> {
if (core.getInput(`skip-cache`, { required: true }).trim() == "true") return
if (core.getInput(`skip-save-cache`, { required: true }).trim() == "true") return
// Validate inputs, this can cause task failure
if (!utils.isValidEvent()) {
@ -123,7 +108,7 @@ export async function saveCache(): Promise<void> {
const startedAt = Date.now()
const cacheDirs = getCacheDirs()
const cacheDirs = [getLintCacheDir()]
const primaryKey = core.getState(State.CachePrimaryKey)
if (!primaryKey) {
utils.logWarning(`Error retrieving key from state.`)

View File

@ -1,10 +1,14 @@
import * as core from "@actions/core"
import * as tc from "@actions/tool-cache"
import { exec, ExecOptions } from "child_process"
import os from "os"
import path from "path"
import { promisify } from "util"
import { VersionConfig } from "./version"
const execShellCommand = promisify(exec)
const downloadURL = "https://github.com/golangci/golangci-lint/releases/download"
const getAssetURL = (versionConfig: VersionConfig): string => {
@ -31,13 +35,95 @@ const getAssetURL = (versionConfig: VersionConfig): string => {
return `${downloadURL}/${versionConfig.TargetVersion}/golangci-lint-${noPrefix}-${platform}-${arch}.${ext}`
}
// The installLint returns path to installed binary of golangci-lint.
export async function installLint(versionConfig: VersionConfig): Promise<string> {
export enum InstallMode {
Binary = "binary",
GoInstall = "goinstall",
}
type ExecRes = {
stdout: string
stderr: string
}
const printOutput = (res: ExecRes): void => {
if (res.stdout) {
core.info(res.stdout)
}
if (res.stderr) {
core.info(res.stderr)
}
}
/**
* Install golangci-lint.
*
* @param versionConfig information about version to install.
* @param mode installation mode.
* @returns path to installed binary of golangci-lint.
*/
export async function installLint(versionConfig: VersionConfig, mode: InstallMode): Promise<string> {
core.info(`Installation mode: ${mode}`)
switch (mode) {
case InstallMode.Binary:
return installBin(versionConfig)
case InstallMode.GoInstall:
return goInstall(versionConfig)
default:
return installBin(versionConfig)
}
}
/**
* Install golangci-lint via `go install`.
*
* @param versionConfig information about version to install.
* @returns path to installed binary of golangci-lint.
*/
export async function goInstall(versionConfig: VersionConfig): Promise<string> {
core.info(`Installing golangci-lint ${versionConfig.TargetVersion}...`)
const startedAt = Date.now()
const options: ExecOptions = { env: { ...process.env, CGO_ENABLED: "1" } }
const exres = await execShellCommand(
`go install github.com/golangci/golangci-lint/cmd/golangci-lint@${versionConfig.TargetVersion}`,
options
)
printOutput(exres)
const res = await execShellCommand(
`go install -n github.com/golangci/golangci-lint/cmd/golangci-lint@${versionConfig.TargetVersion}`,
options
)
printOutput(res)
// The output of `go install -n` when the binary is already installed is `touch <path_to_the_binary>`.
const lintPath = res.stderr.trimStart().trimEnd().split(` `, 2)[1]
core.info(`Installed golangci-lint into ${lintPath} in ${Date.now() - startedAt}ms`)
return lintPath
}
/**
* Install golangci-lint via the precompiled binary.
*
* @param versionConfig information about version to install.
* @returns path to installed binary of golangci-lint.
*/
export async function installBin(versionConfig: VersionConfig): Promise<string> {
core.info(`Installing golangci-lint binary ${versionConfig.TargetVersion}...`)
const startedAt = Date.now()
const assetURL = getAssetURL(versionConfig)
core.info(`Downloading ${assetURL} ...`)
core.info(`Downloading binary ${assetURL} ...`)
const archivePath = await tc.downloadTool(assetURL)
let extractedDir = ""
let repl = /\.tar\.gz$/
if (assetURL.endsWith("zip")) {
@ -55,6 +141,8 @@ export async function installLint(versionConfig: VersionConfig): Promise<string>
const urlParts = assetURL.split(`/`)
const dirName = urlParts[urlParts.length - 1].replace(repl, ``)
const lintPath = path.join(extractedDir, dirName, `golangci-lint`)
core.info(`Installed golangci-lint into ${lintPath} in ${Date.now() - startedAt}ms`)
return lintPath
}

View File

@ -1,5 +1,6 @@
import * as core from "@actions/core"
import * as github from "@actions/github"
import { Context } from "@actions/github/lib/context"
import { exec, ExecOptions } from "child_process"
import * as fs from "fs"
import * as path from "path"
@ -7,44 +8,68 @@ import { dir } from "tmp"
import { promisify } from "util"
import { restoreCache, saveCache } from "./cache"
import { installLint } from "./install"
import { installLint, InstallMode } from "./install"
import { alterDiffPatch } from "./utils/diffUtils"
import { findLintVersion } from "./version"
const execShellCommand = promisify(exec)
const writeFile = promisify(fs.writeFile)
const createTempDir = promisify(dir)
async function prepareLint(): Promise<string> {
const versionConfig = await findLintVersion()
return await installLint(versionConfig)
}
async function fetchPatch(): Promise<string> {
function isOnlyNewIssues(): boolean {
const onlyNewIssues = core.getInput(`only-new-issues`, { required: true }).trim()
if (onlyNewIssues !== `false` && onlyNewIssues !== `true`) {
throw new Error(`invalid value of "only-new-issues": "${onlyNewIssues}", expected "true" or "false"`)
}
if (onlyNewIssues === `false`) {
return onlyNewIssues === `true`
}
async function prepareLint(): Promise<string> {
const mode = core.getInput("install-mode").toLowerCase()
const versionConfig = await findLintVersion(<InstallMode>mode)
return await installLint(versionConfig, <InstallMode>mode)
}
async function fetchPatch(): Promise<string> {
if (!isOnlyNewIssues()) {
return ``
}
const ctx = github.context
if (ctx.eventName !== `pull_request`) {
core.info(`Not fetching patch for showing only new issues because it's not a pull request context: event name is ${ctx.eventName}`)
return ``
switch (ctx.eventName) {
case `pull_request`:
case `pull_request_target`:
return await fetchPullRequestPatch(ctx)
case `push`:
return await fetchPushPatch(ctx)
case `merge_group`:
core.info(JSON.stringify(ctx.payload))
return ``
default:
core.info(`Not fetching patch for showing only new issues because it's not a pull request context: event name is ${ctx.eventName}`)
return ``
}
const pull = ctx.payload.pull_request
if (!pull) {
}
async function fetchPullRequestPatch(ctx: Context): Promise<string> {
const pr = ctx.payload.pull_request
if (!pr) {
core.warning(`No pull request in context`)
return ``
}
const octokit = github.getOctokit(core.getInput(`github-token`, { required: true }))
let patch: string
try {
const patchResp = await octokit.rest.pulls.get({
owner: ctx.repo.owner,
repo: ctx.repo.repo,
[`pull_number`]: pull.number,
[`pull_number`]: pr.number,
mediaType: {
format: `diff`,
},
@ -66,7 +91,46 @@ async function fetchPatch(): Promise<string> {
const tempDir = await createTempDir()
const patchPath = path.join(tempDir, "pull.patch")
core.info(`Writing patch to ${patchPath}`)
await writeFile(patchPath, patch)
await writeFile(patchPath, alterDiffPatch(patch))
return patchPath
} catch (err) {
console.warn(`failed to save pull request patch:`, err)
return `` // don't fail the action, but analyze without patch
}
}
async function fetchPushPatch(ctx: Context): Promise<string> {
const octokit = github.getOctokit(core.getInput(`github-token`, { required: true }))
let patch: string
try {
const patchResp = await octokit.rest.repos.compareCommits({
owner: ctx.repo.owner,
repo: ctx.repo.repo,
base: ctx.payload.before,
head: ctx.payload.after,
mediaType: {
format: `diff`,
},
})
if (patchResp.status !== 200) {
core.warning(`failed to fetch push patch: response status is ${patchResp.status}`)
return `` // don't fail the action, but analyze without patch
}
// eslint-disable-next-line @typescript-eslint/no-explicit-any
patch = patchResp.data as any
} catch (err) {
console.warn(`failed to fetch push patch:`, err)
return `` // don't fail the action, but analyze without patch
}
try {
const tempDir = await createTempDir()
const patchPath = path.join(tempDir, "push.patch")
core.info(`Writing patch to ${patchPath}`)
await writeFile(patchPath, alterDiffPatch(patch))
return patchPath
} catch (err) {
console.warn(`failed to save pull request patch:`, err)
@ -83,15 +147,13 @@ async function prepareEnv(): Promise<Env> {
const startedAt = Date.now()
// Prepare cache, lint and go in parallel.
const restoreCachePromise = restoreCache()
const prepareLintPromise = prepareLint()
const patchPromise = fetchPatch()
await restoreCache()
const lintPath = await prepareLintPromise
await restoreCachePromise
const patchPath = await patchPromise
const lintPath = await prepareLint()
const patchPath = await fetchPatch()
core.info(`Prepared env in ${Date.now() - startedAt}ms`)
return { lintPath, patchPath }
}
@ -116,40 +178,71 @@ async function runLint(lintPath: string, patchPath: string): Promise<void> {
printOutput(res)
}
const userArgs = core.getInput(`args`)
let userArgs = core.getInput(`args`)
const addedArgs: string[] = []
const userArgNames = new Set<string>(
userArgs
.trim()
.split(/\s+/)
.map((arg) => arg.split(`=`)[0])
.filter((arg) => arg.startsWith(`-`))
.map((arg) => arg.replace(/^-+/, ``))
)
if (userArgNames.has(`out-format`)) {
throw new Error(`please, don't change out-format for golangci-lint: it can be broken in a future`)
}
addedArgs.push(`--out-format=github-actions`)
const userArgsList = userArgs
.trim()
.split(/\s+/)
.filter((arg) => arg.startsWith(`-`))
.map((arg) => arg.replace(/^-+/, ``))
.map((arg) => arg.split(/=(.*)/, 2))
.map<[string, string]>(([key, value]) => [key.toLowerCase(), value ?? ""])
if (patchPath) {
const userArgsMap = new Map<string, string>(userArgsList)
const userArgNames = new Set<string>(userArgsList.map(([key]) => key))
const annotations = core.getInput(`annotations`).trim() !== "false"
if (annotations) {
const formats = (userArgsMap.get("out-format") || "")
.trim()
.split(",")
.filter((f) => f.length > 0)
.filter((f) => !f.startsWith(`github-actions`))
.concat("github-actions")
.join(",")
addedArgs.push(`--out-format=${formats}`)
userArgs = userArgs.replace(/--out-format=\S*/gi, "").trim()
}
if (isOnlyNewIssues()) {
if (userArgNames.has(`new`) || userArgNames.has(`new-from-rev`) || userArgNames.has(`new-from-patch`)) {
throw new Error(`please, don't specify manually --new* args when requesting only new issues`)
}
addedArgs.push(`--new-from-patch=${patchPath}`)
// Override config values.
addedArgs.push(`--new=false`)
addedArgs.push(`--new-from-rev=`)
const ctx = github.context
core.info(`only new issues on ${ctx.eventName}: ${patchPath}`)
switch (ctx.eventName) {
case `pull_request`:
case `pull_request_target`:
case `push`:
if (patchPath) {
addedArgs.push(`--new-from-patch=${patchPath}`)
// Override config values.
addedArgs.push(`--new=false`)
addedArgs.push(`--new-from-rev=`)
}
break
case `merge_group`:
addedArgs.push(`--new-from-rev=${ctx.payload.merge_group.base_sha}`)
// Override config values.
addedArgs.push(`--new=false`)
addedArgs.push(`--new-from-patch=`)
break
default:
break
}
}
const workingDirectory = core.getInput(`working-directory`)
const cmdArgs: ExecOptions = {}
if (workingDirectory) {
if (patchPath) {
// TODO: make them compatible
throw new Error(`options working-directory and only-new-issues aren't compatible`)
}
if (!fs.existsSync(workingDirectory) || !fs.lstatSync(workingDirectory).isDirectory()) {
throw new Error(`working-directory (${workingDirectory}) was not a path`)
}
@ -159,8 +252,10 @@ async function runLint(lintPath: string, patchPath: string): Promise<void> {
cmdArgs.cwd = path.resolve(workingDirectory)
}
const cmd = `${lintPath} run ${addedArgs.join(` `)} ${userArgs}`.trimRight()
const cmd = `${lintPath} run ${addedArgs.join(` `)} ${userArgs}`.trimEnd()
core.info(`Running [${cmd}] in [${cmdArgs.cwd || ``}] ...`)
const startedAt = Date.now()
try {
const res = await execShellCommand(cmd, cmdArgs)

56
src/utils/diffUtils.ts Normal file
View File

@ -0,0 +1,56 @@
import * as core from "@actions/core"
import * as path from "path"
// If needed alter diff file to be compatible with working directory
export function alterDiffPatch(patch: string): string {
const workingDirectory = core.getInput(`working-directory`)
if (workingDirectory) {
return alterPatchWithWorkingDirectory(patch, workingDirectory)
}
return patch
}
function alterPatchWithWorkingDirectory(patch: string, workingDirectory: string): string {
const workspace = process.env["GITHUB_WORKSPACE"] || ""
const wd = path.relative(workspace, workingDirectory)
// ignore diff sections not related to the working directory
let ignore = false
const lines = patch.split("\n")
const filteredLines = []
// starts with "--- a/xxx/" or "+++ a/xxx/" or "--- b/xxx/" or "+++ b/xxx/"
const cleanDiff = new RegExp(`^((?:\\+{3}|-{3}) [ab]\\/)${escapeRegExp(wd)}\\/(.*)`, "gm")
// contains " a/xxx/" or " b/xxx/"
const firstLine = new RegExp(`( [ab]\\/)${escapeRegExp(wd)}\\/(.*)`, "gm")
for (const line of lines) {
if (line.startsWith("diff --git")) {
ignore = !line.includes(` a/${wd}/`)
if (ignore) {
continue
}
filteredLines.push(line.replaceAll(firstLine, "$1$2"))
} else {
if (ignore) {
continue
}
filteredLines.push(line.replaceAll(cleanDiff, "$1$2"))
}
}
// Join the modified lines back into a diff string
return filteredLines.join("\n")
}
// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions
function escapeRegExp(exp: string): string {
return exp.replace(/[.*+?^${}()|[\]\\]/g, "\\$&") // $& means the whole matched string
}

View File

@ -3,6 +3,8 @@ import * as httpm from "@actions/http-client"
import * as fs from "fs"
import path from "path"
import { InstallMode } from "./install"
// TODO: make a class
export type Version = {
major: number
@ -17,6 +19,7 @@ const parseVersion = (s: string): Version => {
if (s == "latest" || s == "") {
return null
}
const match = s.match(versionRe)
if (!match) {
throw new Error(`invalid version string '${s}', expected format v1.2 or v1.2.3`)
@ -61,6 +64,7 @@ const isLessVersion = (a: Version, b: Version): boolean => {
const getRequestedLintVersion = (): Version => {
let requestedLintVersion = core.getInput(`version`)
const workingDirectory = core.getInput(`working-directory`)
let goMod = "go.mod"
if (workingDirectory) {
goMod = path.join(workingDirectory, goMod)
@ -79,6 +83,7 @@ const getRequestedLintVersion = (): Version => {
if (parsedRequestedLintVersion == null) {
return null
}
if (isLessVersion(parsedRequestedLintVersion, minVersion)) {
throw new Error(
`requested golangci-lint version '${requestedLintVersion}' isn't supported: we support only ${stringifyVersion(
@ -86,6 +91,7 @@ const getRequestedLintVersion = (): Version => {
)} and later versions`
)
}
return parsedRequestedLintVersion
}
@ -120,9 +126,16 @@ const getConfig = async (): Promise<Config> => {
}
}
export async function findLintVersion(): Promise<VersionConfig> {
export async function findLintVersion(mode: InstallMode): Promise<VersionConfig> {
core.info(`Finding needed golangci-lint version...`)
if (mode == InstallMode.GoInstall) {
const v: string = core.getInput(`version`)
return { TargetVersion: v ? v : "latest", AssetURL: "github.com/golangci/golangci-lint" }
}
const reqLintVersion = getRequestedLintVersion()
// if the patched version is passed, just use it
if (reqLintVersion?.major !== null && reqLintVersion?.minor != null && reqLintVersion?.patch !== null) {
return new Promise((resolve) => {
@ -133,6 +146,7 @@ export async function findLintVersion(): Promise<VersionConfig> {
})
})
}
const startedAt = Date.now()
const config = await getConfig()
@ -155,5 +169,6 @@ export async function findLintVersion(): Promise<VersionConfig> {
Date.now() - startedAt
}ms`
)
return versionConfig
}

View File

@ -1,6 +1,6 @@
{
"compilerOptions": {
"target": "es6", /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017', 'ES2018', 'ES2019' or 'ESNEXT'. */
"target": "ES2021", /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017', 'ES2018', 'ES2019' or 'ESNEXT'. */
"module": "commonjs", /* Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', or 'ESNext'. */
"outDir": "./lib", /* Redirect output structure to the directory. */
"rootDir": "./src", /* Specify the root directory of input files. Use to control the output directory structure with --outDir. */