Compare commits

...

559 Commits
v3.3.1 ... main

Author SHA1 Message Date
481777f62f chore: pull request template 2025-05-28 15:45:54 +02:00
5ca62b4042 docs: improve options description and README (#1242) 2025-05-28 15:22:34 +02:00
3f6d2b9ad8 build(deps): bump @types/node from 22.15.19 to 22.15.21 in the dependencies group across 1 directory (#1241) 2025-05-26 17:08:58 +02:00
58da348766 build(deps): bump @types/node from 22.15.17 to 22.15.19 in the dependencies group (#1238) 2025-05-19 12:05:58 +02:00
d9e6ff0078 build(deps-dev): bump the dev-dependencies group with 2 updates (#1237) 2025-05-19 12:05:12 +02:00
20869830fb build(deps): bump undici from 5.28.5 to 5.29.0 (#1236)
Co-authored-by: Fernandez Ludovic <ldez@users.noreply.github.com>
2025-05-15 18:35:49 +00:00
0b0f1dde2d build(deps): bump the dependencies group with 2 updates (#1234)
Co-authored-by: Fernandez Ludovic <ldez@users.noreply.github.com>
2025-05-12 11:44:55 +00:00
0289b0b433 build(deps-dev): bump the dev-dependencies group with 4 updates (#1235) 2025-05-12 13:36:05 +02:00
4d56fa9e3c build(deps-dev): bump the dev-dependencies group with 3 updates (#1233) 2025-05-05 13:47:50 +02:00
37f1003d77 build(deps): bump @types/node from 22.14.1 to 22.15.3 in the dependencies group (#1232) 2025-05-05 13:47:14 +02:00
4afd733a84 8.0.0 2025-05-04 22:04:19 +02:00
7774f98a88 feat: use absolute paths by default when using working-directory option (#1231) 2025-05-04 22:03:30 +02:00
9fae48acfc 7.0.1 2025-05-04 21:50:29 +02:00
16ece5e01d docs: clarify that ’args: --path-mode=abs’ is needed for working-directory (#1230) 2025-05-04 21:41:49 +02:00
a3942e2497 build(deps-dev): bump the dev-dependencies group with 2 updates (#1227) 2025-04-21 13:33:46 +02:00
7ecb048b56 build(deps): bump @types/node from 22.14.0 to 22.14.1 in the dependencies group (#1225) 2025-04-14 13:18:59 +02:00
63a0d0e695 build(deps-dev): bump the dev-dependencies group with 3 updates (#1224) 2025-04-14 13:18:33 +02:00
c2427fec79 docs: update problem matchers section 2025-04-07 17:34:24 +02:00
642f8ee631 build(deps): bump @types/node from 22.13.14 to 22.14.0 in the dependencies group (#1221) 2025-04-07 12:46:39 +02:00
d84be9250b build(deps-dev): bump the dev-dependencies group with 4 updates (#1220) 2025-04-07 12:46:14 +02:00
9551b25870 docs: typos and notes 2025-04-04 05:13:59 +02:00
f51fbec16f docs: add note about github.workspace (#1218)
Co-authored-by: Fernandez Ludovic <ldez@users.noreply.github.com>
2025-04-04 04:18:50 +02:00
a5307c8f68 build(deps-dev): bump the dev-dependencies group with 3 updates (#1215) 2025-03-31 15:10:29 +02:00
2968cc1a32 build(deps): bump the dependencies group across 1 directory with 3 updates (#1213)
Co-authored-by: Fernandez Ludovic <ldez@users.noreply.github.com>
2025-03-30 00:34:56 +01:00
1481404843 7.0.0 2025-03-24 15:20:12 +01:00
dec74fa030 feat: golangci-lint v2 support (#1198) 2025-03-24 15:16:39 +01:00
1f07148fa0 build(deps-dev): bump the dev-dependencies group with 3 updates (#1207)
Co-authored-by: Fernandez Ludovic <ldez@users.noreply.github.com>
2025-03-24 13:11:28 +01:00
9938e103f8 docs: fix checks permissions for annotations (#1204) 2025-03-19 12:23:45 +00:00
b91d580160 docs: update annotation permissions (#1203) 2025-03-19 00:29:57 +01:00
55c2c1448f 6.5.2 2025-03-17 22:50:27 +01:00
911ec56a22 fix: update max version (#1201) 2025-03-17 22:47:30 +01:00
eb5c0cc489 build(deps-dev): bump the dev-dependencies group with 2 updates (#1199) 2025-03-17 14:00:10 +01:00
4696ba8bab 6.5.1 2025-03-12 17:11:46 +01:00
2ee514f1f3 feat: restrict action v6 on golangci-lint v1 (#1194) 2025-03-12 17:10:24 +01:00
7e7b516e44 fix: octokit retry (#1193) 2025-03-12 17:09:01 +01:00
b871b4f9de build(deps): bump @types/node from 22.13.8 to 22.13.10 in the dependencies group (#1192) 2025-03-10 13:52:35 +01:00
08ba820282 build(deps-dev): bump eslint-config-prettier from 10.0.2 to 10.1.1 in the dev-dependencies group (#1191) 2025-03-10 13:52:11 +01:00
d8648ac2ed build(deps-dev): bump the dev-dependencies group across 1 directory with 5 updates (#1190) 2025-03-06 21:03:25 +01:00
37d62ae433 build(deps): bump the dependencies group with 2 updates (#1189)
Co-authored-by: Fernandez Ludovic <ldez@users.noreply.github.com>
2025-03-03 11:53:20 +00:00
7b561e5ab6 build(deps): bump @octokit/plugin-paginate-rest from 9.2.1 to 9.2.2 (#1187)
Co-authored-by: Fernandez Ludovic <ldez@users.noreply.github.com>
2025-02-24 13:11:36 +00:00
b63dc836c2 build(deps): bump @types/node from 22.13.4 to 22.13.5 in the dependencies group (#1186) 2025-02-24 13:44:21 +01:00
e8b0a12b47 build(deps-dev): bump the dev-dependencies group with 3 updates (#1185) 2025-02-24 13:43:55 +01:00
456fc0f735 docs: update examples 2025-02-22 19:01:11 +01:00
378320cf0d build(deps): bump @octokit/request from 8.4.0 to 8.4.1 (#1181)
Co-authored-by: Fernandez Ludovic <ldez@users.noreply.github.com>
2025-02-19 00:38:38 +01:00
0bc16cda6e build(deps): bump the dependencies group with 2 updates (#1178)
Co-authored-by: Fernandez Ludovic <ldez@users.noreply.github.com>
2025-02-17 13:01:26 +00:00
0f27d1f085 build(deps-dev): bump the dev-dependencies group with 3 updates (#1177) 2025-02-17 13:43:55 +01:00
3b4f037d0e docs: improve verify option explanation (#1175) 2025-02-17 05:54:54 +01:00
fe19838e9e docs: add notes for annotation config (#1173) 2025-02-16 18:21:00 +00:00
2226d7cb06 6.5.0 2025-02-15 15:16:43 +01:00
8d744d5b7f feat: verify with the JSONSchema by default (#1171) 2025-02-15 15:02:58 +01:00
0e58f8e7ab build(deps): bump @octokit/endpoint from 9.0.5 to 9.0.6 (#1170)
Co-authored-by: Fernandez Ludovic <ldez@users.noreply.github.com>
2025-02-15 04:31:44 +01:00
6a3fb764d5 build(deps): bump @octokit/request-error from 5.1.0 to 5.1.1 (#1169)
Co-authored-by: Fernandez Ludovic <ldez@users.noreply.github.com>
2025-02-15 03:19:17 +01:00
696fa5c0e7 chore: clean workflows 2025-02-15 02:47:53 +01:00
80284ede25 chore: use ubuntu-22.04-arm
ubuntu-24.04-arm is too unstable
2025-02-14 22:19:04 +01:00
818ec4d51a 6.4.1 2025-02-14 13:57:12 +01:00
1c50240be2 fix: use config arg for verify (#1168) 2025-02-14 13:56:21 +01:00
0adbc47a59 6.4.0 2025-02-13 23:15:38 +01:00
f7463c56f6 feat: add an option to verify with the JSONSchema (#1167) 2025-02-13 23:14:24 +01:00
32f961426b chore: extract patch related code (#1166) 2025-02-13 22:16:32 +01:00
e0ebdd245e 6.3.3 2025-02-13 13:37:15 +01:00
ea34ee71d6 fix: go.mod parsing (#1165) 2025-02-13 13:35:39 +01:00
051d919338 6.3.2 2025-02-10 15:34:05 +01:00
b85ce4ff0a fix: path patch (#1162) 2025-02-10 15:33:29 +01:00
d9c129682c build(deps-dev): bump prettier from 3.4.2 to 3.5.0 in the dev-dependencies group (#1160) 2025-02-10 13:32:23 +01:00
db1c463e05 docs: move dev information into contribution guide 2025-02-09 03:07:48 +01:00
697ae3d965 docs: information about releases 2025-02-09 02:31:53 +01:00
2e788936b0 6.3.1 2025-02-09 02:26:54 +01:00
aa1e0941ed chore: update golangci-lint versions (#1159) 2025-02-09 02:22:47 +01:00
3e6beafdff fix: restrict patched version to v1 (#1158) 2025-02-09 02:03:24 +01:00
1cc4e007f0 build(deps): bump @types/node from 22.13.0 to 22.13.1 in the dependencies group (#1156) 2025-02-04 16:56:20 +01:00
bbe109d3f8 build(deps-dev): bump the dev-dependencies group with 2 updates (#1155) 2025-02-04 16:55:56 +01:00
e60da84bfa chore: update branch references 2025-02-04 15:39:52 +01:00
1dd93d052e chore: use new assets file (#1154) 2025-02-04 15:15:08 +01:00
5421a116d2 build(deps): bump @types/node from 22.10.10 to 22.13.0 in the dependencies group (#1153) 2025-02-03 12:48:00 +01:00
260e8cefdb build(deps-dev): bump the dev-dependencies group with 2 updates (#1152) 2025-02-03 12:47:31 +01:00
9665fb5353 build(deps): bump undici from 5.28.4 to 5.28.5 (#1150)
Co-authored-by: Fernandez Ludovic <ldez@users.noreply.github.com>
2025-01-27 12:12:42 +00:00
62530743f6 build(deps): bump @types/node from 22.10.7 to 22.10.10 in the dependencies group (#1149) 2025-01-27 12:43:58 +01:00
f71f362e47 build(deps-dev): bump the dev-dependencies group with 2 updates (#1148) 2025-01-27 12:43:11 +01:00
7ec71f69b1 build(deps): bump the dependencies group with 2 updates (#1147)
Co-authored-by: Fernandez Ludovic <ldez@users.noreply.github.com>
2025-01-20 18:21:27 +01:00
60c0fc4730 build(deps-dev): bump the dev-dependencies group with 4 updates (#1146) 2025-01-20 16:19:41 +01:00
a7b658d295 docs: update README options version from required to optional (#1145) 2025-01-17 12:24:51 +01:00
ec5d18412c feat: support linux arm64 public preview (#1144) 2025-01-16 21:40:47 +01:00
a0297a1378 build(deps-dev): bump the dev-dependencies group with 3 updates (#1143) 2025-01-13 12:28:21 +01:00
58eda26a51 build(deps): bump @types/node from 22.10.2 to 22.10.5 in the dependencies group (#1142) 2025-01-06 12:56:48 +01:00
44c2434506 build(deps-dev): bump the dev-dependencies group with 2 updates (#1141) 2025-01-06 12:56:21 +01:00
2f13b8027d build(deps-dev): bump the dev-dependencies group with 2 updates (#1139) 2024-12-30 16:15:31 +01:00
1ac36865a6 build(deps-dev): bump the dev-dependencies group with 2 updates (#1138) 2024-12-23 13:54:34 +01:00
9937fdf718 build(deps): bump @types/node from 22.10.1 to 22.10.2 in the dependencies group (#1137) 2024-12-16 15:55:46 +01:00
cb60b26e7a build(deps-dev): bump the dev-dependencies group with 2 updates (#1136) 2024-12-16 15:55:21 +01:00
774c35bccc build(deps): bump @actions/cache from 3.3.0 to 4.0.0 in the dependencies group (#1135)
Co-authored-by: Fernandez Ludovic <ldez@users.noreply.github.com>
2024-12-09 14:21:16 +01:00
7ce548721e build(deps-dev): bump the dev-dependencies group with 3 updates (#1134) 2024-12-09 14:06:45 +01:00
0e1fd32b0c chore: use new build tag syntax (#1133) 2024-12-04 18:03:01 +01:00
9e66d46e22 build(deps-dev): bump the dev-dependencies group across 1 directory with 4 updates (#1132)
Co-authored-by: Fernandez Ludovic <ldez@users.noreply.github.com>
2024-12-02 12:54:29 +01:00
1720a0ed2a build(deps): bump @types/node from 22.9.3 to 22.10.1 in the dependencies group (#1131) 2024-12-02 12:43:56 +01:00
eab1d2f3d7 build(deps): bump @types/node from 22.9.0 to 22.9.3 in the dependencies group (#1130) 2024-11-25 12:53:46 +01:00
160a1d779c build(deps-dev): bump the dev-dependencies group with 3 updates (#1128) 2024-11-18 14:11:50 +01:00
02ee5067dc build(deps): bump @types/node from 22.8.7 to 22.9.0 in the dependencies group (#1127) 2024-11-11 11:37:34 +01:00
311e61576a build(deps-dev): bump the dev-dependencies group with 2 updates (#1126) 2024-11-11 11:37:09 +01:00
363026db34 docs: update local development instructions (#1125)
Co-authored-by: Fernandez Ludovic <ldez@users.noreply.github.com>
2024-11-08 21:40:36 +01:00
ea0c88120e build(deps): bump the dependencies group with 2 updates (#1123)
Co-authored-by: Fernandez Ludovic <ldez@users.noreply.github.com>
2024-11-04 12:52:08 +01:00
968ad765a9 build(deps-dev): bump the dev-dependencies group with 2 updates (#1122) 2024-11-04 11:09:49 +01:00
82fb3f49c2 build(deps): bump @types/node from 22.7.7 to 22.8.1 in the dependencies group (#1120) 2024-10-28 11:02:46 +01:00
10480e9d12 build(deps-dev): bump the dev-dependencies group with 2 updates (#1119) 2024-10-28 11:02:23 +01:00
523baec228 build(deps): bump @types/node from 22.7.5 to 22.7.7 in the dependencies group (#1118) 2024-10-21 13:35:58 +02:00
8e06968c92 build(deps-dev): bump the dev-dependencies group with 2 updates (#1117) 2024-10-21 13:35:36 +02:00
79a180da27 build(deps): bump @types/node from 22.7.4 to 22.7.5 in the dependencies group (#1115) 2024-10-14 13:18:25 +02:00
b92645ea9c build(deps-dev): bump the dev-dependencies group with 3 updates (#1114) 2024-10-14 13:18:08 +02:00
3d4174dbf5 build(deps): bump the dependencies group with 2 updates (#1113)
Co-authored-by: Fernandez Ludovic <ldez@users.noreply.github.com>
2024-10-07 17:31:44 +02:00
0ddaf3ca3f build(deps-dev): bump the dev-dependencies group with 3 updates (#1112) 2024-10-07 16:09:16 +02:00
971e284b60 build(deps-dev): bump the dev-dependencies group with 3 updates (#1108)
Co-authored-by: Fernandez Ludovic <ldez@users.noreply.github.com>
2024-09-30 15:40:11 +02:00
bbe7eb52aa build(deps): bump @types/node from 22.5.5 to 22.7.4 in the dependencies group (#1109) 2024-09-30 14:07:00 +02:00
ebae5cee81 build(deps-dev): bump the dev-dependencies group with 3 updates (#1105) 2024-09-23 13:24:35 +02:00
06c3f3a551 build(deps): bump @types/node from 22.5.4 to 22.5.5 in the dependencies group (#1104) 2024-09-16 13:51:57 +02:00
56689d8f71 build(deps-dev): bump the dev-dependencies group with 3 updates (#1103) 2024-09-16 13:51:34 +02:00
c7bab6f874 fix: clean go install output (#1102) 2024-09-13 00:04:49 +02:00
33f56cc1ef build(deps-dev): bump the dev-dependencies group with 3 updates (#1099) 2024-09-09 14:48:59 +02:00
e9542245b2 build(deps): bump @types/node from 22.5.2 to 22.5.4 in the dependencies group (#1100) 2024-09-09 14:48:37 +02:00
68de804037 build(deps): bump @types/node from 22.5.1 to 22.5.2 in the dependencies group (#1098) 2024-09-02 14:02:11 +02:00
22a37566e1 build(deps-dev): bump the dev-dependencies group with 2 updates (#1097) 2024-09-02 14:01:40 +02:00
cb36b7b064 build(deps): bump the dependencies group across 1 directory with 2 updates (#1096)
Co-authored-by: Fernandez Ludovic <ldez@users.noreply.github.com>
2024-08-29 21:53:11 +02:00
acfc9fc846 build(deps): bump the dependencies group with 2 updates (#1089)
Co-authored-by: Fernandez Ludovic <ldez@users.noreply.github.com>
2024-08-29 20:33:04 +02:00
1b319a7ae6 build(deps-dev): bump the dev-dependencies group with 2 updates (#1093) 2024-08-29 20:32:40 +02:00
0ad4b72404 build(deps-dev): bump the dev-dependencies group with 2 updates (#1088) 2024-08-19 13:50:59 +02:00
de8531069f docs: update README.md to use golangci-lint v1.60 (#1087) 2024-08-18 15:31:41 +00:00
2af9b8ff01 tests: update test files 2024-08-18 17:23:19 +02:00
8cae750416 chore: update golangci-lint test versions 2024-08-18 17:18:43 +02:00
656a8d69e8 chore: update golangci-lint test versions 2024-08-18 17:16:15 +02:00
a3d68bc6f4 build(deps): bump @types/node from 22.1.0 to 22.2.0 in the dependencies group (#1085) 2024-08-12 17:51:05 +02:00
806a9afa81 build(deps-dev): bump the dev-dependencies group with 2 updates (#1084) 2024-08-12 17:50:46 +02:00
e135904846 build(deps): bump @types/node from 22.0.0 to 22.1.0 in the dependencies group (#1083) 2024-08-05 16:31:47 +02:00
931e87202e build(deps-dev): bump the dev-dependencies group with 2 updates (#1082) 2024-08-05 16:31:23 +02:00
aaa42aa062 feat: allow to skip golangci-lint installation (#1079) 2024-07-30 00:16:22 +02:00
9ec89731c3 build(deps): bump @types/node from 20.14.11 to 22.0.0 in the dependencies group (#1078) 2024-07-29 14:51:39 +02:00
58838cffc6 build(deps-dev): bump the dev-dependencies group with 3 updates (#1077) 2024-07-29 14:51:11 +02:00
9f3ba2c3a8 build(deps): bump @types/node from 20.14.10 to 20.14.11 in the dependencies group (#1075) 2024-07-22 13:13:46 +02:00
2bd7a04e91 build(deps-dev): bump the dev-dependencies group with 3 updates (#1074) 2024-07-22 13:13:20 +02:00
db819a10bd build(deps-dev): bump the dev-dependencies group with 3 updates (#1073) 2024-07-15 12:41:18 +02:00
d09fb0808a build(deps): bump @types/node from 20.14.9 to 20.14.10 in the dependencies group (#1072) 2024-07-08 13:50:27 +02:00
605617a3e2 build(deps-dev): bump the dev-dependencies group with 4 updates (#1071) 2024-07-08 13:50:01 +02:00
66f63c74bb chore: generate 2024-07-03 01:03:27 +02:00
2c01d264ab fix: home dir on Windows 2024-07-03 00:49:42 +02:00
d8028e1f20 build(deps): bump @types/node from 20.14.8 to 20.14.9 in the dependencies group (#1068) 2024-07-01 14:38:39 +02:00
a0231c4ff0 build(deps-dev): bump the dev-dependencies group with 2 updates (#1067) 2024-07-01 14:38:19 +02:00
e43020d72a build(deps-dev): bump the dev-dependencies group with 3 updates (#1065)
Co-authored-by: Fernandez Ludovic <ldez@users.noreply.github.com>
2024-06-24 14:17:02 +02:00
9e57efc106 build(deps): bump @types/node from 20.14.2 to 20.14.8 in the dependencies group (#1066) 2024-06-24 14:08:00 +02:00
27d925f9c0 docs: fix workflow example 2024-06-22 22:40:58 +02:00
24b3d93762 docs: fix workflow example path 2024-06-22 22:37:29 +02:00
26b1e83940 docs: clarify workflow example path 2024-06-22 22:36:44 +02:00
081b216ccf docs: add Go workspace examples (#1064) 2024-06-22 22:34:31 +02:00
0d98fecd83 build(deps-dev): bump the dev-dependencies group with 3 updates (#1063) 2024-06-17 14:07:20 +02:00
031a2fcd4a build(deps): bump @types/node from 20.14.0 to 20.14.2 in the dependencies group (#1062) 2024-06-10 12:55:17 +02:00
96843aea6d build(deps-dev): bump the dev-dependencies group with 3 updates (#1061) 2024-06-10 12:54:48 +02:00
8032b26298 build(deps-dev): bump the dev-dependencies group across 1 directory with 3 updates (#1053) 2024-06-03 12:25:39 +00:00
dfd6a77317 build(deps): bump @types/node from 20.12.12 to 20.14.0 in the dependencies group (#1051) 2024-06-03 14:13:35 +02:00
e1ff6fb1c1 docs: improve examples 2024-05-27 04:48:36 +02:00
4145754745 docs: add sponsoring links 2024-05-27 02:12:12 +02:00
16507ab8ef docs: improve workflow example 2024-05-26 21:19:24 +02:00
725e01551b docs: improve option examples 2024-05-26 21:16:11 +02:00
32b7e669bc chore: update lock (nodejs 20) 2024-05-24 20:13:29 +02:00
e2918bb1f8 build(deps-dev): bump the dev-dependencies group with 2 updates (#1047) 2024-05-24 19:50:28 +02:00
3f51204e49 chore: improve issues chooser 2024-05-24 19:22:56 +02:00
b7f3daa60e chore: fix typo 2024-05-24 19:20:15 +02:00
952b7b2e57 chore: improve issues chooser 2024-05-24 19:16:52 +02:00
7a82e5f967 chore: groups dependabot updates 2024-05-24 19:16:09 +02:00
4655d13902 chore: add contributing guide 2024-05-23 18:32:17 +02:00
182ce0be58 build(deps-dev): bump @typescript-eslint/parser from 7.8.0 to 7.9.0 (#1044) 2024-05-20 18:37:21 +02:00
bc05d62e37 docs: add explanation for github-token option 2024-05-20 18:31:17 +02:00
8a8f91e859 build(deps): bump @types/node from 20.12.11 to 20.12.12 (#1043) 2024-05-20 14:29:30 +02:00
34be59169b build(deps-dev): bump @typescript-eslint/eslint-plugin from 7.8.0 to 7.9.0 (#1042) 2024-05-20 14:29:08 +02:00
abbeba8940 build(deps): bump @types/node from 20.12.8 to 20.12.11 (#1041) 2024-05-13 12:09:47 +02:00
d7e9c664d4 docs: use a fixed version 2024-05-12 22:03:15 +02:00
42ebe7fde9 chore: generate 2024-05-10 03:49:44 +02:00
7b547992bc fix: remove debug logs 2024-05-10 03:47:36 +02:00
a4f60bb28d fix: use 3-dots syntax for diff on push (#1040) 2024-05-08 05:51:20 +02:00
5815a4b917 doc: improve readme 2024-05-07 02:02:33 +02:00
23faadfdeb doc: improve readme 2024-05-07 01:56:19 +02:00
b556f25b3c doc: improve readme 2024-05-07 01:44:28 +02:00
789f114c52 feat: rewrite format handling (#1038) 2024-05-07 01:40:17 +02:00
d36b91c294 build(deps-dev): bump @typescript-eslint/parser from 7.7.1 to 7.8.0 (#1035) 2024-05-06 15:48:38 +02:00
a9eb115348 build(deps): bump @types/node from 20.12.7 to 20.12.8 (#1036) 2024-05-06 15:42:05 +02:00
bd4fa7c900 build(deps-dev): bump @typescript-eslint/eslint-plugin from 7.7.1 to 7.8.0 (#1034) 2024-05-06 15:41:21 +02:00
38e1018663 feat: improve log about pwd/cwd (#1033) 2024-05-05 01:13:21 +02:00
21e9e6b47f feat: use OS and working-directory as cache key (#1032) 2024-05-04 18:43:48 +02:00
dbe4fc23f1 chore: use getBooleanInput 2024-05-04 17:49:04 +02:00
dbb7ebcd4c feat: add option to control cache invalidation interval (#1031) 2024-05-04 17:47:25 +02:00
ecb32920c6 feat: uses 2 dots compare syntax for push diff (#1030) 2024-05-04 16:54:30 +02:00
046435d14c doc: improve options documentation 2024-05-04 02:42:39 +02:00
ca8befdfb6 doc: improve options documentation 2024-05-04 02:36:06 +02:00
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
37 changed files with 89032 additions and 28253 deletions

1
.gitattributes vendored Normal file
View File

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

View File

@ -1,4 +1,4 @@
name: Bug Report
name: 🐞 Bug Report
description: "Create a report to help us improve."
body:
- type: checkboxes
@ -36,14 +36,29 @@ body:
required: true
- type: textarea
id: config
id: workflow-file
attributes:
label: Workflow file
value: |-
<details>
```yml
<add your file content here>
```
<add you file here>
</details>
validations:
required: true
- type: textarea
id: config
attributes:
label: Golangci-lint configuration
value: |-
<details>
```yml
<add your file content here>
```
</details>

View File

@ -1,11 +1,14 @@
blank_issues_enabled: false
contact_links:
- name: Questions
url: https://github.com/golangci/golangci-lint-action/discussions
about: If you have a question, or are looking for advice, please post on our Discussions forum!
- name: golangci-lint main repository
url: https://github.com/golangci/golangci-lint
about: The main repository of golangci-lint.
- name: golangci-lint documentation
- name: 📖 Golangci-lint documentation
url: https://golangci-lint.run
about: Please take a look to our documentation.
- name: ❓ Questions
url: https://github.com/golangci/golangci-lint-action/discussions
about: If you have a question, or are looking for advice, please post on our Discussions forum!
- name: 💬 Chat on Slack
url: https://gophers.slack.com/archives/CS0TBRKPC
about: Maybe chatting with the community can help
- name: 🏡 Golangci-lint main repository
url: https://github.com/golangci/golangci-lint
about: The main repository of golangci-lint.

View File

@ -1,4 +1,4 @@
name: Feature request
name: 💡 Feature request
description: "Suggest an idea for this project."
body:
- type: checkboxes

8
.github/PULL_REQUEST_TEMPLATE.md vendored Normal file
View File

@ -0,0 +1,8 @@
<!--
WARNING:
Pull requests from a fork inside a GitHub organization are not allowed.
Only pull requests from personal forks are allowed.
-->

View File

@ -6,5 +6,10 @@ updates:
interval: weekly
- package-ecosystem: npm
directory: "/"
groups:
dev-dependencies:
dependency-type: development
dependencies:
dependency-type: production
schedule:
interval: weekly

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

@ -2,10 +2,12 @@ name: "Code Scanning - Action"
on:
push:
branches: [ master ]
branches:
- main
pull_request:
# The branches below must be a subset of the branches above
branches: [ master ]
branches:
- main
schedule:
- cron: '0 17 * * 5'
@ -16,7 +18,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 +33,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 +43,4 @@ jobs:
npm run all
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v2
uses: github/codeql-action/analyze@v3

View File

@ -1,19 +1,24 @@
name: "build-and-test"
on: # rebuild any PRs and main branch changes
pull_request:
branches:
- main
push:
branches:
- master
- "releases/*"
- main
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
@ -43,41 +48,80 @@ jobs:
matrix:
os:
- ubuntu-latest
- ubuntu-22.04-arm
- macos-latest
- windows-latest
version:
- ""
- "latest"
- "v1.37"
- "v1.37.1"
- "v2.1"
- "v2.1.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-mod-version:
test-go-install: # make sure the action works on a clean machine without building (go-install mode)
needs: [ build ]
strategy:
matrix:
os:
- ubuntu-latest
- ubuntu-22.04-arm
- macos-latest
- windows-latest
version:
- ""
- "latest"
- "v2.1.0"
- "f6c2e6c999dfae444d1fe7f1b0d49becdae44547"
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:
needs: [ build ]
strategy:
matrix:
os:
- ubuntu-latest
- ubuntu-22.04-arm
- macos-latest
- windows-latest
wd:
- sample-go-mod
- sample-go-tool
runs-on: ${{ matrix.os }}
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 ./...
working-directory: ${{ matrix.wd }}
args: --timeout=5m --issues-exit-code=0 ./...

5
.gitignore vendored
View File

@ -6,7 +6,7 @@ __tests__/runner/*
node_modules/
lib/
# Rest pulled from https://github.com/github/gitignore/blob/master/Node.gitignore
# Rest pulled from https://github.com/github/gitignore/blob/HEAD/Node.gitignore
# Logs
logs
*.log
@ -97,3 +97,6 @@ typings/
# Text editor files
.vscode/
# IntelliJ/WebStorm files
.idea

7
.golangci.yml Normal file
View File

@ -0,0 +1,7 @@
version: "2"
output:
show-stats: true
sort-order:
- file
- linter

43
CONTRIBUTING.md Normal file
View File

@ -0,0 +1,43 @@
## How to contribute
### Did you find a bug?
* **Ensure the bug was not already reported** by searching on GitHub under [Issues](https://github.com/golangci/golangci-lint-action/issues).
* If you're unable to find an open issue addressing the problem, [open a new one](https://github.com/golangci/golangci-lint-action/issues/new).
Be sure to include a **title and clear description**, as much relevant information as possible,
and a **code sample** or an **executable test case** demonstrating the expected behavior that is not occurring.
* **Do not open up a GitHub issue if the bug is a security vulnerability**,
and instead to refer to our [security policy](https://github.com/golangci/golangci-lint-action?tab=security-ov-file).
### Do you intend to add a new feature or change an existing one?
* Suggest your change inside an [issue](https://github.com/golangci/golangci-lint-action/issues).
* Do not open a pull request on GitHub until you have collected positive feedback about the change.
### Did you write a patch that fixes a bug?
* Open a new GitHub pull request with the patch.
* Ensure the PR description clearly describes the problem and solution.
Include the relevant issue number if applicable.
## Development of this action
1. Install [act](https://github.com/nektos/act#installation)
2. Make a symlink for `act` to work properly: `ln -s . golangci-lint-action`
3. Install dependencies: `npm install`
4. Build: `npm run build`
5. Run `npm run local` after any change to test it
### Releases
```bash
npm version <major | minor | patch> -m "Upgrade to %s"
```
- https://docs.npmjs.com/cli/v11/commands/npm-version
The "major tag" (ex: `v6`) should be deleted and then recreated manually.

575
README.md
View File

@ -2,145 +2,538 @@
[![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.
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
![Logs](./static/colored-line-number.png)
* `v3.0.0+` requires explicit setup-go installation step prior to using this action: `uses: actions/setup-go@v3`.
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))
* `v1.2.1` works with `golangci-lint` version >= `v1.14.0` ([issue](https://github.com/golangci/golangci-lint-action/issues/39))
## Supporting Us
[![GitHub Sponsors](https://img.shields.io/badge/GitHub-Donate-blue?logo=github&style=for-the-badge)](https://github.com/sponsors/golangci)
[![Open Collective backers and sponsors](https://img.shields.io/badge/OpenCollective-Donate-blue?logo=opencollective&style=for-the-badge)](https://opencollective.com/golangci-lint)
[![Linter Authors](https://img.shields.io/badge/Linter_Authors-Donate-blue?style=for-the-badge)](https://golangci-lint.run/product/thanks/)
`golangci-lint` is a free and open-source project built by volunteers.
If you value it, consider supporting us; we appreciate it! :heart:
## How to use
Add `.github/workflows/golangci-lint.yml` with the following contents:
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).
Add a `.github/workflows/golangci-lint.yml` file with the following contents:
<details>
<summary>Simple Example</summary>
```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.
# Optional: allow read access to pull requests. 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: stable
- name: golangci-lint
uses: golangci/golangci-lint-action@v3
uses: golangci/golangci-lint-action@v8
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: v2.1
```
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).
</details>
### 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:
<details>
<summary>Multiple OS Example</summary>
```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.
# Optional: allow read access to pull requests. Use with `only-new-issues` option.
# pull-requests: read
jobs:
golangci:
strategy:
matrix:
go: [1.17]
os: [macos-latest, windows-latest]
go: [stable]
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@v8
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: v2.1
```
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
</details>
Currently, GitHub parses the action's output and creates [annotations](https://github.community/t5/GitHub-Actions/What-are-annotations/td-p/30770).
<details>
<summary>Go Workspace Example</summary>
The restrictions of annotations are the following:
```yaml
name: golangci-lint
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).
on:
pull_request:
push:
branches:
- main
- master
env:
GO_VERSION: stable
GOLANGCI_LINT_VERSION: v2.1
jobs:
detect-modules:
runs-on: ubuntu-latest
outputs:
modules: ${{ steps.set-modules.outputs.modules }}
steps:
- uses: actions/checkout@v4
- uses: actions/setup-go@v5
with:
go-version: ${{ env.GO_VERSION }}
- id: set-modules
run: echo "modules=$(go list -m -json | jq -s '.' | jq -c '[.[].Dir]')" >> $GITHUB_OUTPUT
golangci-lint:
needs: detect-modules
runs-on: ubuntu-latest
strategy:
matrix:
modules: ${{ fromJSON(needs.detect-modules.outputs.modules) }}
steps:
- uses: actions/checkout@v4
- uses: actions/setup-go@v5
with:
go-version: ${{ env.GO_VERSION }}
- name: golangci-lint ${{ matrix.modules }}
uses: golangci/golangci-lint-action@v8
with:
version: ${{ env.GOLANGCI_LINT_VERSION }}
working-directory: ${{ matrix.modules }}
```
</details>
<details>
<summary>Go Workspace Example (Multiple OS)</summary>
```yaml
# ./.github/workflows/golangci-lint.yml
name: golangci-lint (multi OS)
on:
pull_request:
push:
branches:
- main
- master
jobs:
golangci-lint:
strategy:
matrix:
go-version: [ stable, oldstable ]
os: [ubuntu-latest, macos-latest, windows-latest]
uses: ./.github/workflows/.golangci-lint-reusable.yml
with:
os: ${{ matrix.os }}
go-version: ${{ matrix.go-version }}
golangci-lint-version: v2.1
```
```yaml
# ./.github/workflows/.golangci-lint-reusable.yml
name: golangci-lint-reusable
on:
workflow_call:
inputs:
os:
description: 'OS'
required: true
type: string
go-version:
description: 'Go version'
required: true
type: string
default: stable
golangci-lint-version:
description: 'Golangci-lint version'
type: string
default: 'v2.1'
jobs:
detect-modules:
runs-on: ${{ inputs.os }}
outputs:
modules: ${{ steps.set-modules.outputs.modules }}
steps:
- uses: actions/checkout@v4
- uses: actions/setup-go@v5
with:
go-version: ${{ inputs.go-version }}
- id: set-modules
shell: bash # required for Windows to be able to use $GITHUB_OUTPUT https://github.com/actions/runner/issues/2224
run: echo "modules=$(go list -m -json | jq -s '.' | jq -c '[.[].Dir]')" >> $GITHUB_OUTPUT
golangci-lint:
needs: detect-modules
runs-on: ${{ inputs.os }}
strategy:
matrix:
modules: ${{ fromJSON(needs.detect-modules.outputs.modules) }}
steps:
- uses: actions/checkout@v4
- uses: actions/setup-go@v5
with:
go-version: ${{ inputs.go-version }}
- name: golangci-lint ${{ matrix.modules }}
uses: golangci/golangci-lint-action@v8
with:
version: ${{ inputs.golangci-lint-version }}
working-directory: ${{ matrix.modules }}
```
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
```
</details>
## Compatibility
* `v8.0.0` works with `golangci-lint` version >= `v2.1.0`
* `v7.0.0` supports golangci-lint v2 only.
* `v6.0.0+` removes `annotations` option, removes the default output format (`github-actions`).
* `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 because we forgot to change the minimum version of `golangci-lint` to `v1.28.3` ([issue](https://github.com/golangci/golangci-lint-action/issues/39))
* `v1.2.1` works with `golangci-lint` version >= `v1.14.0` ([issue](https://github.com/golangci/golangci-lint-action/issues/39))
## Options
### `version`
(optional)
The version of golangci-lint to use.
When `install-mode` is:
* `binary` (default): the value can be v2.3, v2.3.4, or `latest` to use the latest version.
* `goinstall`: the value can be v2.3.4, `latest`, or the hash of a commit.
* `none`: the value is ignored.
<details>
<summary>Example</summary>
```yml
uses: golangci/golangci-lint-action@v8
with:
version: v2.1
# ...
```
</details>
### `install-mode`
(optional)
The mode to install golangci-lint: it can be `binary`, `goinstall`, or `none`.
The default value is `binary`.
<details>
<summary>Example</summary>
```yml
uses: golangci/golangci-lint-action@v8
with:
install-mode: "goinstall"
# ...
```
</details>
### `github-token`
(optional)
When using the `only-new-issues` option, the GitHub API is used, so a token is required.
By default, it uses the `github.token` from the action.
<details>
<summary>Example</summary>
```yml
uses: golangci/golangci-lint-action@v8
with:
github-token: xxx
# ...
```
</details>
### `verify`
(optional)
This option is `true` by default.
If the GitHub Action detects a configuration file, validation will be performed unless this option is set to `false`.
If there is no configuration file, validation is skipped.
The JSON Schema used to validate the configuration depends on the version of golangci-lint you are using.
<details>
<summary>Example</summary>
```yml
uses: golangci/golangci-lint-action@v8
with:
verify: false
# ...
```
</details>
### `only-new-issues`
(optional)
Show only new issues.
The default value is `false`.
* `pull_request` and `pull_request_target`: the action gets the diff of the PR content from the [GitHub API](https://docs.github.com/en/rest/pulls/pulls?apiVersion=2022-11-28#get-a-pull-request) and uses it with `--new-from-patch`.
* `push`: the action gets the diff of the push content (the difference between commits before and after the push) from the [GitHub API](https://docs.github.com/en/rest/commits/commits?apiVersion=2022-11-28#compare-two-commits) and uses it with `--new-from-patch`.
* `merge_group`: the action gets the diff by using the `--new-from-rev` option (relies on git).
You should add the option `fetch-depth: 0` to the `actions/checkout` step.
<details>
<summary>Example</summary>
```yml
uses: golangci/golangci-lint-action@v8
with:
only-new-issues: true
# ...
```
</details>
### `working-directory`
(optional)
The golangci-lint working directory, useful for monorepos. The default is the project root.
<details>
<summary>Example</summary>
```yml
uses: golangci/golangci-lint-action@v8
with:
working-directory: somedir
# ...
```
</details>
### `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=`.
> [!IMPORTANT]
> Adding a `=` between the flag name and its value is important because the action parses the arguments on spaces.
<details>
<summary>Example</summary>
```yml
uses: golangci/golangci-lint-action@v8
with:
# In some rare cases,
# you may need to use `${{ github.workspace }}` as the base directory to reference your configuration file.
args: --config=/my/path/.golangci.yml --issues-exit-code=0
# ...
```
</details>
### `problem-matchers`
(optional)
Forces the usage of the embedded problem matchers.
By default, the [problem matcher of Go (`actions/setup-go`)](https://github.com/actions/setup-go/blob/main/matchers.json) already handles the default golangci-lint output (`text`).
Works only with the `text` format (the golangci-lint default).
https://golangci-lint.run/usage/configuration/#output-configuration
The default value is `false`.
<details>
<summary>Example</summary>
```yml
uses: golangci/golangci-lint-action@v8
with:
problem-matchers: true
# ...
```
</details>
### `skip-cache`
(optional)
If set to `true`, all caching functionality will be completely disabled.
This takes precedence over all other caching options.
The default value is `false`.
<details>
<summary>Example</summary>
```yml
uses: golangci/golangci-lint-action@v8
with:
skip-cache: true
# ...
```
</details>
### `skip-save-cache`
(optional)
If set to `true`, caches will not be saved, but they may still be restored, requiring `skip-cache: false`.
The default value is `false`.
<details>
<summary>Example</summary>
```yml
uses: golangci/golangci-lint-action@v8
with:
skip-save-cache: true
# ...
```
</details>
### `cache-invalidation-interval`
(optional)
Periodically invalidate a cache every `cache-invalidation-interval` days to ensure that outdated data is removed and fresh data is loaded.
The default value is `7`.
If the number is `<= 0`, the cache will always be invalidated (not recommended).
<details>
<summary>Example</summary>
```yml
uses: golangci/golangci-lint-action@v8
with:
cache-invalidation-interval: 15
# ...
```
</details>
## 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 as follows:
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).
Permissions required:
```yaml annotate
permissions:
# Required: allow read access to the content for analysis.
contents: read
# Optional: allow read access to pull requests. Use with `only-new-issues` option.
pull-requests: read
```
For annotations to work, use the default format output (`text`) and either use `actions/setup-go` in the job or enable the internal [problem matchers](#problem-matchers).
## 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/HEAD/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 the cache and the 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:
For example, in the [golangci-lint](https://github.com/golangci/golangci-lint) repository, running this action without the cache takes 50s, but with the cache it takes 14s:
* in parallel:
* 4s to restore 50 MB of cache
* 1s to find and install `golangci-lint`
@ -148,34 +541,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 a JavaScript-based action.
We don't use a Docker-based action because:
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)
1. Pulling Docker images is currently slow.
2. It is easier to use caching from [@actions/cache](https://github.com/actions/toolkit/tree/HEAD/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` architectures.
Inside our action we perform 3 steps:
Inside our action, we perform three 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)
2. Run `golangci-lint` with specified by user `args`
3. Save cache for later builds
1. Set up the environment in parallel:
* Restore the [cache](https://github.com/actions/cache) from previous analyses.
* Fetch the [action config](https://github.com/golangci/golangci-lint/blob/HEAD/assets/github-action-config.json) and find the latest `golangci-lint` patch version for the required version
(users of this action can specify only the 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/HEAD/packages/tool-cache).
2. Run `golangci-lint` with the arguments `args` specified by the user.
3. Save the 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-{runner_os}-{working_directory}-{interval_number}-{go.mod_hash}`.
The interval number ensures that we periodically invalidate our cache (every 7 days).
The `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-{runner_os}-{working_directory}-{interval_number}-`.
GitHub matches keys by prefix if there is no exact match for the primary cache.
This scheme is basic and needs improvements. Pull requests and ideas are welcome.
## Development of this action
1. Install [act](https://github.com/nektos/act#installation)
2. Make a symlink for `act` to work properly: `ln -s . golangci-lint-action`
3. Prepare deps once: `npm run prepare-deps`
4. Run `npm run local` after any change to test it

View File

@ -1,43 +1,63 @@
name: "Run golangci-lint"
description: "Official golangci-lint action with line-attached annotations for found issues, caching and parallel execution."
# 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 v2.3, v2.3.4, or `latest` to use the latest version.
- `goinstall`: the value can be v2.3.4, `latest`, or the hash of a commit.
- `none`: the value is ignored.
required: false
args:
description: "golangci-lint command line arguments"
default: ""
install-mode:
description: "The mode to install golangci-lint. It can be 'binary', 'goinstall', or 'none'."
default: "binary"
required: false
working-directory:
description: "golangci-lint working directory, default is project root"
description: "golangci-lint working directory. The default is the project root."
required: false
github-token:
description: "the token is used for fetching patch of a pull request to show only new issues"
description: "The token is used for fetching the patch of a pull request to show only new issues."
default: ${{ github.token }}
required: false
verify:
description: "If set to true, the action verifies the configuration file against the JSONSchema."
default: 'true'
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
description: "If set to true and the action runs on a pull request, the action outputs only newly found issues."
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
If set to true, all caching functionality will be completely disabled.
This takes precedence over all other caching options.
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, 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
problem-matchers:
description: "Force the usage of the embedded problem matchers."
default: 'false'
required: false
args:
description: "golangci-lint command line arguments."
default: ""
required: false
cache-invalidation-interval:
description: "Periodically invalidate a cache when new code is added (number of days)."
default: '7'
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"

53924
dist/post_run/index.js generated vendored

File diff suppressed because one or more lines are too long

53924
dist/run/index.js generated vendored

File diff suppressed because one or more lines are too long

2
go.mod
View File

@ -1,3 +1,3 @@
module github.com/golangci/golangci-lint-action
go 1.14
go 1.23

5093
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@ -1,6 +1,6 @@
{
"name": "golanci-lint-action",
"version": "3.1.0",
"version": "8.0.0",
"private": true,
"description": "golangci-lint github action",
"main": "dist/main.js",
@ -24,26 +24,30 @@
"author": "golangci",
"license": "MIT",
"dependencies": {
"@actions/cache": "^3.0.6",
"@actions/core": "^1.10.0",
"@actions/cache": "^4.0.3",
"@actions/core": "^1.11.1",
"@actions/exec": "^1.1.1",
"@actions/github": "^5.1.1",
"@actions/http-client": "^2.0.1",
"@actions/tool-cache": "^2.0.1",
"@types/semver": "^7.3.13",
"@types/tmp": "^0.2.3",
"tmp": "^0.2.1"
"@actions/github": "^6.0.1",
"@actions/http-client": "^2.2.3",
"@octokit/plugin-retry": "^6.1.0",
"@actions/tool-cache": "^2.0.2",
"@types/node": "^22.15.21",
"@types/semver": "^7.7.0",
"@types/tmp": "^0.2.6",
"@types/which": "^3.0.4",
"tmp": "^0.2.3",
"which": "^5.0.0"
},
"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": "^8.32.1",
"@typescript-eslint/parser": "^8.32.1",
"@vercel/ncc": "^0.38.3",
"eslint": "^8.57.1",
"eslint-config-prettier": "^10.1.5",
"eslint-plugin-import": "^2.31.0",
"eslint-plugin-prettier": "^5.4.0",
"eslint-plugin-simple-import-sort": "^12.1.1",
"prettier": "^3.5.3",
"typescript": "^5.8.3"
}
}

17
problem-matchers.json Normal file
View File

@ -0,0 +1,17 @@
{
"problemMatcher": [
{
"owner": "golangci-lint-colored-line-number",
"severity": "error",
"pattern": [
{
"regexp": "^([^:]+):(\\d+):(?:(\\d+):)?\\s+(.+ \\(.+\\))$",
"file": 1,
"line": 2,
"column": 3,
"message": 4
}
]
}
]
}

View File

@ -0,0 +1,7 @@
version: "2"
output:
show-stats: true
sort-order:
- file
- linter

View File

@ -1,5 +1,205 @@
module sample
go 1.15
go 1.23.0
require github.com/golangci/golangci-lint v1.37.1
require github.com/golangci/golangci-lint/v2 v2.1.5
require (
4d63.com/gocheckcompilerdirectives v1.3.0 // indirect
4d63.com/gochecknoglobals v0.2.2 // indirect
github.com/4meepo/tagalign v1.4.2 // indirect
github.com/Abirdcfly/dupword v0.1.3 // indirect
github.com/Antonboom/errname v1.1.0 // indirect
github.com/Antonboom/nilnil v1.1.0 // indirect
github.com/Antonboom/testifylint v1.6.1 // indirect
github.com/BurntSushi/toml v1.5.0 // indirect
github.com/Djarvur/go-err113 v0.0.0-20210108212216-aea10b59be24 // indirect
github.com/GaijinEntertainment/go-exhaustruct/v3 v3.3.1 // indirect
github.com/Masterminds/semver/v3 v3.3.1 // indirect
github.com/OpenPeeDeeP/depguard/v2 v2.2.1 // indirect
github.com/alecthomas/chroma/v2 v2.16.0 // indirect
github.com/alecthomas/go-check-sumtype v0.3.1 // indirect
github.com/alexkohler/nakedret/v2 v2.0.6 // indirect
github.com/alexkohler/prealloc v1.0.0 // indirect
github.com/alingse/asasalint v0.0.11 // indirect
github.com/alingse/nilnesserr v0.2.0 // indirect
github.com/ashanbrown/forbidigo v1.6.0 // indirect
github.com/ashanbrown/makezero v1.2.0 // indirect
github.com/aymanbagabas/go-osc52/v2 v2.0.1 // indirect
github.com/beorn7/perks v1.0.1 // indirect
github.com/bkielbasa/cyclop v1.2.3 // indirect
github.com/blizzy78/varnamelen v0.8.0 // indirect
github.com/bombsimon/wsl/v4 v4.7.0 // indirect
github.com/breml/bidichk v0.3.3 // indirect
github.com/breml/errchkjson v0.4.1 // indirect
github.com/butuzov/ireturn v0.4.0 // indirect
github.com/butuzov/mirror v1.3.0 // indirect
github.com/catenacyber/perfsprint v0.9.1 // indirect
github.com/ccojocar/zxcvbn-go v1.0.2 // indirect
github.com/cespare/xxhash/v2 v2.3.0 // indirect
github.com/charithe/durationcheck v0.0.10 // indirect
github.com/charmbracelet/colorprofile v0.2.3-0.20250311203215-f60798e515dc // indirect
github.com/charmbracelet/lipgloss v1.1.0 // indirect
github.com/charmbracelet/x/ansi v0.8.0 // indirect
github.com/charmbracelet/x/cellbuf v0.0.13-0.20250311204145-2c3ea96c31dd // indirect
github.com/charmbracelet/x/term v0.2.1 // indirect
github.com/chavacava/garif v0.1.0 // indirect
github.com/ckaznocha/intrange v0.3.1 // indirect
github.com/curioswitch/go-reassign v0.3.0 // indirect
github.com/daixiang0/gci v0.13.6 // indirect
github.com/dave/dst v0.27.3 // indirect
github.com/davecgh/go-spew v1.1.1 // indirect
github.com/denis-tingaikin/go-header v0.5.0 // indirect
github.com/dlclark/regexp2 v1.11.5 // indirect
github.com/ettle/strcase v0.2.0 // indirect
github.com/fatih/color v1.18.0 // indirect
github.com/fatih/structtag v1.2.0 // indirect
github.com/firefart/nonamedreturns v1.0.6 // indirect
github.com/fsnotify/fsnotify v1.5.4 // indirect
github.com/fzipp/gocyclo v0.6.0 // indirect
github.com/ghostiam/protogetter v0.3.15 // indirect
github.com/go-critic/go-critic v0.13.0 // indirect
github.com/go-toolsmith/astcast v1.1.0 // indirect
github.com/go-toolsmith/astcopy v1.1.0 // indirect
github.com/go-toolsmith/astequal v1.2.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-viper/mapstructure/v2 v2.2.1 // indirect
github.com/go-xmlfmt/xmlfmt v1.1.3 // indirect
github.com/gobwas/glob v0.2.3 // indirect
github.com/gofrs/flock v0.12.1 // indirect
github.com/golang/protobuf v1.5.3 // indirect
github.com/golangci/dupl v0.0.0-20250308024227-f665c8d69b32 // indirect
github.com/golangci/go-printf-func-name v0.1.0 // indirect
github.com/golangci/gofmt v0.0.0-20250106114630-d62b90e6713d // indirect
github.com/golangci/golines v0.0.0-20250217134842-442fd0091d95 // indirect
github.com/golangci/misspell v0.6.0 // indirect
github.com/golangci/plugin-module-register v0.1.1 // indirect
github.com/golangci/revgrep v0.8.0 // indirect
github.com/golangci/unconvert v0.0.0-20250410112200-a129a6e6413e // indirect
github.com/google/go-cmp v0.7.0 // indirect
github.com/gordonklaus/ineffassign v0.1.0 // indirect
github.com/gostaticanalysis/analysisutil v0.7.1 // indirect
github.com/gostaticanalysis/comment v1.5.0 // indirect
github.com/gostaticanalysis/forcetypeassert v0.2.0 // indirect
github.com/gostaticanalysis/nilerr v0.1.1 // indirect
github.com/hashicorp/go-immutable-radix/v2 v2.1.0 // indirect
github.com/hashicorp/go-version v1.7.0 // indirect
github.com/hashicorp/golang-lru/v2 v2.0.7 // indirect
github.com/hashicorp/hcl v1.0.0 // indirect
github.com/hexops/gotextdiff v1.0.3 // indirect
github.com/inconshreveable/mousetrap v1.1.0 // indirect
github.com/jgautheron/goconst v1.8.1 // indirect
github.com/jingyugao/rowserrcheck v1.1.1 // indirect
github.com/jjti/go-spancheck v0.6.4 // indirect
github.com/julz/importas v0.2.0 // indirect
github.com/karamaru-alpha/copyloopvar v1.2.1 // indirect
github.com/kisielk/errcheck v1.9.0 // indirect
github.com/kkHAIKE/contextcheck v1.1.6 // indirect
github.com/kulti/thelper v0.6.3 // indirect
github.com/kunwardeep/paralleltest v1.0.14 // indirect
github.com/lasiar/canonicalheader v1.1.2 // indirect
github.com/ldez/exptostd v0.4.3 // indirect
github.com/ldez/gomoddirectives v0.6.1 // indirect
github.com/ldez/grignotin v0.9.0 // indirect
github.com/ldez/tagliatelle v0.7.1 // indirect
github.com/ldez/usetesting v0.4.3 // indirect
github.com/leonklingele/grouper v1.1.2 // indirect
github.com/lucasb-eyer/go-colorful v1.2.0 // indirect
github.com/macabu/inamedparam v0.2.0 // indirect
github.com/magiconair/properties v1.8.6 // indirect
github.com/manuelarte/funcorder v0.2.1 // indirect
github.com/maratori/testableexamples v1.0.0 // indirect
github.com/maratori/testpackage v1.1.1 // indirect
github.com/matoous/godox v1.1.0 // indirect
github.com/mattn/go-colorable v0.1.14 // indirect
github.com/mattn/go-isatty v0.0.20 // indirect
github.com/mattn/go-runewidth v0.0.16 // indirect
github.com/matttproud/golang_protobuf_extensions v1.0.1 // indirect
github.com/mgechev/revive v1.9.0 // indirect
github.com/mitchellh/go-homedir v1.1.0 // indirect
github.com/mitchellh/mapstructure v1.5.0 // indirect
github.com/moricho/tparallel v0.3.2 // indirect
github.com/muesli/termenv v0.16.0 // indirect
github.com/nakabonne/nestif v0.3.1 // indirect
github.com/nishanths/exhaustive v0.12.0 // indirect
github.com/nishanths/predeclared v0.2.2 // indirect
github.com/nunnatsa/ginkgolinter v0.19.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.2.4 // indirect
github.com/pmezard/go-difflib v1.0.0 // indirect
github.com/polyfloyd/go-errorlint v1.8.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.4.4 // indirect
github.com/quasilyte/go-ruleguard/dsl v0.3.22 // indirect
github.com/quasilyte/gogrep v0.5.0 // indirect
github.com/quasilyte/regex/syntax v0.0.0-20210819130434-b3f0c404a727 // indirect
github.com/quasilyte/stdinfo v0.0.0-20220114132959-f7386bf02567 // indirect
github.com/raeperd/recvcheck v0.2.0 // indirect
github.com/rivo/uniseg v0.4.7 // indirect
github.com/rogpeppe/go-internal v1.14.1 // indirect
github.com/ryancurrah/gomodguard v1.4.1 // indirect
github.com/ryanrolds/sqlclosecheck v0.5.1 // indirect
github.com/sanposhiho/wastedassign/v2 v2.1.0 // indirect
github.com/santhosh-tekuri/jsonschema/v6 v6.0.1 // indirect
github.com/sashamelentyev/interfacebloat v1.1.0 // indirect
github.com/sashamelentyev/usestdlibvars v1.28.0 // indirect
github.com/securego/gosec/v2 v2.22.3 // indirect
github.com/sirupsen/logrus v1.9.3 // indirect
github.com/sivchari/containedctx v1.0.3 // indirect
github.com/sonatard/noctx v0.1.0 // indirect
github.com/sourcegraph/go-diff v0.7.0 // indirect
github.com/spf13/afero v1.14.0 // indirect
github.com/spf13/cast v1.5.0 // indirect
github.com/spf13/cobra v1.9.1 // indirect
github.com/spf13/jwalterweatherman v1.1.0 // indirect
github.com/spf13/pflag v1.0.6 // 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.2.0 // indirect
github.com/stretchr/objx v0.5.2 // indirect
github.com/stretchr/testify v1.10.0 // indirect
github.com/subosito/gotenv v1.4.1 // indirect
github.com/tdakkota/asciicheck v0.4.1 // indirect
github.com/tetafro/godot v1.5.0 // indirect
github.com/timakin/bodyclose v0.0.0-20241222091800-1db5c5ca4d67 // indirect
github.com/timonwong/loggercheck v0.11.0 // indirect
github.com/tomarrell/wrapcheck/v2 v2.11.0 // indirect
github.com/tommy-muehle/go-mnd/v2 v2.5.1 // indirect
github.com/ultraware/funlen v0.2.0 // indirect
github.com/ultraware/whitespace v0.2.0 // indirect
github.com/uudashr/gocognit v1.2.0 // indirect
github.com/uudashr/iface v1.3.1 // indirect
github.com/xen0n/gosmopolitan v1.3.0 // indirect
github.com/xo/terminfo v0.0.0-20220910002029-abceb7e1c41e // indirect
github.com/yagipy/maintidx v1.0.0 // indirect
github.com/yeya24/promlinter v0.3.0 // indirect
github.com/ykadowak/zerologlint v0.1.5 // indirect
gitlab.com/bosi/decorder v0.4.2 // indirect
go-simpler.org/musttag v0.13.0 // indirect
go-simpler.org/sloglint v0.11.0 // indirect
go.augendre.info/fatcontext v0.8.0 // indirect
go.uber.org/atomic v1.7.0 // indirect
go.uber.org/automaxprocs v1.6.0 // indirect
go.uber.org/multierr v1.6.0 // indirect
go.uber.org/zap v1.24.0 // indirect
golang.org/x/exp/typeparams v0.0.0-20250210185358-939b2ce775ac // indirect
golang.org/x/mod v0.24.0 // indirect
golang.org/x/sync v0.13.0 // indirect
golang.org/x/sys v0.32.0 // indirect
golang.org/x/text v0.24.0 // indirect
golang.org/x/tools v0.32.0 // indirect
google.golang.org/protobuf v1.36.6 // 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.6.1 // indirect
mvdan.cc/gofumpt v0.8.0 // indirect
mvdan.cc/unparam v0.0.0-20250301125049-0df0534333a4 // indirect
)

File diff suppressed because it is too large Load Diff

View File

@ -1,7 +1,7 @@
// +build tools
//go:build tools
package main
import (
_ "github.com/golangci/golangci-lint/cmd/golangci-lint"
_ "github.com/golangci/golangci-lint/v2/cmd/golangci-lint"
)

View File

@ -0,0 +1,7 @@
version: "2"
output:
show-stats: true
sort-order:
- file
- linter

210
sample-go-tool/go.mod Normal file
View File

@ -0,0 +1,210 @@
module sample
go 1.24
toolchain go1.24.0
tool github.com/golangci/golangci-lint/v2/cmd/golangci-lint
require (
4d63.com/gocheckcompilerdirectives v1.3.0 // indirect
4d63.com/gochecknoglobals v0.2.2 // indirect
github.com/4meepo/tagalign v1.4.2 // indirect
github.com/Abirdcfly/dupword v0.1.3 // indirect
github.com/Antonboom/errname v1.1.0 // indirect
github.com/Antonboom/nilnil v1.1.0 // indirect
github.com/Antonboom/testifylint v1.6.1 // indirect
github.com/BurntSushi/toml v1.5.0 // indirect
github.com/Crocmagnon/fatcontext v0.7.1 // indirect
github.com/Djarvur/go-err113 v0.0.0-20210108212216-aea10b59be24 // indirect
github.com/GaijinEntertainment/go-exhaustruct/v3 v3.3.1 // indirect
github.com/Masterminds/semver/v3 v3.3.1 // indirect
github.com/OpenPeeDeeP/depguard/v2 v2.2.1 // indirect
github.com/alecthomas/chroma/v2 v2.17.2 // indirect
github.com/alecthomas/go-check-sumtype v0.3.1 // indirect
github.com/alexkohler/nakedret/v2 v2.0.6 // indirect
github.com/alexkohler/prealloc v1.0.0 // indirect
github.com/alingse/asasalint v0.0.11 // indirect
github.com/alingse/nilnesserr v0.2.0 // indirect
github.com/ashanbrown/forbidigo v1.6.0 // indirect
github.com/ashanbrown/makezero v1.2.0 // indirect
github.com/aymanbagabas/go-osc52/v2 v2.0.1 // indirect
github.com/beorn7/perks v1.0.1 // indirect
github.com/bkielbasa/cyclop v1.2.3 // indirect
github.com/blizzy78/varnamelen v0.8.0 // indirect
github.com/bombsimon/wsl/v4 v4.7.0 // indirect
github.com/breml/bidichk v0.3.3 // indirect
github.com/breml/errchkjson v0.4.1 // indirect
github.com/butuzov/ireturn v0.4.0 // indirect
github.com/butuzov/mirror v1.3.0 // indirect
github.com/catenacyber/perfsprint v0.9.1 // indirect
github.com/ccojocar/zxcvbn-go v1.0.2 // indirect
github.com/cespare/xxhash/v2 v2.3.0 // indirect
github.com/charithe/durationcheck v0.0.10 // indirect
github.com/charmbracelet/colorprofile v0.2.3-0.20250311203215-f60798e515dc // indirect
github.com/charmbracelet/lipgloss v1.1.0 // indirect
github.com/charmbracelet/x/ansi v0.8.0 // indirect
github.com/charmbracelet/x/cellbuf v0.0.13-0.20250311204145-2c3ea96c31dd // indirect
github.com/charmbracelet/x/term v0.2.1 // indirect
github.com/chavacava/garif v0.1.0 // indirect
github.com/ckaznocha/intrange v0.3.1 // indirect
github.com/curioswitch/go-reassign v0.3.0 // indirect
github.com/daixiang0/gci v0.13.6 // indirect
github.com/dave/dst v0.27.3 // indirect
github.com/davecgh/go-spew v1.1.1 // indirect
github.com/denis-tingaikin/go-header v0.5.0 // indirect
github.com/dlclark/regexp2 v1.11.5 // indirect
github.com/ettle/strcase v0.2.0 // indirect
github.com/fatih/color v1.18.0 // indirect
github.com/fatih/structtag v1.2.0 // indirect
github.com/firefart/nonamedreturns v1.0.6 // indirect
github.com/fsnotify/fsnotify v1.5.4 // indirect
github.com/fzipp/gocyclo v0.6.0 // indirect
github.com/ghostiam/protogetter v0.3.15 // indirect
github.com/go-critic/go-critic v0.13.0 // indirect
github.com/go-toolsmith/astcast v1.1.0 // indirect
github.com/go-toolsmith/astcopy v1.1.0 // indirect
github.com/go-toolsmith/astequal v1.2.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-viper/mapstructure/v2 v2.2.1 // indirect
github.com/go-xmlfmt/xmlfmt v1.1.3 // indirect
github.com/gobwas/glob v0.2.3 // indirect
github.com/gofrs/flock v0.12.1 // indirect
github.com/golang/protobuf v1.5.3 // indirect
github.com/golangci/dupl v0.0.0-20250308024227-f665c8d69b32 // indirect
github.com/golangci/go-printf-func-name v0.1.0 // indirect
github.com/golangci/gofmt v0.0.0-20250106114630-d62b90e6713d // indirect
github.com/golangci/golangci-lint/v2 v2.1.6 // indirect
github.com/golangci/golines v0.0.0-20250217134842-442fd0091d95 // indirect
github.com/golangci/misspell v0.6.0 // indirect
github.com/golangci/plugin-module-register v0.1.1 // indirect
github.com/golangci/revgrep v0.8.0 // indirect
github.com/golangci/unconvert v0.0.0-20250410112200-a129a6e6413e // indirect
github.com/google/go-cmp v0.7.0 // indirect
github.com/gordonklaus/ineffassign v0.1.0 // indirect
github.com/gostaticanalysis/analysisutil v0.7.1 // indirect
github.com/gostaticanalysis/comment v1.5.0 // indirect
github.com/gostaticanalysis/forcetypeassert v0.2.0 // indirect
github.com/gostaticanalysis/nilerr v0.1.1 // indirect
github.com/hashicorp/go-immutable-radix/v2 v2.1.0 // indirect
github.com/hashicorp/go-version v1.7.0 // indirect
github.com/hashicorp/golang-lru/v2 v2.0.7 // indirect
github.com/hashicorp/hcl v1.0.0 // indirect
github.com/hexops/gotextdiff v1.0.3 // indirect
github.com/inconshreveable/mousetrap v1.1.0 // indirect
github.com/jgautheron/goconst v1.8.1 // indirect
github.com/jingyugao/rowserrcheck v1.1.1 // indirect
github.com/jjti/go-spancheck v0.6.4 // indirect
github.com/julz/importas v0.2.0 // indirect
github.com/karamaru-alpha/copyloopvar v1.2.1 // indirect
github.com/kisielk/errcheck v1.9.0 // indirect
github.com/kkHAIKE/contextcheck v1.1.6 // indirect
github.com/kulti/thelper v0.6.3 // indirect
github.com/kunwardeep/paralleltest v1.0.14 // indirect
github.com/lasiar/canonicalheader v1.1.2 // indirect
github.com/ldez/exptostd v0.4.3 // indirect
github.com/ldez/gomoddirectives v0.6.1 // indirect
github.com/ldez/grignotin v0.9.0 // indirect
github.com/ldez/tagliatelle v0.7.1 // indirect
github.com/ldez/usetesting v0.4.3 // indirect
github.com/leonklingele/grouper v1.1.2 // indirect
github.com/lucasb-eyer/go-colorful v1.2.0 // indirect
github.com/macabu/inamedparam v0.2.0 // indirect
github.com/magiconair/properties v1.8.6 // indirect
github.com/manuelarte/funcorder v0.2.1 // indirect
github.com/maratori/testableexamples v1.0.0 // indirect
github.com/maratori/testpackage v1.1.1 // indirect
github.com/matoous/godox v1.1.0 // indirect
github.com/mattn/go-colorable v0.1.14 // indirect
github.com/mattn/go-isatty v0.0.20 // indirect
github.com/mattn/go-runewidth v0.0.16 // indirect
github.com/matttproud/golang_protobuf_extensions v1.0.1 // indirect
github.com/mgechev/revive v1.9.0 // indirect
github.com/mitchellh/go-homedir v1.1.0 // indirect
github.com/mitchellh/mapstructure v1.5.0 // indirect
github.com/moricho/tparallel v0.3.2 // indirect
github.com/muesli/termenv v0.16.0 // indirect
github.com/nakabonne/nestif v0.3.1 // indirect
github.com/nishanths/exhaustive v0.12.0 // indirect
github.com/nishanths/predeclared v0.2.2 // indirect
github.com/nunnatsa/ginkgolinter v0.19.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.2.4 // indirect
github.com/pmezard/go-difflib v1.0.0 // indirect
github.com/polyfloyd/go-errorlint v1.8.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.4.4 // indirect
github.com/quasilyte/go-ruleguard/dsl v0.3.22 // indirect
github.com/quasilyte/gogrep v0.5.0 // indirect
github.com/quasilyte/regex/syntax v0.0.0-20210819130434-b3f0c404a727 // indirect
github.com/quasilyte/stdinfo v0.0.0-20220114132959-f7386bf02567 // indirect
github.com/raeperd/recvcheck v0.2.0 // indirect
github.com/rivo/uniseg v0.4.7 // indirect
github.com/rogpeppe/go-internal v1.14.1 // indirect
github.com/ryancurrah/gomodguard v1.4.1 // indirect
github.com/ryanrolds/sqlclosecheck v0.5.1 // indirect
github.com/sanposhiho/wastedassign/v2 v2.1.0 // indirect
github.com/santhosh-tekuri/jsonschema/v6 v6.0.1 // indirect
github.com/sashamelentyev/interfacebloat v1.1.0 // indirect
github.com/sashamelentyev/usestdlibvars v1.28.0 // indirect
github.com/securego/gosec/v2 v2.22.3 // indirect
github.com/sirupsen/logrus v1.9.3 // indirect
github.com/sivchari/containedctx v1.0.3 // indirect
github.com/sivchari/tenv v1.12.1 // indirect
github.com/sonatard/noctx v0.1.0 // indirect
github.com/sourcegraph/go-diff v0.7.0 // indirect
github.com/spf13/afero v1.14.0 // indirect
github.com/spf13/cast v1.5.0 // indirect
github.com/spf13/cobra v1.9.1 // indirect
github.com/spf13/jwalterweatherman v1.1.0 // indirect
github.com/spf13/pflag v1.0.6 // 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.2.0 // indirect
github.com/stretchr/objx v0.5.2 // indirect
github.com/stretchr/testify v1.10.0 // indirect
github.com/subosito/gotenv v1.4.1 // indirect
github.com/tdakkota/asciicheck v0.4.1 // indirect
github.com/tetafro/godot v1.5.1 // indirect
github.com/timakin/bodyclose v0.0.0-20241222091800-1db5c5ca4d67 // indirect
github.com/timonwong/loggercheck v0.11.0 // indirect
github.com/tomarrell/wrapcheck/v2 v2.11.0 // indirect
github.com/tommy-muehle/go-mnd/v2 v2.5.1 // indirect
github.com/ultraware/funlen v0.2.0 // indirect
github.com/ultraware/whitespace v0.2.0 // indirect
github.com/uudashr/gocognit v1.2.0 // indirect
github.com/uudashr/iface v1.3.1 // indirect
github.com/xen0n/gosmopolitan v1.3.0 // indirect
github.com/xo/terminfo v0.0.0-20220910002029-abceb7e1c41e // indirect
github.com/yagipy/maintidx v1.0.0 // indirect
github.com/yeya24/promlinter v0.3.0 // indirect
github.com/ykadowak/zerologlint v0.1.5 // indirect
gitlab.com/bosi/decorder v0.4.2 // indirect
go-simpler.org/musttag v0.13.1 // indirect
go-simpler.org/sloglint v0.11.0 // indirect
go.augendre.info/fatcontext v0.8.0 // indirect
go.uber.org/atomic v1.7.0 // indirect
go.uber.org/automaxprocs v1.6.0 // indirect
go.uber.org/multierr v1.6.0 // indirect
go.uber.org/zap v1.24.0 // indirect
golang.org/x/exp/typeparams v0.0.0-20250210185358-939b2ce775ac // indirect
golang.org/x/mod v0.24.0 // indirect
golang.org/x/sync v0.13.0 // indirect
golang.org/x/sys v0.32.0 // indirect
golang.org/x/text v0.24.0 // indirect
golang.org/x/tools v0.32.0 // indirect
google.golang.org/protobuf v1.36.6 // 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.6.1 // indirect
mvdan.cc/gofumpt v0.8.0 // indirect
mvdan.cc/unparam v0.0.0-20250301125049-0df0534333a4 // indirect
)

1079
sample-go-tool/go.sum Normal file

File diff suppressed because it is too large Load Diff

26
sample-go-tool/sample.go Normal file
View File

@ -0,0 +1,26 @@
// Package main is used as test input for golangci action.
package main
import (
"crypto/md5"
"encoding/hex"
"errors"
)
// Hash~
func Hash(data string) string {
retError()
retError2()
h := md5.New()
h.Write([]byte(data))
return hex.EncodeToString(h.Sum(nil))
}
func retError() error {
return errors.New("err")
}
func retError2() error {
return errors.New("err2")
}

View File

@ -20,31 +20,18 @@ function checksumFile(hashName: string, path: string): Promise<string> {
const pathExists = async (path: string): Promise<boolean> => !!(await fs.promises.stat(path).catch(() => false))
const getLintCacheDir = (): string => {
return path.resolve(`${process.env.HOME}/.cache/golangci-lint`)
}
const home = process.platform === "win32" ? process.env.USERPROFILE : process.env.HOME
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
return path.resolve(`${home}`, `.cache`, `golangci-lint`)
}
const getIntervalKey = (invalidationIntervalDays: number): string => {
const now = new Date()
if (invalidationIntervalDays <= 0) {
return `${now.getTime()}`
}
const secondsSinceEpoch = now.getTime() / 1000
const intervalNumber = Math.floor(secondsSinceEpoch / (invalidationIntervalDays * 86400))
return intervalNumber.toString()
@ -52,24 +39,42 @@ const getIntervalKey = (invalidationIntervalDays: number): string => {
async function buildCacheKeys(): Promise<string[]> {
const keys = []
// Cache by OS.
let cacheKey = `golangci-lint.cache-${process.env?.RUNNER_OS}-`
// Get working directory from input
const workingDirectory = core.getInput(`working-directory`)
if (workingDirectory) {
cacheKey += `${workingDirectory}-`
}
// Periodically invalidate a cache because a new code being added.
// TODO: configure it via inputs.
let cacheKey = `golangci-lint.cache-${getIntervalKey(7)}-`
const invalidationIntervalDays = parseInt(core.getInput(`cache-invalidation-interval`, { required: true }).trim())
cacheKey += `${getIntervalKey(invalidationIntervalDays)}-`
keys.push(cacheKey)
if (await pathExists(`go.mod`)) {
// 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`
}
keys.push(cacheKey)
return keys
}
export async function restoreCache(): Promise<void> {
if (core.getInput(`skip-cache`, { required: true }).trim() == "true") return
if (core.getBooleanInput(`skip-cache`, { required: true })) return
if (!utils.isValidEvent()) {
utils.logWarning(
@ -93,7 +98,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
@ -111,7 +116,8 @@ export async function restoreCache(): Promise<void> {
}
export async function saveCache(): Promise<void> {
if (core.getInput(`skip-cache`, { required: true }).trim() == "true") return
if (core.getBooleanInput(`skip-cache`, { required: true })) return
if (core.getBooleanInput(`skip-save-cache`, { required: true })) return
// Validate inputs, this can cause task failure
if (!utils.isValidEvent()) {
@ -123,7 +129,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,43 +1,131 @@
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 which from "which"
import { VersionConfig } from "./version"
import { getVersion, VersionInfo } from "./version"
const downloadURL = "https://github.com/golangci/golangci-lint/releases/download"
const execShellCommand = promisify(exec)
const getAssetURL = (versionConfig: VersionConfig): string => {
let ext = "tar.gz"
let platform = os.platform().toString()
switch (platform) {
case "win32":
platform = "windows"
ext = "zip"
break
}
let arch = os.arch()
switch (arch) {
case "x64":
arch = "amd64"
break
case "x32":
case "ia32":
arch = "386"
break
}
const noPrefix = versionConfig.TargetVersion.slice(1)
return `${downloadURL}/${versionConfig.TargetVersion}/golangci-lint-${noPrefix}-${platform}-${arch}.${ext}`
export enum InstallMode {
Binary = "binary",
GoInstall = "goinstall",
None = "none",
}
// The installLint returns path to installed binary of golangci-lint.
export async function installLint(versionConfig: VersionConfig): Promise<string> {
core.info(`Installing golangci-lint ${versionConfig.TargetVersion}...`)
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.
*
* @returns path to installed binary of golangci-lint.
*/
export async function install(): Promise<string> {
const mode = core.getInput("install-mode").toLowerCase()
if (mode === InstallMode.None) {
const binPath = await which("golangci-lint", { nothrow: true })
if (!binPath) {
throw new Error("golangci-lint binary not found in the PATH")
}
return binPath
}
const versionInfo = await getVersion(<InstallMode>mode)
return await installBinary(versionInfo, <InstallMode>mode)
}
/**
* Install golangci-lint.
*
* @param versionInfo information about version to install.
* @param mode installation mode.
* @returns path to installed binary of golangci-lint.
*/
export async function installBinary(versionInfo: VersionInfo, mode: InstallMode): Promise<string> {
core.info(`Installation mode: ${mode}`)
switch (mode) {
case InstallMode.Binary:
return installBin(versionInfo)
case InstallMode.GoInstall:
return goInstall(versionInfo)
default:
return installBin(versionInfo)
}
}
/**
* Install golangci-lint via `go install`.
*
* @param versionInfo information about version to install.
* @returns path to installed binary of golangci-lint.
*/
async function goInstall(versionInfo: VersionInfo): Promise<string> {
core.info(`Installing golangci-lint ${versionInfo.TargetVersion}...`)
const startedAt = Date.now()
const assetURL = getAssetURL(versionConfig)
core.info(`Downloading ${assetURL} ...`)
const options: ExecOptions = { env: { ...process.env, CGO_ENABLED: "1" } }
const exres = await execShellCommand(
`go install github.com/golangci/golangci-lint/v2/cmd/golangci-lint@${versionInfo.TargetVersion}`,
options
)
printOutput(exres)
const res = await execShellCommand(
`go install -n github.com/golangci/golangci-lint/v2/cmd/golangci-lint@${versionInfo.TargetVersion}`,
options
)
printOutput(res)
// The output of `go install -n` when the binary is already installed is `touch <path_to_the_binary>`.
const binPath = res.stderr
.split(/\r?\n/)
.map((v) => v.trimStart().trimEnd())
.filter((v) => v.startsWith("touch "))
.reduce((a, b) => a + b, "")
.split(` `, 2)[1]
core.info(`Installed golangci-lint into ${binPath} in ${Date.now() - startedAt}ms`)
return binPath
}
/**
* Install golangci-lint via the precompiled binary.
*
* @param versionInfo information about version to install.
* @returns path to installed binary of golangci-lint.
*/
async function installBin(versionInfo: VersionInfo): Promise<string> {
core.info(`Installing golangci-lint binary ${versionInfo.TargetVersion}...`)
const startedAt = Date.now()
const assetURL = getAssetURL(versionInfo)
core.info(`Downloading binary ${assetURL} ...`)
const archivePath = await tc.downloadTool(assetURL)
let extractedDir = ""
let repl = /\.tar\.gz$/
if (assetURL.endsWith("zip")) {
@ -54,7 +142,39 @@ 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
const binPath = path.join(extractedDir, dirName, `golangci-lint`)
core.info(`Installed golangci-lint into ${binPath} in ${Date.now() - startedAt}ms`)
return binPath
}
function getAssetURL(versionInfo: VersionInfo): string {
let ext = "tar.gz"
let platform = os.platform().toString()
switch (platform) {
case "win32":
platform = "windows"
ext = "zip"
break
}
let arch = os.arch()
switch (arch) {
case "arm64":
arch = "arm64"
break
case "x64":
arch = "amd64"
break
case "x32":
case "ia32":
arch = "386"
break
}
const noPrefix = versionInfo.TargetVersion.slice(1)
return `https://github.com/golangci/golangci-lint/releases/download/${versionInfo.TargetVersion}/golangci-lint-${noPrefix}-${platform}-${arch}.${ext}`
}

120
src/patch.ts Normal file
View File

@ -0,0 +1,120 @@
import * as core from "@actions/core"
import * as github from "@actions/github"
import { Context } from "@actions/github/lib/context"
import * as pluginRetry from "@octokit/plugin-retry"
import fs from "fs"
import path from "path"
import { dir } from "tmp"
import { promisify } from "util"
import { alterDiffPatch } from "./utils/diffUtils"
const writeFile = promisify(fs.writeFile)
const createTempDir = promisify(dir)
export function isOnlyNewIssues(): boolean {
return core.getBooleanInput(`only-new-issues`, { required: true })
}
export async function fetchPatch(): Promise<string> {
if (!isOnlyNewIssues()) {
return ``
}
const ctx = github.context
switch (ctx.eventName) {
case `pull_request`:
case `pull_request_target`:
return await fetchPullRequestPatch(ctx)
case `push`:
return await fetchPushPatch(ctx)
case `merge_group`:
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 ``
}
}
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 }), {}, pluginRetry.retry)
let patch: string
try {
const patchResp = await octokit.rest.pulls.get({
owner: ctx.repo.owner,
repo: ctx.repo.repo,
[`pull_number`]: pr.number,
mediaType: {
format: `diff`,
},
})
if (patchResp.status !== 200) {
core.warning(`failed to fetch pull request 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 pull request patch:`, err)
return `` // don't fail the action, but analyze without patch
}
try {
const tempDir = await createTempDir()
const patchPath = path.join(tempDir, "pull.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)
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 }), {}, pluginRetry.retry)
let patch: string
try {
const patchResp = await octokit.rest.repos.compareCommitsWithBasehead({
owner: ctx.repo.owner,
repo: ctx.repo.repo,
basehead: `${ctx.payload.before}...${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)
return `` // don't fail the action, but analyze without patch
}
}

View File

@ -3,79 +3,16 @@ import * as github from "@actions/github"
import { exec, ExecOptions } from "child_process"
import * as fs from "fs"
import * as path from "path"
import { dir } from "tmp"
import { promisify } from "util"
import { restoreCache, saveCache } from "./cache"
import { installLint } from "./install"
import { findLintVersion } from "./version"
import { install } from "./install"
import { fetchPatch, isOnlyNewIssues } from "./patch"
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> {
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 ``
}
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 ``
}
const pull = ctx.payload.pull_request
if (!pull) {
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,
mediaType: {
format: `diff`,
},
})
if (patchResp.status !== 200) {
core.warning(`failed to fetch pull request 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 pull request patch:`, err)
return `` // don't fail the action, but analyze without patch
}
try {
const tempDir = await createTempDir()
const patchPath = path.join(tempDir, "pull.patch")
core.info(`Writing patch to ${patchPath}`)
await writeFile(patchPath, patch)
return patchPath
} catch (err) {
console.warn(`failed to save pull request patch:`, err)
return `` // don't fail the action, but analyze without patch
}
}
type Env = {
lintPath: string
binPath: string
patchPath: string
}
@ -83,16 +20,14 @@ 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 binPath = await install()
const patchPath = await fetchPatch()
core.info(`Prepared env in ${Date.now() - startedAt}ms`)
return { lintPath, patchPath }
return { binPath, patchPath }
}
type ExecRes = {
@ -109,58 +44,99 @@ const printOutput = (res: ExecRes): void => {
}
}
async function runLint(lintPath: string, patchPath: string): Promise<void> {
async function runLint(binPath: string, patchPath: string): Promise<void> {
const debug = core.getInput(`debug`)
if (debug.split(`,`).includes(`cache`)) {
const res = await execShellCommand(`${lintPath} cache status`)
const res = await execShellCommand(`${binPath} cache status`)
printOutput(res)
}
const 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) {
if (userArgNames.has(`new`) || userArgNames.has(`new-from-rev`) || userArgNames.has(`new-from-patch`)) {
const userArgsMap = new Map<string, string>(userArgsList)
const userArgNames = new Set<string>(userArgsList.map(([key]) => key))
const problemMatchers = core.getBooleanInput(`problem-matchers`)
if (problemMatchers) {
const matchersPath = path.join(__dirname, "../..", "problem-matchers.json")
if (fs.existsSync(matchersPath)) {
// Adds problem matchers.
// https://github.com/actions/setup-go/blob/cdcb36043654635271a94b9a6d1392de5bb323a7/src/main.ts#L81-L83
core.info(`##[add-matcher]${matchersPath}`)
}
}
if (isOnlyNewIssues()) {
if (
userArgNames.has(`new`) ||
userArgNames.has(`new-from-rev`) ||
userArgNames.has(`new-from-patch`) ||
userArgNames.has(`new-from-merge-base`)
) {
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=`)
addedArgs.push(`--new-from-merge-base=`)
}
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=`)
addedArgs.push(`--new-from-merge-base=`)
break
default:
break
}
}
const workingDirectory = core.getInput(`working-directory`)
const cmdArgs: ExecOptions = {}
const workingDirectory = core.getInput(`working-directory`)
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`)
}
if (!userArgNames.has(`path-prefix`)) {
addedArgs.push(`--path-prefix=${workingDirectory}`)
if (!userArgNames.has(`path-prefix`) && !userArgNames.has(`path-mode`)) {
addedArgs.push(`--path-mode=abs`)
}
cmdArgs.cwd = path.resolve(workingDirectory)
}
const cmd = `${lintPath} run ${addedArgs.join(` `)} ${userArgs}`.trimRight()
core.info(`Running [${cmd}] in [${cmdArgs.cwd || ``}] ...`)
await runVerify(binPath, userArgsMap, cmdArgs)
const cmd = `${binPath} run ${addedArgs.join(` `)} ${userArgs}`.trimEnd()
core.info(`Running [${cmd}] in [${cmdArgs.cwd || process.cwd()}] ...`)
const startedAt = Date.now()
try {
const res = await execShellCommand(cmd, cmdArgs)
@ -168,7 +144,6 @@ async function runLint(lintPath: string, patchPath: string): Promise<void> {
core.info(`golangci-lint found no issues`)
} catch (exc) {
// This logging passes issues to GitHub annotations but comments can be more convenient for some users.
// TODO: support reviewdog or leaving comments by GitHub API.
printOutput(exc)
if (exc.code === 1) {
@ -181,11 +156,49 @@ async function runLint(lintPath: string, patchPath: string): Promise<void> {
core.info(`Ran golangci-lint in ${Date.now() - startedAt}ms`)
}
async function runVerify(binPath: string, userArgsMap: Map<string, string>, cmdArgs: ExecOptions): Promise<void> {
const verify = core.getBooleanInput(`verify`, { required: true })
if (!verify) {
return
}
const cfgPath = await getConfigPath(binPath, userArgsMap, cmdArgs)
if (!cfgPath) {
return
}
let cmdVerify = `${binPath} config verify`
if (userArgsMap.get("config")) {
cmdVerify += ` --config=${userArgsMap.get("config")}`
}
core.info(`Running [${cmdVerify}] in [${cmdArgs.cwd || process.cwd()}] ...`)
const res = await execShellCommand(cmdVerify, cmdArgs)
printOutput(res)
}
async function getConfigPath(binPath: string, userArgsMap: Map<string, string>, cmdArgs: ExecOptions): Promise<string> {
let cmdConfigPath = `${binPath} config path`
if (userArgsMap.get("config")) {
cmdConfigPath += ` --config=${userArgsMap.get("config")}`
}
core.info(`Running [${cmdConfigPath}] in [${cmdArgs.cwd || process.cwd()}] ...`)
try {
const resPath = await execShellCommand(cmdConfigPath, cmdArgs)
return resPath.stderr.trim()
} catch {
return ``
}
}
export async function run(): Promise<void> {
try {
const { lintPath, patchPath } = await core.group(`prepare environment`, prepareEnv)
core.addPath(path.dirname(lintPath))
await core.group(`run golangci-lint`, () => runLint(lintPath, patchPath))
const { binPath, patchPath } = await core.group(`prepare environment`, prepareEnv)
core.addPath(path.dirname(binPath))
await core.group(`run golangci-lint`, () => runLint(binPath, patchPath))
} catch (error) {
core.error(`Failed to run: ${error}, ${error.stack}`)
core.setFailed(error.message)

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
@ -11,17 +13,22 @@ export type Version = {
} | null
const versionRe = /^v(\d+)\.(\d+)(?:\.(\d+))?$/
const modVersionRe = /github.com\/golangci\/golangci-lint\s(v.+)/
const modVersionRe = /github.com\/golangci\/golangci-lint\/v2\s(v\S+)/
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`)
}
if (parseInt(match[1]) !== 2) {
throw new Error(`invalid version string '${s}', golangci-lint v${match[1]} is not supported by golangci-lint-action >= v7.`)
}
return {
major: parseInt(match[1]),
minor: parseInt(match[2]),
@ -37,9 +44,9 @@ export const stringifyVersion = (v: Version): string => {
}
const minVersion = {
major: 1,
minor: 28,
patch: 3,
major: 2,
minor: 1,
patch: 0,
}
const isLessVersion = (a: Version, b: Version): boolean => {
@ -53,61 +60,63 @@ const isLessVersion = (a: Version, b: Version): boolean => {
return a.major < b.major
}
// Do not compare patch parts because if the min version has a non zero value
// Do not compare patch parts because if the min version has a non-zero value
// then it returns false, since the patch version of requested is always zero
return a.minor < b.minor
}
const getRequestedLintVersion = (): Version => {
let requestedLintVersion = core.getInput(`version`)
const getRequestedVersion = (): Version => {
let requestedVersion = core.getInput(`version`)
const workingDirectory = core.getInput(`working-directory`)
let goMod = "go.mod"
if (workingDirectory) {
goMod = path.join(workingDirectory, goMod)
}
if (requestedLintVersion == "" && fs.existsSync(goMod)) {
if (requestedVersion == "" && fs.existsSync(goMod)) {
const content = fs.readFileSync(goMod, "utf-8")
const match = content.match(modVersionRe)
if (match) {
requestedLintVersion = match[1]
core.info(`Found golangci-lint version '${requestedLintVersion}' in '${goMod}' file`)
requestedVersion = match[1]
core.info(`Found golangci-lint version '${requestedVersion}' in '${goMod}' file`)
}
}
const parsedRequestedLintVersion = parseVersion(requestedLintVersion)
if (parsedRequestedLintVersion == null) {
const parsedRequestedVersion = parseVersion(requestedVersion)
if (parsedRequestedVersion == null) {
return null
}
if (isLessVersion(parsedRequestedLintVersion, minVersion)) {
if (isLessVersion(parsedRequestedVersion, minVersion)) {
throw new Error(
`requested golangci-lint version '${requestedLintVersion}' isn't supported: we support only ${stringifyVersion(
`requested golangci-lint version '${requestedVersion}' isn't supported: we support only ${stringifyVersion(
minVersion
)} and later versions`
)
}
return parsedRequestedLintVersion
return parsedRequestedVersion
}
export type VersionConfig = {
export type VersionInfo = {
Error?: string
TargetVersion: string
AssetURL: string
}
type Config = {
type VersionMapping = {
MinorVersionToConfig: {
[minorVersion: string]: VersionConfig
[minorVersion: string]: VersionInfo
}
}
const getConfig = async (): Promise<Config> => {
const fetchVersionMapping = async (): Promise<VersionMapping> => {
const http = new httpm.HttpClient(`golangci/golangci-lint-action`, [], {
allowRetries: true,
maxRetries: 5,
})
try {
const url = `https://raw.githubusercontent.com/golangci/golangci-lint/master/assets/github-action-config.json`
const url = `https://raw.githubusercontent.com/golangci/golangci-lint/HEAD/assets/github-action-config-v2.json`
const response: httpm.HttpClientResponse = await http.get(url)
if (response.message.statusCode !== 200) {
throw new Error(`failed to download from "${url}". Code(${response.message.statusCode}) Message(${response.message.statusMessage})`)
@ -120,40 +129,47 @@ const getConfig = async (): Promise<Config> => {
}
}
export async function findLintVersion(): Promise<VersionConfig> {
export async function getVersion(mode: InstallMode): Promise<VersionInfo> {
core.info(`Finding needed golangci-lint version...`)
const reqLintVersion = getRequestedLintVersion()
if (mode == InstallMode.GoInstall) {
const v: string = core.getInput(`version`)
return { TargetVersion: v ? v : "latest" }
}
const reqVersion = getRequestedVersion()
// if the patched version is passed, just use it
if (reqLintVersion?.major !== null && reqLintVersion?.minor != null && reqLintVersion?.patch !== null) {
if (reqVersion?.major === 2 && reqVersion?.minor != null && reqVersion?.patch !== null) {
return new Promise((resolve) => {
const versionWithoutV = `${reqLintVersion.major}.${reqLintVersion.minor}.${reqLintVersion.patch}`
resolve({
TargetVersion: `v${versionWithoutV}`,
AssetURL: `https://github.com/golangci/golangci-lint/releases/download/v${versionWithoutV}/golangci-lint-${versionWithoutV}-linux-amd64.tar.gz`,
})
const versionWithoutV = `${reqVersion.major}.${reqVersion.minor}.${reqVersion.patch}`
resolve({ TargetVersion: `v${versionWithoutV}` })
})
}
const startedAt = Date.now()
const config = await getConfig()
if (!config.MinorVersionToConfig) {
core.warning(JSON.stringify(config))
const mapping = await fetchVersionMapping()
if (!mapping.MinorVersionToConfig) {
core.warning(JSON.stringify(mapping))
throw new Error(`invalid config: no MinorVersionToConfig field`)
}
const versionConfig = config.MinorVersionToConfig[stringifyVersion(reqLintVersion)]
if (!versionConfig) {
throw new Error(`requested golangci-lint version '${stringifyVersion(reqLintVersion)}' doesn't exist`)
const versionInfo = mapping.MinorVersionToConfig[stringifyVersion(reqVersion)]
if (!versionInfo) {
throw new Error(`requested golangci-lint version '${stringifyVersion(reqVersion)}' doesn't exist`)
}
if (versionConfig.Error) {
throw new Error(`failed to use requested golangci-lint version '${stringifyVersion(reqLintVersion)}': ${versionConfig.Error}`)
if (versionInfo.Error) {
throw new Error(`failed to use requested golangci-lint version '${stringifyVersion(reqVersion)}': ${versionInfo.Error}`)
}
core.info(
`Requested golangci-lint '${stringifyVersion(reqLintVersion)}', using '${versionConfig.TargetVersion}', calculation took ${
`Requested golangci-lint '${stringifyVersion(reqVersion)}', using '${versionInfo.TargetVersion}', calculation took ${
Date.now() - startedAt
}ms`
)
return versionConfig
return versionInfo
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 145 KiB

After

Width:  |  Height:  |  Size: 90 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 70 KiB

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. */