Compare commits

...

192 commits
v0.4.2 ... main

Author SHA1 Message Date
d2253e857e ci: disable renovate 2025-02-22 23:00:28 +00:00
d561fcf730
ci: use renovate v39 2025-02-03 03:28:33 +01:00
ca9bc34d39
ci: renovate: preserveSemverRanges 2025-02-02 16:56:43 +01:00
f58439aa1a
Revert "chore(deps): pin dependencies (#174)"
This reverts commit aeebe74ddd.
2025-02-02 16:55:52 +01:00
ThetaBot
97852ced95 chore(deps): update rust crate zip to v2.2.2 (#181)
Reviewed-on: https://codeberg.org/ThetaDev/artifactview/pulls/181
Co-authored-by: ThetaBot <thetabot@noreply.codeberg.org>
Co-committed-by: ThetaBot <thetabot@noreply.codeberg.org>
2025-02-02 15:50:22 +00:00
ThetaBot
a970d8cea7 chore(deps): update rust crate env_logger to v0.11.6 (#175) 2025-02-02 00:02:51 +00:00
ThetaBot
aeebe74ddd chore(deps): pin dependencies (#174) 2025-02-01 00:01:20 +00:00
ThetaBot
de2e2fc7b1 chore(deps): update rust crate serde_json to v1.0.138 (#173)
Reviewed-on: https://codeberg.org/ThetaDev/artifactview/pulls/173
Co-authored-by: ThetaBot <thetabot@noreply.codeberg.org>
Co-committed-by: ThetaBot <thetabot@noreply.codeberg.org>
2025-01-28 22:52:21 +00:00
ThetaBot
dfa1ab54e8 chore(deps): update rust crate axum-test to v17.2.0 (#171)
Reviewed-on: https://codeberg.org/ThetaDev/artifactview/pulls/171
Co-authored-by: ThetaBot <thetabot@noreply.codeberg.org>
Co-committed-by: ThetaBot <thetabot@noreply.codeberg.org>
2025-01-28 22:43:23 +00:00
9a270df19e
chore(release): release artifactview v0.4.8 2025-01-26 16:12:56 +01:00
ThetaBot
2c2893da21 chore(deps): update rust crate axum to 0.8.0 (#157) 2025-01-26 15:10:44 +00:00
ThetaBot
0c49fe751a chore(deps): update rust crate insta to v1.42.1 (#170) 2025-01-26 00:09:48 +00:00
ThetaBot
4042ded5ae chore(deps): update rust crate comrak to 0.35.0 (#169) 2025-01-25 00:06:04 +00:00
ThetaBot
a88977af94 chore(deps): update rust crate comrak to 0.34.0 (#168) 2025-01-22 00:07:42 +00:00
ThetaBot
558ce7daa8 chore(deps): update rust crate serde_json to v1.0.137 (#167) 2025-01-20 00:06:07 +00:00
ThetaBot
c9a6d6786f chore(deps): update rust crate futures-lite to v2.6.0 (#166) 2025-01-13 00:08:46 +00:00
ThetaBot
db0a4fd5d4 chore(deps): update rust crate thiserror to v2.0.11 (#165) 2025-01-11 00:05:42 +00:00
ThetaBot
db790e0811 chore(deps): update rust crate tokio to v1.43.0 (#164) 2025-01-09 00:15:54 +00:00
ThetaBot
c2ee6cd849 chore(deps): update rust crate thiserror to v2.0.10 (#163) 2025-01-09 00:07:12 +00:00
ThetaBot
8417ea34a0 chore(deps): update rust crate serde_json to v1.0.135 (#162) 2025-01-08 21:51:18 +00:00
ThetaBot
13ee5cc245 chore(deps): update rust crate pin-project to v1.1.8 (#161) 2025-01-07 00:09:12 +00:00
ThetaBot
5b138fae11 chore(deps): update rust crate insta to v1.42.0 (#159) 2025-01-06 00:09:27 +00:00
ThetaBot
1ce03ca19f chore(deps): update rust crate comrak to 0.33.0 (#158) 2025-01-05 00:07:35 +00:00
ThetaBot
cd73f4828f chore(deps): update rust crate reqwest to v0.12.12 (#156) 2025-01-03 00:07:06 +00:00
ThetaBot
b3cc2b53dc chore(deps): update rust crate rstest to 0.24.0 (#155) 2025-01-02 00:13:56 +00:00
ThetaBot
55621fbbea chore(deps): update rust crate axum-extra to 0.10.0 (#154) 2025-01-02 00:09:25 +00:00
ThetaBot
d778789959 chore(deps): update rust crate quick-xml to v0.37.2 (#152) 2024-12-30 00:08:33 +00:00
ThetaBot
abe8f92ab8 chore(deps): update rust crate serde to v1.0.217 (#151) 2024-12-28 00:07:10 +00:00
ThetaBot
2a2a8e0b31 chore(deps): update rust crate thiserror to v2.0.9 (#150) 2024-12-22 00:11:38 +00:00
ThetaBot
c90116c9ba chore(deps): update rust crate serde_json to v1.0.134 (#149) 2024-12-22 00:10:52 +00:00
ThetaBot
8e295a96de chore(deps): update rust crate env_logger to v0.11.6 (#148) 2024-12-21 00:06:37 +00:00
ThetaBot
e87b71cc0d chore(deps): update rust crate thiserror to v2.0.8 (#147) 2024-12-19 00:08:18 +00:00
ThetaBot
f6b0e06dc1 chore(deps): update rust crate comrak to 0.32.0 (#146) 2024-12-18 00:05:19 +00:00
ThetaBot
d28f9790b8 chore(deps): update rust crate proptest to v1.6.0 (#145) 2024-12-17 00:11:32 +00:00
ThetaBot
98ba21e797 chore(deps): update rust crate zip to v2.2.2 (#144) 2024-12-17 00:08:37 +00:00
ThetaBot
3244de48fc chore(deps): update rust crate axum-test to v16.4.1 (#143) 2024-12-15 00:08:20 +00:00
ThetaBot
1e26d04b06 chore(deps): update rust crate thiserror to v2.0.7 (#142) 2024-12-14 00:06:11 +00:00
ThetaBot
7d9827f9fc chore(deps): update rust crate serde to v1.0.216 (#141) 2024-12-12 00:07:07 +00:00
ThetaBot
f48c570215 chore(deps): update rust crate scraper to 0.22.0 (#140) 2024-12-11 00:10:02 +00:00
ThetaBot
b24136ec59 chore(deps): update rust crate governor to 0.8.0 (#139) 2024-12-11 00:09:17 +00:00
ThetaBot
8e9c5aad48 chore(deps): update rust crate chrono to v0.4.39 (#138) 2024-12-10 00:05:45 +00:00
ThetaBot
5e83ab5106 chore(deps): update rust crate thiserror to v2.0.6 (#137) 2024-12-09 00:06:11 +00:00
ThetaBot
94c589c209 chore(deps): update rust crate thiserror to v2.0.5 (#136) 2024-12-08 00:07:27 +00:00
ThetaBot
f43f06c334 chore(deps): update rust crate tokio-util to v0.7.13 (#135) 2024-12-05 00:05:51 +00:00
ThetaBot
b15c4b009a chore(deps): update rust crate tokio to v1.42.0 (#134) 2024-12-04 00:11:09 +00:00
ThetaBot
5f517ae6c7 chore(deps): update rust crate http to v1.2.0 (#133) 2024-12-04 00:10:00 +00:00
ThetaBot
6fc7263f59 chore(deps): update rust crate time to v0.3.37 (#132) 2024-12-04 00:07:46 +00:00
ThetaBot
e9d1226390 chore(deps): update rust crate thiserror to v2.0.4 (#131) 2024-12-04 00:06:17 +00:00
e20f6fb92e
fix: lifetime-related lints 2024-12-01 22:36:52 +01:00
ThetaBot
1f9847b3ed chore(deps): update rust crate tracing-subscriber to v0.3.19 (#130) 2024-11-30 00:07:41 +00:00
ThetaBot
ab3479f0d1 chore(deps): update rust crate tracing to v0.1.41 (#129) 2024-11-28 00:07:18 +00:00
ThetaBot
5fd14aada8 chore(deps): update rust crate comrak to 0.31.0 (#128) 2024-11-27 00:05:38 +00:00
ThetaBot
05f20f44ac chore(deps): update rust crate async-compression to v0.4.18 (#127) 2024-11-25 14:26:33 +00:00
ThetaBot
389dd6f536 chore(deps): update rust crate comrak to 0.30.0 (#126) 2024-11-23 00:10:14 +00:00
ThetaBot
c99dfa8091 chore(deps): update rust crate url to v2.5.4 (#125) 2024-11-23 00:05:58 +00:00
ThetaBot
81c852126c chore(deps): update rust crate zip to v2.2.1 (#124) 2024-11-22 00:05:19 +00:00
ThetaBot
8158497a73 chore(deps): update rust crate tower-http to v0.6.2 (#123) 2024-11-19 00:05:22 +00:00
ThetaBot
52316093cd chore(deps): update rust crate serde_json to v1.0.133 (#122) 2024-11-18 00:20:36 +00:00
ThetaBot
4cf0084e24 chore(deps): update rust crate axum-extra to v0.9.6 (#120) 2024-11-18 00:13:43 +00:00
ThetaBot
dffcd16a60 chore(deps): update rust crate quick-xml to v0.37.1 (#121) 2024-11-18 00:13:37 +00:00
ThetaBot
cab58d284e chore(deps): update rust crate axum to v0.7.9 (#119) 2024-11-17 00:10:16 +00:00
ThetaBot
e37000143e chore(deps): update rust crate axum-test to v16.4.0 (#118) 2024-11-16 00:21:04 +00:00
ThetaBot
b35cfe3f4f chore(deps): update rust crate axum-extra to v0.9.5 (#117) 2024-11-16 00:12:58 +00:00
ThetaBot
79623d9bc2 chore(deps): update rust crate axum to v0.7.8 (#116) 2024-11-16 00:12:52 +00:00
ThetaBot
0b9498c541 chore(deps): update rust crate flate2 to v1.0.35 (#115) 2024-11-15 00:08:33 +00:00
ThetaBot
34975924b1 chore(deps): update rust crate serde to v1.0.215 (#114) 2024-11-12 00:10:38 +00:00
ThetaBot
a695cef57d chore(deps): update rust crate thiserror to v2.0.3 (#113) 2024-11-11 00:09:54 +00:00
ThetaBot
c05eb562a9 chore(deps): update rust crate futures-lite to v2.5.0 (#112) 2024-11-09 00:07:38 +00:00
ThetaBot
8cb636ccc9 chore(deps): update rust crate thiserror to v2 (#110) 2024-11-08 00:13:06 +00:00
ThetaBot
dd809ce3f3 chore(deps): update rust crate tokio to v1.41.1 (#111) 2024-11-08 00:11:55 +00:00
ThetaBot
44cc0c1010 chore(deps): update rust crate url to v2.5.3 (#109) 2024-11-07 00:17:37 +00:00
ThetaBot
a48af07d93 chore(deps): update rust crate thiserror to v1.0.68 (#108) 2024-11-07 00:11:03 +00:00
ThetaBot
39a76eaa33 chore(deps): update rust crate thiserror to v1.0.67 (#107) 2024-11-04 00:09:10 +00:00
ThetaBot
1f00bbfac5 chore(deps): update rust crate scraper to 0.21.0 (#106) 2024-11-01 00:12:30 +00:00
ThetaBot
8f89fc9953 chore(deps): update rust crate thiserror to v1.0.66 (#105) 2024-11-01 00:12:17 +00:00
ThetaBot
a406bffabe chore(deps): update rust crate insta to v1.41.1 (#104) 2024-11-01 00:08:30 +00:00
ThetaBot
3bda063578 chore(deps): update rust crate futures-lite to v2.4.0 (#103) 2024-10-31 00:06:56 +00:00
ThetaBot
2a1ebd7b85 chore(deps): update rust crate serde to v1.0.214 (#102) 2024-10-29 00:10:55 +00:00
ThetaBot
d45e8e63c9 chore(deps): update rust crate reqwest to v0.12.9 (#101) 2024-10-29 00:08:14 +00:00
ThetaBot
72e20d413e chore(deps): update rust crate quick-xml to 0.37.0 (#100) 2024-10-28 00:12:01 +00:00
ThetaBot
5aec8d677f chore(deps): update rust crate insta to v1.41.0 (#99) 2024-10-28 00:09:33 +00:00
ThetaBot
b2070ec460 chore(deps): update rust crate axum-test to v16.3.0 (#98) 2024-10-26 00:05:23 +00:00
ThetaBot
613815aa1e chore(deps): update rust crate regex to v1.11.1 (#97) 2024-10-25 00:10:06 +00:00
ThetaBot
c82bccca90 chore(deps): update rust crate pin-project to v1.1.7 (#96) 2024-10-25 00:09:28 +00:00
ThetaBot
1dc4fe225c chore(deps): update rust crate tokio to v1.41.0 (#95) 2024-10-23 00:11:14 +00:00
ThetaBot
e5b9105da1 chore(deps): update rust crate serde to v1.0.213 (#93) 2024-10-23 00:10:39 +00:00
ThetaBot
2df196a2e6 chore(deps): update rust crate thiserror to v1.0.65 (#94) 2024-10-23 00:08:38 +00:00
ThetaBot
cbd304c841 chore(deps): update rust crate governor to 0.7.0 (#92) 2024-10-22 00:06:37 +00:00
ThetaBot
0b3c0325a5 chore(deps): update rust crate async-compression to v0.4.17 (#91) 2024-10-21 00:05:23 +00:00
ThetaBot
600d18d05b chore(deps): update rust crate serde_json to v1.0.132 (#90) 2024-10-20 00:11:49 +00:00
ThetaBot
f1d9897e83 chore(deps): update rust crate governor to v0.6.4 (#89) 2024-10-20 00:11:20 +00:00
ThetaBot
992f995441 chore(deps): update rust crate serde_json to v1.0.131 (#88) 2024-10-19 00:07:03 +00:00
ThetaBot
2e46d37950 chore(deps): update rust crate serde_json to v1.0.129 (#87) 2024-10-18 00:06:01 +00:00
ThetaBot
9592da3d6e chore(deps): update rust crate async-compression to v0.4.16 (#86) 2024-10-17 00:07:01 +00:00
ThetaBot
4f4716cdd8 chore(deps): update rust crate async-compression to v0.4.15 (#85) 2024-10-14 00:07:06 +00:00
68fec14155
chore(release): release artifactview v0.4.7 2024-10-12 21:22:14 +02:00
ThetaBot
5da4074bb9 chore(deps): update rust crate comrak to 0.29.0 (#84) 2024-10-11 00:08:45 +00:00
ThetaBot
51f098f4ad chore(deps): update rust crate async-compression to v0.4.14 (#83) 2024-10-11 00:08:06 +00:00
ThetaBot
a2dc40f444 chore(deps): update rust crate secrecy to v0.10.3 (#82) 2024-10-10 00:05:25 +00:00
ThetaBot
e63baec249 chore(deps): update rust crate axum-test to v16.2.0 (#81) 2024-10-07 00:05:44 +00:00
ThetaBot
6ca7088b9c chore(deps): update rust crate pin-project to v1.1.6 (#80) 2024-10-06 00:10:22 +00:00
ThetaBot
8309901a8c chore(deps): update rust crate once_cell to v1.20.2 (#79) 2024-10-06 00:08:33 +00:00
ThetaBot
7cefbd4a67 chore(deps): update rust crate async-compression to v0.4.13 (#78) 2024-10-03 00:05:16 +00:00
ThetaBot
a3f028f2ad chore(deps): update rust crate reqwest to v0.12.8 (#77) 2024-10-01 00:06:13 +00:00
ThetaBot
7c684eb565 chore(deps): update rust crate rstest to 0.23.0 (#76) 2024-09-30 00:20:03 +00:00
ThetaBot
e436f77c3e chore(deps): update rust crate regex to v1.11.0 (#75) 2024-09-30 00:16:09 +00:00
ThetaBot
2ed0cdc4a3 chore(deps): update rust crate axum-test to v16.1.0 (#74) 2024-09-30 00:14:26 +00:00
ThetaBot
484f113646 chore(deps): update rust crate once_cell to v1.20.1 (#73) 2024-09-30 00:12:38 +00:00
ThetaBot
23675124bd chore(deps): update rust crate axum-test to v16.0.1 (#72) 2024-09-28 00:06:56 +00:00
ThetaBot
01c494c277 chore(deps): update rust crate axum to v0.7.7 (#71) 2024-09-28 00:05:59 +00:00
ThetaBot
6f3544e3d8 chore(deps): update rust crate flate2 to v1.0.34 (#70) 2024-09-27 00:06:09 +00:00
89d22496d7
ci: use chore commit msg for all dependency updates 2024-09-25 01:41:43 +02:00
ThetaBot
72d0cde370 fix(deps): update rust crate secrecy to 0.10.0 (#60) 2024-09-24 23:40:30 +00:00
ThetaBot
dbcee4945c chore(deps): update rust crate axum-test to v16 (#69) 2024-09-24 09:32:09 +00:00
ThetaBot
ca0734d470 fix(deps): update rust crate tower-http to v0.6.1 (#68) 2024-09-24 00:10:54 +00:00
ThetaBot
923f97f8e9 fix(deps): update rust crate thiserror to v1.0.64 (#66) 2024-09-23 00:09:35 +00:00
ThetaBot
82ca6dd6bf chore(deps): update rust crate axum-test to v15.7.3 (#65) 2024-09-23 00:08:01 +00:00
ThetaBot
7a92941452 chore(deps): update rust crate axum-test to v15.7.1 (#53) 2024-09-22 00:09:25 +00:00
ThetaBot
6619ef60e4 fix(deps): update rust crate axum-extra to v0.9.4 (#63) 2024-09-22 00:07:36 +00:00
ThetaBot
de4459f646 fix(deps): update rust crate quick-xml to v0.36.2 (#64) 2024-09-21 00:12:52 +00:00
ThetaBot
61f65e54db fix(deps): update rust crate axum to v0.7.6 (#62) 2024-09-21 00:08:12 +00:00
ThetaBot
1d03f5b4b0 fix(deps): update rust crate tower-http to 0.6.0 (#61) 2024-09-20 00:06:32 +00:00
ThetaBot
4eb2b22a8f fix(deps): update rust crate quick_cache to v0.6.9 (#59) 2024-09-16 00:06:09 +00:00
ThetaBot
a48e23bece fix(deps): update rust crate serde_json to v1.0.128 (#57) 2024-09-15 00:07:25 +00:00
ThetaBot
f8a95c82e4 chore(deps): update rust crate once_cell to v1.20.0 (#58) 2024-09-14 00:09:26 +00:00
ThetaBot
3f719ac939 chore(deps): update rust crate zip to v2.2.0 (#56) 2024-09-13 00:10:07 +00:00
ThetaBot
97b9610f30 chore(deps): update rust crate tokio to v1.40.0 (#55) 2024-09-13 00:09:44 +00:00
ThetaBot
03597d10e5 chore(deps): update rust crate insta to v1.40.0 (#54) 2024-09-13 00:07:38 +00:00
ThetaBot
f8c9d6f7cb fix(deps): update rust crate serde to v1.0.210 (#52) 2024-09-12 00:17:03 +00:00
ThetaBot
22d5626bf0 fix(deps): update rust crate reqwest to v0.12.7 (#51) 2024-09-12 00:15:01 +00:00
ThetaBot
73959c00f2 fix(deps): update rust crate quick_cache to v0.6.6 (#50) 2024-09-12 00:13:25 +00:00
ThetaBot
78179fd737 chore(deps): update rust crate tokio-util to v0.7.12 (#49) 2024-09-12 00:11:49 +00:00
ThetaBot
980e5968ea chore(deps): update rust crate flate2 to v1.0.33 (#48) 2024-09-12 00:10:14 +00:00
ThetaBot
a88a3c6103 fix(deps): update rust crate comrak to 0.28.0 (#47) 2024-09-06 00:08:50 +00:00
ThetaBot
3cef317576 fix(deps): update rust crate comrak to 0.27.0 (#46) 2024-08-20 00:06:54 +00:00
ThetaBot
63978d79f9 chore(deps): update rust crate tokio to v1.39.3 (#45) 2024-08-18 00:09:57 +00:00
ThetaBot
4b3639aea7 fix(deps): update rust crate serde_json to v1.0.125 (#44) 2024-08-17 00:06:55 +00:00
ThetaBot
8073e90f68 fix(deps): update rust crate serde to v1.0.208 (#43) 2024-08-16 00:13:16 +00:00
ThetaBot
24171c9800 chore(deps): update rust crate axum-test to v15.3.1 (#42) 2024-08-16 00:09:32 +00:00
ThetaBot
0c2b39a68a fix(deps): update rust crate serde to v1.0.207 (#41) 2024-08-13 00:06:46 +00:00
ThetaBot
cc6a495998 fix(deps): update rust crate serde_json to v1.0.124 (#40) 2024-08-12 00:08:32 +00:00
ThetaBot
ed86f30cf4 fix(deps): update rust crate serde to v1.0.206 (#39) 2024-08-12 00:07:38 +00:00
ThetaBot
f9698b5a7f fix(deps): update rust crate serde to v1.0.205 (#38) 2024-08-09 00:07:20 +00:00
ThetaBot
6b7d107387 fix(deps): update rust crate serde-env to 0.2.0 (#37) 2024-08-06 00:08:05 +00:00
ThetaBot
ca174a3aa2 chore(deps): update rust crate scraper to 0.20.0 (#36) 2024-08-06 00:07:38 +00:00
ThetaBot
b9d0a29741 chore(deps): update rust crate rstest to 0.22.0 (#35) 2024-08-05 00:04:58 +00:00
ThetaBot
01e6a9c8ad chore(deps): update rust crate flate2 to v1.0.31 (#34) 2024-08-04 00:06:05 +00:00
ThetaBot
7c2a97666d fix(deps): update rust crate regex to v1.10.6 (#33) 2024-08-03 00:05:46 +00:00
ThetaBot
db67487abd fix(deps): update rust crate serde_json to v1.0.122 (#32) 2024-08-02 00:05:30 +00:00
83ae356b90
ci: renovate: set log level to info 2024-07-31 15:52:32 +02:00
ThetaBot
7e0aaa8362 chore(deps): update rust crate zip to v2.1.6 (#31) 2024-07-31 12:21:02 +00:00
756a86eda1
ci: add dispatch trigger to renovate, disable lockfile maintenance 2024-07-31 14:15:10 +02:00
ThetaBot
df805bfe83 fix(deps): update rust crate serde_json to v1.0.121 (#29) 2024-07-29 00:08:22 +00:00
60e6e6216f
chore(release): release artifactview v0.4.6 2024-07-28 22:38:02 +02:00
ThetaBot
a7160fadde
chore(deps): update rust crate zip to v2 (#9)
Reviewed-on: https://codeberg.org/ThetaDev/artifactview/pulls/9
Co-authored-by: ThetaBot <thetabot@noreply.codeberg.org>
Co-committed-by: ThetaBot <thetabot@noreply.codeberg.org>
2024-07-28 22:35:39 +02:00
ThetaBot
3ae7f8813e chore(deps): update rust crate tokio to v1.39.2 (#28) 2024-07-28 00:07:04 +00:00
ThetaBot
642930d397 fix(deps): update rust crate comrak to 0.26.0 (#27) 2024-07-26 00:07:16 +00:00
ThetaBot
057a365a0e chore(deps): update rust crate tokio to v1.39.1 (#26) 2024-07-26 00:06:51 +00:00
ThetaBot
b67b1730b1 fix(deps): update rust crate thiserror to v1.0.63 (#25) 2024-07-26 00:04:38 +00:00
ThetaBot
a5d49733fd fix(deps): update rust crate quick_cache to v0.6.2 (#24) 2024-07-25 19:48:54 +00:00
ThetaBot
c5c9f85e4b fix(deps): update rust crate quick-xml to v0.36.1 (#23) 2024-07-25 19:48:23 +00:00
ThetaBot
88c635cbad fix(deps): update rust crate async-compression to v0.4.12 (#22) 2024-07-25 19:45:19 +00:00
ThetaBot
1a5c056204 chore(deps): update rust crate scraper to v0.19.1 (#21) 2024-07-25 19:43:56 +00:00
ThetaBot
c9db056791 chore(deps): update rust crate env_logger to v0.11.5 (#20) 2024-07-25 19:42:49 +00:00
ThetaBot
5f94794d24 fix(deps): update rust crate quick-xml to 0.36.0 (#19) 2024-07-09 00:05:36 +00:00
ThetaBot
f41a92243c chore(deps): lock file maintenance (#18) 2024-07-08 00:07:06 +00:00
ThetaBot
a88f1ba91c chore(deps): update rust crate axum-test to v15.3.0 (#17) 2024-07-07 14:47:05 +00:00
ThetaBot
13213861ba fix(deps): update rust crate serde to v1.0.204 (#16) 2024-07-07 14:46:42 +00:00
ThetaBot
2e0626667e fix(deps): update rust crate quick_cache to 0.6.0 (#15) 2024-07-04 09:55:41 +00:00
c06fb22913
ci: renovate: enable automerge 2024-07-04 11:49:38 +02:00
ThetaBot
06f9c278a8 fix(deps): update rust crate serde_json to v1.0.120 (#14)
Reviewed-on: https://codeberg.org/ThetaDev/artifactview/pulls/14
Co-authored-by: ThetaBot <thetabot@noreply.codeberg.org>
Co-committed-by: ThetaBot <thetabot@noreply.codeberg.org>
2024-07-02 00:15:01 +00:00
97c61aaf9b
chore(release): release artifactview v0.4.5 2024-07-02 01:55:58 +02:00
197eeea75b
feat: update PR comment format
- removed eye emoji from title
- moved metadata to subtitle
- add current run date
- use newtab links for all AV links
2024-07-02 01:53:52 +02:00
7d2c68630e
fix: swap crc and size column (#3) 2024-07-02 01:27:42 +02:00
ThetaBot
9767167661 chore(deps): lock file maintenance (#13)
Reviewed-on: https://codeberg.org/ThetaDev/artifactview/pulls/13
Co-authored-by: ThetaBot <thetabot@noreply.codeberg.org>
Co-committed-by: ThetaBot <thetabot@noreply.codeberg.org>
2024-07-01 02:40:12 +00:00
ThetaBot
2525022df7 fix(deps): update rust crate serde_json to v1.0.119 (#12)
Reviewed-on: https://codeberg.org/ThetaDev/artifactview/pulls/12
Co-authored-by: ThetaBot <thetabot@noreply.codeberg.org>
Co-committed-by: ThetaBot <thetabot@noreply.codeberg.org>
2024-07-01 02:39:38 +00:00
ThetaBot
7ebe881546 fix(deps): update rust crate quick-xml to 0.35.0 (#11)
Reviewed-on: https://codeberg.org/ThetaDev/artifactview/pulls/11
Co-authored-by: ThetaBot <thetabot@noreply.codeberg.org>
Co-committed-by: ThetaBot <thetabot@noreply.codeberg.org>
2024-06-30 14:24:58 +00:00
ThetaBot
94191f878d fix(deps): update rust crate mime_guess to v2.0.5 (#10)
Reviewed-on: https://codeberg.org/ThetaDev/artifactview/pulls/10
Co-authored-by: ThetaBot <thetabot@noreply.codeberg.org>
Co-committed-by: ThetaBot <thetabot@noreply.codeberg.org>
2024-06-30 14:19:29 +00:00
ThetaBot
595a9d0f41 fix(deps): update rust crate quick-xml to 0.34.0 (#8)
Reviewed-on: https://codeberg.org/ThetaDev/artifactview/pulls/8
Co-authored-by: ThetaBot <thetabot@noreply.codeberg.org>
Co-committed-by: ThetaBot <thetabot@noreply.codeberg.org>
2024-06-27 17:50:03 +00:00
ThetaBot
cec3aa3fc0 chore(deps): update rust crate rstest to 0.21.0 (#7)
Reviewed-on: https://codeberg.org/ThetaDev/artifactview/pulls/7
Co-authored-by: ThetaBot <thetabot@noreply.codeberg.org>
Co-committed-by: ThetaBot <thetabot@noreply.codeberg.org>
2024-06-27 17:49:39 +00:00
ThetaBot
797fc0c04c chore(deps): update rust crate proptest to v1.5.0 (#6)
Reviewed-on: https://codeberg.org/ThetaDev/artifactview/pulls/6
Co-authored-by: ThetaBot <thetabot@noreply.codeberg.org>
Co-committed-by: ThetaBot <thetabot@noreply.codeberg.org>
2024-06-27 17:49:23 +00:00
ThetaBot
fc3b5a1530 fix(deps): update rust crate serde_json to v1.0.118 (#5)
Reviewed-on: https://codeberg.org/ThetaDev/artifactview/pulls/5
Co-authored-by: ThetaBot <thetabot@noreply.codeberg.org>
Co-committed-by: ThetaBot <thetabot@noreply.codeberg.org>
2024-06-27 17:49:09 +00:00
a7a9b137a7
ci: renovate: disable approval 2024-06-27 19:26:08 +02:00
02fab65125
ci: add renovate 2024-06-27 18:48:05 +02:00
3ef67f52c8
ci: add DockerHub README updater 2024-06-22 20:54:48 +02:00
40ae3a7f55
docs: update README 2024-06-22 20:43:58 +02:00
f0c7881d57
ci: update Artifactview PR comment step 2024-06-22 19:52:49 +02:00
39f0019455
docs: make example CI step compatible with GitHub+Forgejo 2024-06-22 19:27:45 +02:00
0516abb8fd
chore(release): release artifactview v0.4.4 2024-06-22 18:48:35 +02:00
3690b0244c
fix: use forge aliases for PR comment links 2024-06-22 18:47:49 +02:00
bdc847f5d0
chore(release): release artifactview v0.4.3 2024-06-22 18:34:55 +02:00
d8c3ab4f36
fix: 404 error on GitHub comment creation 2024-06-22 18:34:09 +02:00
26 changed files with 1333 additions and 775 deletions

View file

@ -30,6 +30,9 @@ jobs:
- name: 🔗 Artifactview PR comment
if: ${{ always() && github.event_name == 'pull_request' }}
run: |
echo "Run: $GITHUB_SERVER_URL/$GITHUB_REPOSITORY/actions/runs/$GITHUB_RUN_NUMBER"
if [[ "$GITEA_ACTIONS" == "true" ]]; then RUN_NUMBER="$GITHUB_RUN_NUMBER"; else RUN_NUMBER="$GITHUB_RUN_ID"; fi
echo "Run: $GITHUB_SERVER_URL/$GITHUB_REPOSITORY/actions/runs/$RUN_NUMBER"
echo "Pull: ${{ github.event.number }}"
curl -SsL --fail-with-body -w "\n" -X POST https://av.thetadev.de/.well-known/api/prComment -H "Content-Type: application/json" --data "{\"url\": \"$GITHUB_SERVER_URL/$GITHUB_REPOSITORY/actions/runs/$GITHUB_RUN_NUMBER\", \"pr\": ${{ github.event.number }}, \"artifact_titles\": {\"test\":\"🧪 Test report\"}, \"artifact_paths\": {\"test\":\"/junit.xml?viewer=1\"}}"
curl -SsL --fail-with-body -w "\n" -X POST https://av.thetadev.de/.well-known/api/prComment -H "Content-Type: application/json" \
--data '{"url": "'"$GITHUB_SERVER_URL/$GITHUB_REPOSITORY/actions/runs/$RUN_NUMBER"'", "pr": ${{ github.event.number }}, "artifact_titles": {"test":"🧪 Test report"}, "artifact_paths": {"test":"/junit.xml?viewer=1"}}'

View file

@ -0,0 +1,23 @@
name: DockerHub README
on:
push:
branches:
- main
paths:
- "README.md"
- ".forgejo/workflows/docker-readme.yaml"
jobs:
update:
runs-on: cimaster-latest
steps:
- name: 👁️ Checkout repository
uses: actions/checkout@v4
- name: Docker Hub Description
uses: https://github.com/peter-evans/dockerhub-description@v4
with:
username: thetadev256
password: ${{ secrets.DOCKERHUB_PASSWORD }}
repository: thetadev256/artifactview
enable-url-completion: true

View file

@ -0,0 +1,63 @@
name: renovate
on:
push:
branches: ["main"]
paths:
- ".forgejo/workflows/renovate.yaml"
- "renovate.json"
schedule:
- cron: "0 0 * * *"
workflow_dispatch:
env:
RENOVATE_REPOSITORIES: ${{ github.repository }}
jobs:
renovate:
runs-on: docker
container:
image: renovate/renovate:39
steps:
- name: Load renovate repo cache
uses: actions/cache/restore@v4
with:
path: |
.tmp/cache/renovate/repository
.tmp/cache/renovate/renovate-cache-sqlite
.tmp/osv
key: repo-cache-${{ github.run_id }}
restore-keys: |
repo-cache-
- name: Run renovate
run: renovate
env:
LOG_LEVEL: info
RENOVATE_BASE_DIR: ${{ github.workspace }}/.tmp
RENOVATE_ENDPOINT: ${{ github.server_url }}
RENOVATE_PLATFORM: gitea
RENOVATE_REPOSITORY_CACHE: 'enabled'
RENOVATE_TOKEN: ${{ secrets.FORGEJO_CI_BOT_TOKEN }}
GITHUB_COM_TOKEN: ${{ secrets.GH_PUBLIC_TOKEN }}
RENOVATE_GIT_AUTHOR: 'Renovate Bot <forgejo-renovate-action@forgejo.org>'
RENOVATE_X_SQLITE_PACKAGE_CACHE: true
GIT_AUTHOR_NAME: 'Renovate Bot'
GIT_AUTHOR_EMAIL: 'forgejo-renovate-action@forgejo.org'
GIT_COMMITTER_NAME: 'Renovate Bot'
GIT_COMMITTER_EMAIL: 'forgejo-renovate-action@forgejo.org'
OSV_OFFLINE_ROOT_DIR: ${{ github.workspace }}/.tmp/osv
- name: Save renovate repo cache
if: always() && env.RENOVATE_DRY_RUN != 'full'
uses: actions/cache/save@v4
with:
path: |
.tmp/cache/renovate/repository
.tmp/cache/renovate/renovate-cache-sqlite
.tmp/osv
key: repo-cache-${{ github.run_id }}

View file

@ -3,6 +3,229 @@
All notable changes to this project will be documented in this file.
## [v0.4.8](https://codeberg.org/ThetaDev/artifactview/compare/v0.4.7..v0.4.8) - 2025-01-26
### 🐛 Bug Fixes
- Lifetime-related lints - ([e20f6fb](https://codeberg.org/ThetaDev/artifactview/commit/e20f6fb92e86751222d2c5143ee384cdbea1159d))
### ⚙️ Miscellaneous Tasks
- *(deps)* Update rust crate async-compression to v0.4.15 (#85) - ([4f4716c](https://codeberg.org/ThetaDev/artifactview/commit/4f4716cdd86c317ede2b381d375ef8e736aee240))
- *(deps)* Update rust crate async-compression to v0.4.16 (#86) - ([9592da3](https://codeberg.org/ThetaDev/artifactview/commit/9592da3d6e2c2223174fcc459e94f29bf5067ead))
- *(deps)* Update rust crate serde_json to v1.0.129 (#87) - ([2e46d37](https://codeberg.org/ThetaDev/artifactview/commit/2e46d3795089ef7b2739db4d216f4db99f792071))
- *(deps)* Update rust crate serde_json to v1.0.131 (#88) - ([992f995](https://codeberg.org/ThetaDev/artifactview/commit/992f9954414af550fce90c9c7424ab0da2296875))
- *(deps)* Update rust crate governor to v0.6.4 (#89) - ([f1d9897](https://codeberg.org/ThetaDev/artifactview/commit/f1d9897e832b5cdb99fd81edcb38d27bd6b445f8))
- *(deps)* Update rust crate serde_json to v1.0.132 (#90) - ([600d18d](https://codeberg.org/ThetaDev/artifactview/commit/600d18d05b356c641a32b93b2407a1f23e2370c4))
- *(deps)* Update rust crate async-compression to v0.4.17 (#91) - ([0b3c032](https://codeberg.org/ThetaDev/artifactview/commit/0b3c0325a50cd456cb9b62f97e916f0760785a3c))
- *(deps)* Update rust crate governor to 0.7.0 (#92) - ([cbd304c](https://codeberg.org/ThetaDev/artifactview/commit/cbd304c84195983596156a95c26d65a89e93df8a))
- *(deps)* Update rust crate thiserror to v1.0.65 (#94) - ([2df196a](https://codeberg.org/ThetaDev/artifactview/commit/2df196a2e666e8186d9ff66e885123c8a48c743c))
- *(deps)* Update rust crate serde to v1.0.213 (#93) - ([e5b9105](https://codeberg.org/ThetaDev/artifactview/commit/e5b9105da1fb0c63584cc409b5dd98c1fe045f9b))
- *(deps)* Update rust crate tokio to v1.41.0 (#95) - ([1dc4fe2](https://codeberg.org/ThetaDev/artifactview/commit/1dc4fe225c01f237f6a698fced7eff72cfb8ee85))
- *(deps)* Update rust crate pin-project to v1.1.7 (#96) - ([c82bccc](https://codeberg.org/ThetaDev/artifactview/commit/c82bccca9098281fa42ded5d5527eadb3cbcce88))
- *(deps)* Update rust crate regex to v1.11.1 (#97) - ([613815a](https://codeberg.org/ThetaDev/artifactview/commit/613815aa1ebc01643e117ca9fafcb37bfe7d29d7))
- *(deps)* Update rust crate axum-test to v16.3.0 (#98) - ([b2070ec](https://codeberg.org/ThetaDev/artifactview/commit/b2070ec460e45eeb9997885bd7cf54913f9f4183))
- *(deps)* Update rust crate insta to v1.41.0 (#99) - ([5aec8d6](https://codeberg.org/ThetaDev/artifactview/commit/5aec8d677f089ff5092fe78655170d52e544baeb))
- *(deps)* Update rust crate quick-xml to 0.37.0 (#100) - ([72e20d4](https://codeberg.org/ThetaDev/artifactview/commit/72e20d413e80b86d49ea0b275ce6aece99d75314))
- *(deps)* Update rust crate reqwest to v0.12.9 (#101) - ([d45e8e6](https://codeberg.org/ThetaDev/artifactview/commit/d45e8e63c9ce4067a05839643581b9f42e4048ec))
- *(deps)* Update rust crate serde to v1.0.214 (#102) - ([2a1ebd7](https://codeberg.org/ThetaDev/artifactview/commit/2a1ebd7b854ca82cceb768202e4d9ee984007311))
- *(deps)* Update rust crate futures-lite to v2.4.0 (#103) - ([3bda063](https://codeberg.org/ThetaDev/artifactview/commit/3bda06357809e68c0804aa425e625893af1bbde2))
- *(deps)* Update rust crate insta to v1.41.1 (#104) - ([a406bff](https://codeberg.org/ThetaDev/artifactview/commit/a406bffabeeb2627cd5ef74f3520add6eb0a8d6c))
- *(deps)* Update rust crate thiserror to v1.0.66 (#105) - ([8f89fc9](https://codeberg.org/ThetaDev/artifactview/commit/8f89fc9953370c4325c63762e4451d37a1a4a64a))
- *(deps)* Update rust crate scraper to 0.21.0 (#106) - ([1f00bbf](https://codeberg.org/ThetaDev/artifactview/commit/1f00bbfac53521cf0f76cf6fc4bf23e7a5e10562))
- *(deps)* Update rust crate thiserror to v1.0.67 (#107) - ([39a76ea](https://codeberg.org/ThetaDev/artifactview/commit/39a76eaa334d3f57e30e3ba95eb781dfa7aee1ee))
- *(deps)* Update rust crate thiserror to v1.0.68 (#108) - ([a48af07](https://codeberg.org/ThetaDev/artifactview/commit/a48af07d936a77977d602649fe579941b2cd2630))
- *(deps)* Update rust crate url to v2.5.3 (#109) - ([44cc0c1](https://codeberg.org/ThetaDev/artifactview/commit/44cc0c10103eb8fc10ddcc17e559479fadcbe4f1))
- *(deps)* Update rust crate tokio to v1.41.1 (#111) - ([dd809ce](https://codeberg.org/ThetaDev/artifactview/commit/dd809ce3f322fe8dafadeb802be7fcf905aa2f02))
- *(deps)* Update rust crate thiserror to v2 (#110) - ([8cb636c](https://codeberg.org/ThetaDev/artifactview/commit/8cb636ccc9c93800e6e98522de5c38bb05e76fdb))
- *(deps)* Update rust crate futures-lite to v2.5.0 (#112) - ([c05eb56](https://codeberg.org/ThetaDev/artifactview/commit/c05eb562a9d10945ee534ef50208aeb004023c51))
- *(deps)* Update rust crate thiserror to v2.0.3 (#113) - ([a695cef](https://codeberg.org/ThetaDev/artifactview/commit/a695cef57d5c73492d806958290bb37bd9613125))
- *(deps)* Update rust crate serde to v1.0.215 (#114) - ([3497592](https://codeberg.org/ThetaDev/artifactview/commit/34975924b1e1c3d5367346a1e0274a435496091f))
- *(deps)* Update rust crate flate2 to v1.0.35 (#115) - ([0b9498c](https://codeberg.org/ThetaDev/artifactview/commit/0b9498c541c0188fd7c82a99b2f778251b831df3))
- *(deps)* Update rust crate axum to v0.7.8 (#116) - ([79623d9](https://codeberg.org/ThetaDev/artifactview/commit/79623d9bc2d40e43374c4a2934d6bbac1235bae7))
- *(deps)* Update rust crate axum-extra to v0.9.5 (#117) - ([b35cfe3](https://codeberg.org/ThetaDev/artifactview/commit/b35cfe3f4fe402943ee3238b671c18449c5437ba))
- *(deps)* Update rust crate axum-test to v16.4.0 (#118) - ([e370001](https://codeberg.org/ThetaDev/artifactview/commit/e37000143e752b4bc496797de2410be33d3adf2b))
- *(deps)* Update rust crate axum to v0.7.9 (#119) - ([cab58d2](https://codeberg.org/ThetaDev/artifactview/commit/cab58d284e6b9f2e6b730d9b3f6d648d0955832d))
- *(deps)* Update rust crate quick-xml to v0.37.1 (#121) - ([dffcd16](https://codeberg.org/ThetaDev/artifactview/commit/dffcd16a60b456e9ed547b2a01342df3585e607f))
- *(deps)* Update rust crate axum-extra to v0.9.6 (#120) - ([4cf0084](https://codeberg.org/ThetaDev/artifactview/commit/4cf0084e24969d15149468de42cf6ed15e1169f5))
- *(deps)* Update rust crate serde_json to v1.0.133 (#122) - ([5231609](https://codeberg.org/ThetaDev/artifactview/commit/52316093cdad4ceca274e4c65035842e0413892e))
- *(deps)* Update rust crate tower-http to v0.6.2 (#123) - ([8158497](https://codeberg.org/ThetaDev/artifactview/commit/8158497a73367fb2280d48350e3afa868c006d65))
- *(deps)* Update rust crate zip to v2.2.1 (#124) - ([81c8521](https://codeberg.org/ThetaDev/artifactview/commit/81c852126ca45172bd00f75a5007263fefb5967b))
- *(deps)* Update rust crate url to v2.5.4 (#125) - ([c99dfa8](https://codeberg.org/ThetaDev/artifactview/commit/c99dfa809175e84261245b2680a964b95d81b4e3))
- *(deps)* Update rust crate comrak to 0.30.0 (#126) - ([389dd6f](https://codeberg.org/ThetaDev/artifactview/commit/389dd6f536b9044a8b9675c3ad34fa218028d154))
- *(deps)* Update rust crate async-compression to v0.4.18 (#127) - ([05f20f4](https://codeberg.org/ThetaDev/artifactview/commit/05f20f44ac4910e600f318d656d376d52fd6b131))
- *(deps)* Update rust crate comrak to 0.31.0 (#128) - ([5fd14aa](https://codeberg.org/ThetaDev/artifactview/commit/5fd14aada8f310fdeb0b2dc33a15de0b195ebc81))
- *(deps)* Update rust crate tracing to v0.1.41 (#129) - ([ab3479f](https://codeberg.org/ThetaDev/artifactview/commit/ab3479f0d1b3a30413df654cc9f2e7a52081b542))
- *(deps)* Update rust crate tracing-subscriber to v0.3.19 (#130) - ([1f9847b](https://codeberg.org/ThetaDev/artifactview/commit/1f9847b3edd73c1e905feb88087ee4325364ddda))
- *(deps)* Update rust crate thiserror to v2.0.4 (#131) - ([e9d1226](https://codeberg.org/ThetaDev/artifactview/commit/e9d122639022d3b5b68b4626e00442a81acf85f5))
- *(deps)* Update rust crate time to v0.3.37 (#132) - ([6fc7263](https://codeberg.org/ThetaDev/artifactview/commit/6fc7263f5996abefdb71fd5ecae277ec707cbdd9))
- *(deps)* Update rust crate http to v1.2.0 (#133) - ([5f517ae](https://codeberg.org/ThetaDev/artifactview/commit/5f517ae6c784e4fbc99ca69650d85621e90f776c))
- *(deps)* Update rust crate tokio to v1.42.0 (#134) - ([b15c4b0](https://codeberg.org/ThetaDev/artifactview/commit/b15c4b009a268cd4227846f166131aad5628f87d))
- *(deps)* Update rust crate tokio-util to v0.7.13 (#135) - ([f43f06c](https://codeberg.org/ThetaDev/artifactview/commit/f43f06c33462c15a8a752493f14c86d9dbde0e8d))
- *(deps)* Update rust crate thiserror to v2.0.5 (#136) - ([94c589c](https://codeberg.org/ThetaDev/artifactview/commit/94c589c20936c8e56be3147fd01e51d8b25e617f))
- *(deps)* Update rust crate thiserror to v2.0.6 (#137) - ([5e83ab5](https://codeberg.org/ThetaDev/artifactview/commit/5e83ab510614db696a7245ad5027c717b3493cab))
- *(deps)* Update rust crate chrono to v0.4.39 (#138) - ([8e9c5aa](https://codeberg.org/ThetaDev/artifactview/commit/8e9c5aad48378c2fa1a1d3d370b96de2fca5dd86))
- *(deps)* Update rust crate governor to 0.8.0 (#139) - ([b24136e](https://codeberg.org/ThetaDev/artifactview/commit/b24136ec597d2b4c579176a6a7845878549478bb))
- *(deps)* Update rust crate scraper to 0.22.0 (#140) - ([f48c570](https://codeberg.org/ThetaDev/artifactview/commit/f48c57021505091b22c36bd49bd4527e652b8d78))
- *(deps)* Update rust crate serde to v1.0.216 (#141) - ([7d9827f](https://codeberg.org/ThetaDev/artifactview/commit/7d9827f9fc52aa88f19efa371e36877723328248))
- *(deps)* Update rust crate thiserror to v2.0.7 (#142) - ([1e26d04](https://codeberg.org/ThetaDev/artifactview/commit/1e26d04b068f9c2e0a65a3dbcc43f66d118a6043))
- *(deps)* Update rust crate axum-test to v16.4.1 (#143) - ([3244de4](https://codeberg.org/ThetaDev/artifactview/commit/3244de48fc2691898599ab20f2baa888db9f3c82))
- *(deps)* Update rust crate zip to v2.2.2 (#144) - ([98ba21e](https://codeberg.org/ThetaDev/artifactview/commit/98ba21e7979bfbdd06fb46da8e45f97f71dc2c99))
- *(deps)* Update rust crate proptest to v1.6.0 (#145) - ([d28f979](https://codeberg.org/ThetaDev/artifactview/commit/d28f9790b825b2af749e3fcd07718faa91c2a942))
- *(deps)* Update rust crate comrak to 0.32.0 (#146) - ([f6b0e06](https://codeberg.org/ThetaDev/artifactview/commit/f6b0e06dc1a39311c4473e0f4c3c5742a352e00f))
- *(deps)* Update rust crate thiserror to v2.0.8 (#147) - ([e87b71c](https://codeberg.org/ThetaDev/artifactview/commit/e87b71cc0df91f0ee71a88a3bd0127d4f8c74eea))
- *(deps)* Update rust crate env_logger to v0.11.6 (#148) - ([8e295a9](https://codeberg.org/ThetaDev/artifactview/commit/8e295a96decd532fdd854ee8950a68d496c1617d))
- *(deps)* Update rust crate serde_json to v1.0.134 (#149) - ([c90116c](https://codeberg.org/ThetaDev/artifactview/commit/c90116c9bac801e57062a462bd7a08a5fd6389b2))
- *(deps)* Update rust crate thiserror to v2.0.9 (#150) - ([2a2a8e0](https://codeberg.org/ThetaDev/artifactview/commit/2a2a8e0b310b4ddcf15f20b1189bf768499f6b75))
- *(deps)* Update rust crate serde to v1.0.217 (#151) - ([abe8f92](https://codeberg.org/ThetaDev/artifactview/commit/abe8f92ab8cdee926ca1ad4faf280427a9439e0e))
- *(deps)* Update rust crate quick-xml to v0.37.2 (#152) - ([d778789](https://codeberg.org/ThetaDev/artifactview/commit/d7787899593d60243c1efa6dd036fc44e9c51868))
- *(deps)* Update rust crate axum-extra to 0.10.0 (#154) - ([55621fb](https://codeberg.org/ThetaDev/artifactview/commit/55621fbbea51aed2234e43fa4b5ed61524ca1805))
- *(deps)* Update rust crate rstest to 0.24.0 (#155) - ([b3cc2b5](https://codeberg.org/ThetaDev/artifactview/commit/b3cc2b53dc032d2821748895c983dde49c56eb65))
- *(deps)* Update rust crate reqwest to v0.12.12 (#156) - ([cd73f48](https://codeberg.org/ThetaDev/artifactview/commit/cd73f4828f67d31dee356cb98a1ac45354e0e728))
- *(deps)* Update rust crate comrak to 0.33.0 (#158) - ([1ce03ca](https://codeberg.org/ThetaDev/artifactview/commit/1ce03ca19f4032d5e88c8efbe83b98c45d98247d))
- *(deps)* Update rust crate insta to v1.42.0 (#159) - ([5b138fa](https://codeberg.org/ThetaDev/artifactview/commit/5b138fae112d47a08b0940d61bd403047a8567fa))
- *(deps)* Update rust crate pin-project to v1.1.8 (#161) - ([13ee5cc](https://codeberg.org/ThetaDev/artifactview/commit/13ee5cc2456180bfdc47a2d9e3a0dfe9a2dacd7d))
- *(deps)* Update rust crate serde_json to v1.0.135 (#162) - ([8417ea3](https://codeberg.org/ThetaDev/artifactview/commit/8417ea34a0808d2ba25194021bbe38538ce52ddf))
- *(deps)* Update rust crate thiserror to v2.0.10 (#163) - ([c2ee6cd](https://codeberg.org/ThetaDev/artifactview/commit/c2ee6cd84933e7cb2167b4cd34ec47f926105e59))
- *(deps)* Update rust crate tokio to v1.43.0 (#164) - ([db790e0](https://codeberg.org/ThetaDev/artifactview/commit/db790e0811e9a67a63dc4708ca928efbcff1eb49))
- *(deps)* Update rust crate thiserror to v2.0.11 (#165) - ([db0a4fd](https://codeberg.org/ThetaDev/artifactview/commit/db0a4fd5d48842ff48a375d241139ad91796422b))
- *(deps)* Update rust crate futures-lite to v2.6.0 (#166) - ([c9a6d67](https://codeberg.org/ThetaDev/artifactview/commit/c9a6d6786f763825874520776653b311bc7bd5d8))
- *(deps)* Update rust crate serde_json to v1.0.137 (#167) - ([558ce7d](https://codeberg.org/ThetaDev/artifactview/commit/558ce7daa8fbedac507f2d6e01961896eb8daac0))
- *(deps)* Update rust crate comrak to 0.34.0 (#168) - ([a88977a](https://codeberg.org/ThetaDev/artifactview/commit/a88977af942d275422670984ddbefa53f8d61e13))
- *(deps)* Update rust crate comrak to 0.35.0 (#169) - ([4042ded](https://codeberg.org/ThetaDev/artifactview/commit/4042ded5aee3763c293ffd264cb2428eb4266845))
- *(deps)* Update rust crate insta to v1.42.1 (#170) - ([0c49fe7](https://codeberg.org/ThetaDev/artifactview/commit/0c49fe751a833ca684bfc39d19e2f1eb7ea269f5))
- *(deps)* Update rust crate axum to 0.8.0 (#157) - ([2c2893d](https://codeberg.org/ThetaDev/artifactview/commit/2c2893da218737572e3943e2b72f7cec4ca6798f))
## [v0.4.7](https://codeberg.org/ThetaDev/artifactview/compare/v0.4.6..v0.4.7) - 2024-10-12
### 🐛 Bug Fixes
- *(deps)* Update rust crate serde_json to v1.0.121 (#29) - ([df805bf](https://codeberg.org/ThetaDev/artifactview/commit/df805bfe8394dd148ded1d4d3af901eb97593885))
- *(deps)* Update rust crate serde_json to v1.0.122 (#32) - ([db67487](https://codeberg.org/ThetaDev/artifactview/commit/db67487abdfc15fe55854fcb233e0bb876b603b3))
- *(deps)* Update rust crate regex to v1.10.6 (#33) - ([7c2a976](https://codeberg.org/ThetaDev/artifactview/commit/7c2a97666d98d4959affbb8ece93c4ba162a760d))
- *(deps)* Update rust crate serde-env to 0.2.0 (#37) - ([6b7d107](https://codeberg.org/ThetaDev/artifactview/commit/6b7d107387ff3e52e62e4ed19c64e63f8048c478))
- *(deps)* Update rust crate serde to v1.0.205 (#38) - ([f9698b5](https://codeberg.org/ThetaDev/artifactview/commit/f9698b5a7f9c7f3748d4d7aa38f7dc4c0f5f2029))
- *(deps)* Update rust crate serde to v1.0.206 (#39) - ([ed86f30](https://codeberg.org/ThetaDev/artifactview/commit/ed86f30cf4a736eeb4a3d471e81b8e7f7344b53b))
- *(deps)* Update rust crate serde_json to v1.0.124 (#40) - ([cc6a495](https://codeberg.org/ThetaDev/artifactview/commit/cc6a4959983205ae2f40d81c9a40c8514165c0bb))
- *(deps)* Update rust crate serde to v1.0.207 (#41) - ([0c2b39a](https://codeberg.org/ThetaDev/artifactview/commit/0c2b39a68a1adb567a1582f0c1b9e024fda9ed53))
- *(deps)* Update rust crate serde to v1.0.208 (#43) - ([8073e90](https://codeberg.org/ThetaDev/artifactview/commit/8073e90f685d80565db81e23769841c16c2af261))
- *(deps)* Update rust crate serde_json to v1.0.125 (#44) - ([4b3639a](https://codeberg.org/ThetaDev/artifactview/commit/4b3639aea7beed4ebc421fdfe26823be164d5c1c))
- *(deps)* Update rust crate comrak to 0.27.0 (#46) - ([3cef317](https://codeberg.org/ThetaDev/artifactview/commit/3cef3175767170824f604fcccdc912bf09745bf9))
- *(deps)* Update rust crate comrak to 0.28.0 (#47) - ([a88a3c6](https://codeberg.org/ThetaDev/artifactview/commit/a88a3c6103e776a4d10b3f7e6e9a37a2c672cfba))
- *(deps)* Update rust crate quick_cache to v0.6.6 (#50) - ([73959c0](https://codeberg.org/ThetaDev/artifactview/commit/73959c00f2c54b682c3db8640ca12319ce4ee37d))
- *(deps)* Update rust crate reqwest to v0.12.7 (#51) - ([22d5626](https://codeberg.org/ThetaDev/artifactview/commit/22d5626bf025783a127cd99faa0052778e0253b1))
- *(deps)* Update rust crate serde to v1.0.210 (#52) - ([f8c9d6f](https://codeberg.org/ThetaDev/artifactview/commit/f8c9d6f7cb475f4642f5e4f11108c4d053cc8c7e))
- *(deps)* Update rust crate serde_json to v1.0.128 (#57) - ([a48e23b](https://codeberg.org/ThetaDev/artifactview/commit/a48e23beceefc1b4c51910dc7114ab62abfd189c))
- *(deps)* Update rust crate quick_cache to v0.6.9 (#59) - ([4eb2b22](https://codeberg.org/ThetaDev/artifactview/commit/4eb2b22a8f1c2b1b28f72303d364708d04790eca))
- *(deps)* Update rust crate tower-http to 0.6.0 (#61) - ([1d03f5b](https://codeberg.org/ThetaDev/artifactview/commit/1d03f5b4b09596a68893126d8b177226b62fb38a))
- *(deps)* Update rust crate axum to v0.7.6 (#62) - ([61f65e5](https://codeberg.org/ThetaDev/artifactview/commit/61f65e54db431b3e94d21188920ae88233c44d3b))
- *(deps)* Update rust crate quick-xml to v0.36.2 (#64) - ([de4459f](https://codeberg.org/ThetaDev/artifactview/commit/de4459f646444a949c390394524f284a1944a0da))
- *(deps)* Update rust crate axum-extra to v0.9.4 (#63) - ([6619ef6](https://codeberg.org/ThetaDev/artifactview/commit/6619ef60e44832dd8839bcaf82d43707965b772a))
- *(deps)* Update rust crate thiserror to v1.0.64 (#66) - ([923f97f](https://codeberg.org/ThetaDev/artifactview/commit/923f97f8e9d0855ff97685496221a180018ae686))
- *(deps)* Update rust crate tower-http to v0.6.1 (#68) - ([ca0734d](https://codeberg.org/ThetaDev/artifactview/commit/ca0734d47072d555ba07b2f512975b9379305a58))
- *(deps)* Update rust crate secrecy to 0.10.0 (#60) - ([72d0cde](https://codeberg.org/ThetaDev/artifactview/commit/72d0cde37075220cc6a938840ad30781ecdcbaa7))
### ⚙️ Miscellaneous Tasks
- *(deps)* Update rust crate zip to v2.1.6 (#31) - ([7e0aaa8](https://codeberg.org/ThetaDev/artifactview/commit/7e0aaa8362005b56526ed5a6114f473893a5cf46))
- *(deps)* Update rust crate flate2 to v1.0.31 (#34) - ([01e6a9c](https://codeberg.org/ThetaDev/artifactview/commit/01e6a9c8ad1f7c7dd5307a02a4a2b3c381aeacd6))
- *(deps)* Update rust crate rstest to 0.22.0 (#35) - ([b9d0a29](https://codeberg.org/ThetaDev/artifactview/commit/b9d0a29741138a4dd7b758417b003c9bddc35f3e))
- *(deps)* Update rust crate scraper to 0.20.0 (#36) - ([ca174a3](https://codeberg.org/ThetaDev/artifactview/commit/ca174a3aa21d0466930c2aa3291c2ecbed2ac31f))
- *(deps)* Update rust crate axum-test to v15.3.1 (#42) - ([24171c9](https://codeberg.org/ThetaDev/artifactview/commit/24171c9800aa52270c203e5a5fc40f520b6ac74c))
- *(deps)* Update rust crate tokio to v1.39.3 (#45) - ([63978d7](https://codeberg.org/ThetaDev/artifactview/commit/63978d79f9c3e276e59d7f3a558cec5f8f88e17e))
- *(deps)* Update rust crate flate2 to v1.0.33 (#48) - ([980e596](https://codeberg.org/ThetaDev/artifactview/commit/980e5968eaa909c9d7a72d78156d3465c4599abe))
- *(deps)* Update rust crate tokio-util to v0.7.12 (#49) - ([78179fd](https://codeberg.org/ThetaDev/artifactview/commit/78179fd73791c47cd3a60a37e704472109b50c15))
- *(deps)* Update rust crate insta to v1.40.0 (#54) - ([03597d1](https://codeberg.org/ThetaDev/artifactview/commit/03597d10e58eca8a56e4708971cac1750e7707f4))
- *(deps)* Update rust crate tokio to v1.40.0 (#55) - ([97b9610](https://codeberg.org/ThetaDev/artifactview/commit/97b9610f308c8ad0a083f6522c8b661c4b2c1e4f))
- *(deps)* Update rust crate zip to v2.2.0 (#56) - ([3f719ac](https://codeberg.org/ThetaDev/artifactview/commit/3f719ac939612722b82b8bad2744b4570ff40df7))
- *(deps)* Update rust crate once_cell to v1.20.0 (#58) - ([f8a95c8](https://codeberg.org/ThetaDev/artifactview/commit/f8a95c82e4a627d10906330327e94cd829d6f4c8))
- *(deps)* Update rust crate axum-test to v15.7.1 (#53) - ([7a92941](https://codeberg.org/ThetaDev/artifactview/commit/7a92941452b0e2f59e0ceda49a378f0ef43784cb))
- *(deps)* Update rust crate axum-test to v15.7.3 (#65) - ([82ca6dd](https://codeberg.org/ThetaDev/artifactview/commit/82ca6dd6bff9d8cb87a349cc8edb46f42a9721fc))
- *(deps)* Update rust crate axum-test to v16 (#69) - ([dbcee49](https://codeberg.org/ThetaDev/artifactview/commit/dbcee4945c0be57534bdd2d7d98d85767e0cf92c))
- *(deps)* Update rust crate flate2 to v1.0.34 (#70) - ([6f3544e](https://codeberg.org/ThetaDev/artifactview/commit/6f3544e3d8051697053cad5a751df6a1b4bc658b))
- *(deps)* Update rust crate axum to v0.7.7 (#71) - ([01c494c](https://codeberg.org/ThetaDev/artifactview/commit/01c494c2773dc67f922beed7e84aa2ff59fb575f))
- *(deps)* Update rust crate axum-test to v16.0.1 (#72) - ([2367512](https://codeberg.org/ThetaDev/artifactview/commit/23675124bdb15e01f037a6380f97f4d2921a34eb))
- *(deps)* Update rust crate once_cell to v1.20.1 (#73) - ([484f113](https://codeberg.org/ThetaDev/artifactview/commit/484f1136469f5459b1d464944621e9db450d2f6a))
- *(deps)* Update rust crate axum-test to v16.1.0 (#74) - ([2ed0cdc](https://codeberg.org/ThetaDev/artifactview/commit/2ed0cdc4a372c0a40de2ddc70a14b658a3619eec))
- *(deps)* Update rust crate regex to v1.11.0 (#75) - ([e436f77](https://codeberg.org/ThetaDev/artifactview/commit/e436f77c3e4969d83c42d45201c15f0375d90ad0))
- *(deps)* Update rust crate rstest to 0.23.0 (#76) - ([7c684eb](https://codeberg.org/ThetaDev/artifactview/commit/7c684eb5657eda84668bf3a1aadf38f1e4ac51db))
- *(deps)* Update rust crate reqwest to v0.12.8 (#77) - ([a3f028f](https://codeberg.org/ThetaDev/artifactview/commit/a3f028f2ad11d3e599bf20d1f92679bf8b8dafc4))
- *(deps)* Update rust crate async-compression to v0.4.13 (#78) - ([7cefbd4](https://codeberg.org/ThetaDev/artifactview/commit/7cefbd4a67e5636f046177f35fce14fff6300cb4))
- *(deps)* Update rust crate once_cell to v1.20.2 (#79) - ([8309901](https://codeberg.org/ThetaDev/artifactview/commit/8309901a8c658cdf948889df57b731147d77c949))
- *(deps)* Update rust crate pin-project to v1.1.6 (#80) - ([6ca7088](https://codeberg.org/ThetaDev/artifactview/commit/6ca7088b9c7ecd001df52f9cb35e86301c231bbb))
- *(deps)* Update rust crate axum-test to v16.2.0 (#81) - ([e63baec](https://codeberg.org/ThetaDev/artifactview/commit/e63baec2490e069953f63d158f9af212f154055b))
- *(deps)* Update rust crate secrecy to v0.10.3 (#82) - ([a2dc40f](https://codeberg.org/ThetaDev/artifactview/commit/a2dc40f4443cb3c3d1c7cf2b9e7178777c4b73e7))
- *(deps)* Update rust crate async-compression to v0.4.14 (#83) - ([51f098f](https://codeberg.org/ThetaDev/artifactview/commit/51f098f4ada63ddc550774a60a81eb3d55697b44))
- *(deps)* Update rust crate comrak to 0.29.0 (#84) - ([5da4074](https://codeberg.org/ThetaDev/artifactview/commit/5da4074bb9e87c9d17ed70669b6e47a3d57b1e8f))
## [v0.4.6](https://codeberg.org/ThetaDev/artifactview/compare/v0.4.5..v0.4.6) - 2024-07-28
### 🐛 Bug Fixes
- *(deps)* Update rust crate serde_json to v1.0.120 (#14) - ([06f9c27](https://codeberg.org/ThetaDev/artifactview/commit/06f9c278a857a272580ee1c4f8e58078556accda))
- *(deps)* Update rust crate quick_cache to 0.6.0 (#15) - ([2e06266](https://codeberg.org/ThetaDev/artifactview/commit/2e0626667e5fc344df9870cd8c924b9dd60886bb))
- *(deps)* Update rust crate serde to v1.0.204 (#16) - ([1321386](https://codeberg.org/ThetaDev/artifactview/commit/13213861ba0ea30504caa50da2a99af567876e5c))
- *(deps)* Update rust crate quick-xml to 0.36.0 (#19) - ([5f94794](https://codeberg.org/ThetaDev/artifactview/commit/5f94794d24f300762da2ab162f4336508b516eda))
- *(deps)* Update rust crate async-compression to v0.4.12 (#22) - ([88c635c](https://codeberg.org/ThetaDev/artifactview/commit/88c635cbad535eb902ea54a314e8511965a792b4))
- *(deps)* Update rust crate quick-xml to v0.36.1 (#23) - ([c5c9f85](https://codeberg.org/ThetaDev/artifactview/commit/c5c9f85e4baec58dcc2001ac3a7f005c7f501557))
- *(deps)* Update rust crate quick_cache to v0.6.2 (#24) - ([a5d4973](https://codeberg.org/ThetaDev/artifactview/commit/a5d49733fd84ba37e8c258f191bf79f4affb86f9))
- *(deps)* Update rust crate thiserror to v1.0.63 (#25) - ([b67b173](https://codeberg.org/ThetaDev/artifactview/commit/b67b1730b1e9c06b4ff99774c37c71391f48f93a))
- *(deps)* Update rust crate comrak to 0.26.0 (#27) - ([642930d](https://codeberg.org/ThetaDev/artifactview/commit/642930d397efa106267bd2aff8c413ab4173a5c6))
### ⚙️ Miscellaneous Tasks
- *(deps)* Update rust crate axum-test to v15.3.0 (#17) - ([a88f1ba](https://codeberg.org/ThetaDev/artifactview/commit/a88f1ba91c054fdb267f0edef10aacf14a909694))
- *(deps)* Lock file maintenance (#18) - ([f41a922](https://codeberg.org/ThetaDev/artifactview/commit/f41a92243c91086d5d774410b1452303fad64ccf))
- *(deps)* Update rust crate env_logger to v0.11.5 (#20) - ([c9db056](https://codeberg.org/ThetaDev/artifactview/commit/c9db0567916e500017034d6a99eb48a25a1671e0))
- *(deps)* Update rust crate scraper to v0.19.1 (#21) - ([1a5c056](https://codeberg.org/ThetaDev/artifactview/commit/1a5c056204b488e36ef95145b05a674c661a2154))
- *(deps)* Update rust crate tokio to v1.39.1 (#26) - ([057a365](https://codeberg.org/ThetaDev/artifactview/commit/057a365a0ecafe00fa84e53c736272f5db26f0f1))
- *(deps)* Update rust crate tokio to v1.39.2 (#28) - ([3ae7f88](https://codeberg.org/ThetaDev/artifactview/commit/3ae7f8813e19818098a6b67d0c6770db8a79defe))
- *(deps)* Update rust crate zip to v2 (#9) - ([a7160fa](https://codeberg.org/ThetaDev/artifactview/commit/a7160fadde6c95c6c03c90c5d2301738c8e559c2))
## [v0.4.5](https://codeberg.org/ThetaDev/artifactview/compare/v0.4.4..v0.4.5) - 2024-07-01
### 🚀 Features
- Update PR comment format - ([197eeea](https://codeberg.org/ThetaDev/artifactview/commit/197eeea75baa8ba44d27ec46c5f552028052869b))
### 🐛 Bug Fixes
- *(deps)* Update rust crate serde_json to v1.0.118 (#5) - ([fc3b5a1](https://codeberg.org/ThetaDev/artifactview/commit/fc3b5a1530985012ff8364a8fa676626e7544eaf))
- *(deps)* Update rust crate quick-xml to 0.34.0 (#8) - ([595a9d0](https://codeberg.org/ThetaDev/artifactview/commit/595a9d0f4115faf5056653406b6d05bf671dc2b3))
- *(deps)* Update rust crate mime_guess to v2.0.5 (#10) - ([94191f8](https://codeberg.org/ThetaDev/artifactview/commit/94191f878d774bef165cca850fcdf00fde16d662))
- *(deps)* Update rust crate quick-xml to 0.35.0 (#11) - ([7ebe881](https://codeberg.org/ThetaDev/artifactview/commit/7ebe8815462f3e704a79af038b9b1850ed4677ed))
- *(deps)* Update rust crate serde_json to v1.0.119 (#12) - ([2525022](https://codeberg.org/ThetaDev/artifactview/commit/2525022df76b3c16951983c14a55fa9617114a8e))
- Swap crc and size column (#3) - ([7d2c686](https://codeberg.org/ThetaDev/artifactview/commit/7d2c68630ec6e75061c050a4c8b035edb472d150))
### 📚 Documentation
- Make example CI step compatible with GitHub+Forgejo - ([39f0019](https://codeberg.org/ThetaDev/artifactview/commit/39f0019455cc23f1b8c39b77d2aaa5af278731a9))
- Update README - ([40ae3a7](https://codeberg.org/ThetaDev/artifactview/commit/40ae3a7f557c63a0bb2abcd595218c8ec1095fe7))
### ⚙️ Miscellaneous Tasks
- *(deps)* Update rust crate proptest to v1.5.0 (#6) - ([797fc0c](https://codeberg.org/ThetaDev/artifactview/commit/797fc0c04c2a51811a24cfc431496e6e5dbf0bea))
- *(deps)* Update rust crate rstest to 0.21.0 (#7) - ([cec3aa3](https://codeberg.org/ThetaDev/artifactview/commit/cec3aa3fc02e6a871d9c221f61c3f2d8828f9f63))
- *(deps)* Lock file maintenance (#13) - ([9767167](https://codeberg.org/ThetaDev/artifactview/commit/9767167661e22775614cea7b888a19ee16c17d65))
## [v0.4.4](https://codeberg.org/ThetaDev/artifactview/compare/v0.4.3..v0.4.4) - 2024-06-22
### 🐛 Bug Fixes
- Use forge aliases for PR comment links - ([3690b02](https://codeberg.org/ThetaDev/artifactview/commit/3690b0244cf47d0d73511f5f69f5d12abe0f1837))
## [v0.4.3](https://codeberg.org/ThetaDev/artifactview/compare/v0.4.2..v0.4.3) - 2024-06-22
### 🐛 Bug Fixes
- 404 error on GitHub comment creation - ([d8c3ab4](https://codeberg.org/ThetaDev/artifactview/commit/d8c3ab4f36727f118b31683db87d287d9945ee14))
## [v0.4.2](https://codeberg.org/ThetaDev/artifactview/compare/v0.4.1..v0.4.2) - 2024-06-22
### 🐛 Bug Fixes

1589
Cargo.lock generated

File diff suppressed because it is too large Load diff

View file

@ -1,6 +1,6 @@
[package]
name = "artifactview"
version = "0.4.2"
version = "0.4.8"
edition = "2021"
authors = ["ThetaDev <thetadev@magenta.de>"]
license = "MIT"
@ -21,7 +21,7 @@ async_zip = { path = "crates/async_zip", features = [
"tokio-fs",
"deflate",
] }
axum = { version = "0.7.5", default-features = false, features = [
axum = { version = "0.8.0", default-features = false, features = [
"http1",
"http2",
"json",
@ -29,13 +29,13 @@ axum = { version = "0.7.5", default-features = false, features = [
"tokio",
"tracing",
] }
axum-extra = { version = "0.9.3", features = ["typed-header"] }
comrak = { version = "0.24.1", default-features = false }
axum-extra = { version = "0.10.0", features = ["typed-header"] }
comrak = { version = "0.35.0", default-features = false }
dotenvy = "0.15.7"
envy = { path = "crates/envy" }
flate2 = "1.0.30"
futures-lite = "2.3.0"
governor = "0.6.3"
governor = "0.8.0"
headers = "0.4.0"
http = "1.1.0"
humansize = "2.1.3"
@ -46,16 +46,16 @@ once_cell = "1.19.0"
path_macro = "1.0.0"
percent-encoding = "2.3.1"
pin-project = "1.1.5"
quick_cache = "0.5.1"
quick_cache = "0.6.0"
rand = "0.8.5"
regex = "1.10.4"
reqwest = { version = "0.12.4", default-features = false, features = [
"json",
"stream",
] }
secrecy = { version = "0.8.0", features = ["serde"] }
secrecy = { version = "0.10.0", features = ["serde"] }
serde = { version = "1.0.203", features = ["derive"] }
serde-env = "0.1.1"
serde-env = "0.2.0"
serde-hex = "0.1.0"
serde_json = "1.0.117"
serde_urlencoded = "0.7.1"
@ -66,11 +66,11 @@ syntect = { version = "5.2.0", default-features = false, features = [
"html",
"regex-onig",
] }
thiserror = "1.0.61"
thiserror = "2.0.0"
time = { version = "0.3.36", features = ["serde-human-readable", "macros"] }
tokio = { version = "1.37.0", features = ["macros", "fs", "rt-multi-thread"] }
tokio-util = { version = "0.7.11", features = ["io"] }
tower-http = { version = "0.5.2", features = ["trace", "set-header"] }
tower-http = { version = "0.6.0", features = ["trace", "set-header"] }
tracing = "0.1.40"
tracing-subscriber = "0.3.18"
url = "2.5.0"
@ -80,13 +80,13 @@ yarte = { version = "0.15.7", features = ["json"] }
yarte_helpers = "0.15.8"
[dev-dependencies]
axum-test = "15.0.1"
axum-test = "17.0.0"
flate2 = "1.0.30"
httpdate = "1.0.3"
insta = { version = "1.39.0", features = ["json"] }
proptest = "1.4.0"
rstest = { version = "0.20.0", default-features = false }
scraper = "0.19.0"
rstest = { version = "0.24.0", default-features = false }
scraper = "0.22.0"
temp_testdir = "0.2.3"
[workspace]

View file

@ -22,7 +22,8 @@ teammates.
- 👁️ Viewer for Markdown, syntax-highlighted code and JUnit test reports
- 🐵 Greasemonkey userscript to automatically add a "View artifact" button to
GitHub/Gitea/Forgejo
- 🦀 Fast and efficient, only extracts files from zip archive if necessary
- 🦀 Fast and efficient, only extracts files from zip archive if the client does not support gzip
- 🔗 Automatically creates pull request comments with links to all build artifacts
## How to use
@ -70,8 +71,7 @@ The script adds a "View artifact" link with an eye icon next to every CI artifac
both GitHub and Forgejo.
If you want to give every collaborator to your project easy access to previews, you can
use Artifactview to automatically create a pull request comments with links to the
artifacts.
automatically create a comment with links to the artifacts under every pull request.
![Pull request comment](./resources/screenshotPrComment.png)
@ -82,7 +82,9 @@ artifacts).
- name: 🔗 Artifactview PR comment
if: ${{ always() && github.event_name == 'pull_request' }}
run: |
curl -SsL --fail-with-body -w "\n" -X POST https://av.thetadev.de/.well-known/api/prComment -H "Content-Type: application/json" --data "{\"url\": \"$GITHUB_SERVER_URL/$GITHUB_REPOSITORY/actions/runs/$GITHUB_RUN_NUMBER\", \"pr\": ${{ github.event.number }}}"
if [[ "$GITEA_ACTIONS" == "true" ]]; then RUN_NUMBER="$GITHUB_RUN_NUMBER"; else RUN_NUMBER="$GITHUB_RUN_ID"; fi
curl -SsL --fail-with-body -w "\n" -X POST https://av.thetadev.de/.well-known/api/prComment -H "Content-Type: application/json" \
--data '{"url": "'"$GITHUB_SERVER_URL/$GITHUB_REPOSITORY/actions/runs/$RUN_NUMBER"'", "pr": ${{ github.event.number }}}'
```
## API
@ -254,11 +256,12 @@ Example list: `foo;bar`, example map: `foo=>f1;bar=>b1`
### Access tokens
GitHub does not allow downloading artifacts for public repositories for unauthenticated
users. So you need to setup an access token to use Artifactview with GitHub. These are
the permissions that need to be enabled:
users. So you need to setup an access token to use Artifactview with GitHub.
- Repository access: All repositories
- Repository permissions: Pull requests (Read and write)
If you are not using the `prComment` feature, you can use a fine-grained access token
with the "Public repositories (read-only)" permission. If you want to create pull
request comments, you have to use a classic token with the "public_repo" scope enabled
(the fine-grained tokens did not work in my test).
Forgejo does not require access tokens to download artifacts on public repositories, so
you only need to create a token if you want to use the `prComment`-API. In this case,

View file

@ -37,7 +37,7 @@ rustdoc-args = ["--cfg", "docsrs"]
crc32fast = "1"
futures-lite = { version = "2.1.0", default-features = false, features = ["std"] }
pin-project = "1"
thiserror = "1"
thiserror = "2"
async-compression = { version = "0.4.2", default-features = false, features = ["futures-io"], optional = true }
chrono = { version = "0.4", default-features = false, features = ["clock"], optional = true }
@ -49,7 +49,7 @@ tokio-util = { version = "0.7", features = ["compat"], optional = true }
tokio = { version = "1", features = ["full"] }
tokio-util = { version = "0.7", features = ["compat"] }
env_logger = "0.11.2"
zip = "0.6.3"
zip = "2.2.2"
# shared across multiple examples
# anyhow = "1"

View file

@ -51,7 +51,7 @@ where
}
}
impl<'a, R, E> AsyncRead for ZipEntryReader<'a, R, E>
impl<R, E> AsyncRead for ZipEntryReader<'_, R, E>
where
R: AsyncBufRead + Unpin,
{
@ -60,7 +60,7 @@ where
}
}
impl<'a, R, E> ZipEntryReader<'a, R, E>
impl<R, E> ZipEntryReader<'_, R, E>
where
R: AsyncBufRead + Unpin,
{
@ -118,7 +118,7 @@ enum OwnedEntry<'a> {
Borrow(&'a ZipEntry),
}
impl<'a> OwnedEntry<'a> {
impl OwnedEntry<'_> {
pub fn entry(&self) -> &'_ ZipEntry {
match self {
OwnedEntry::Owned(entry) => entry,

View file

@ -17,7 +17,7 @@ pub(crate) enum OwnedReader<'a, R> {
Borrow(#[pin] &'a mut R),
}
impl<'a, R> OwnedReader<'a, R>
impl<R> OwnedReader<'_, R>
where
R: AsyncBufRead + Unpin,
{
@ -30,7 +30,7 @@ where
}
}
impl<'a, R> AsyncBufRead for OwnedReader<'a, R>
impl<R> AsyncBufRead for OwnedReader<'_, R>
where
R: AsyncBufRead + Unpin,
{
@ -49,7 +49,7 @@ where
}
}
impl<'a, R> AsyncRead for OwnedReader<'a, R>
impl<R> AsyncRead for OwnedReader<'_, R>
where
R: AsyncBufRead + Unpin,
{

View file

@ -64,7 +64,7 @@ impl<'b, W: AsyncWrite + Unpin> CompressedAsyncWriter<'b, W> {
}
}
impl<'b, W: AsyncWrite + Unpin> AsyncWrite for CompressedAsyncWriter<'b, W> {
impl<W: AsyncWrite + Unpin> AsyncWrite for CompressedAsyncWriter<'_, W> {
fn poll_write(mut self: Pin<&mut Self>, cx: &mut Context, buf: &[u8]) -> Poll<std::result::Result<usize, Error>> {
match *self {
CompressedAsyncWriter::Stored(ref mut inner) => Pin::new(inner).poll_write(cx, buf),

View file

@ -251,7 +251,7 @@ impl<'b, W: AsyncWrite + Unpin> EntryStreamWriter<'b, W> {
}
}
impl<'a, W: AsyncWrite + Unpin> AsyncWrite for EntryStreamWriter<'a, W> {
impl<W: AsyncWrite + Unpin> AsyncWrite for EntryStreamWriter<'_, W> {
fn poll_write(mut self: Pin<&mut Self>, cx: &mut Context, buf: &[u8]) -> Poll<std::result::Result<usize, Error>> {
let poll = Pin::new(&mut self.writer).poll_write(cx, buf);

View file

@ -70,7 +70,7 @@ fn generate_zip64many_zip() -> std::path::PathBuf {
let zip_file = std::fs::File::create(&path).unwrap();
let mut zip = zip::ZipWriter::new(zip_file);
let options = FileOptions::default().compression_method(zip::CompressionMethod::Stored);
let options = FileOptions::<()>::default().compression_method(zip::CompressionMethod::Stored);
for i in 0..2_u32.pow(16) + 1 {
zip.start_file(format!("{i}.txt"), options).unwrap();

View file

@ -36,7 +36,7 @@ async fn test_write_zip64_file() {
let cursor = std::io::Cursor::new(buffer);
let mut zip = zip::read::ZipArchive::new(cursor).unwrap();
let mut file1 = zip.by_name("file1").unwrap();
assert_eq!(file1.extra_data(), &[] as &[u8]);
assert_eq!(file1.extra_data(), Some(&[] as &[u8]));
let mut buffer = Vec::new();
file1.read_to_end(&mut buffer).unwrap();
assert_eq!(buffer.as_slice(), &[0, 0, 0, 0]);

View file

@ -77,7 +77,7 @@ where
struct Val(String, String);
impl<'de> IntoDeserializer<'de, Error> for Val {
impl IntoDeserializer<'_, Error> for Val {
type Deserializer = Self;
fn into_deserializer(self) -> Self::Deserializer {
@ -87,7 +87,7 @@ impl<'de> IntoDeserializer<'de, Error> for Val {
struct VarName(String);
impl<'de> IntoDeserializer<'de, Error> for VarName {
impl IntoDeserializer<'_, Error> for VarName {
type Deserializer = Self;
fn into_deserializer(self) -> Self::Deserializer {
@ -248,7 +248,7 @@ struct Deserializer<'de, Iter: Iterator<Item = (String, String)>> {
inner: MapDeserializer<'de, Vars<Iter>, Error>,
}
impl<'de, Iter: Iterator<Item = (String, String)>> Deserializer<'de, Iter> {
impl<Iter: Iterator<Item = (String, String)>> Deserializer<'_, Iter> {
fn new(vars: Iter) -> Self {
Deserializer {
inner: MapDeserializer::new(Vars(vars)),
@ -308,7 +308,7 @@ where
/// These types are created with with the [prefixed](fn.prefixed.html) module function
pub struct Prefixed<'a>(Cow<'a, str>);
impl<'a> Prefixed<'a> {
impl Prefixed<'_> {
/// Deserializes a type based on prefixed env variables
pub fn from_env<T>(&self) -> Result<T>
where
@ -390,7 +390,7 @@ impl<'a> SplitEscaped<'a> {
}
}
impl<'a> Iterator for SplitEscaped<'a> {
impl Iterator for SplitEscaped<'_> {
type Item = String;
fn next(&mut self) -> Option<Self::Item> {

View file

@ -7,8 +7,8 @@ license = "BSD-2-Clause"
repository = "https://github.com/borisfaure/junit-parser"
[dependencies]
quick-xml = { version = "0.32.0", features = ["escape-html"] }
thiserror = "1.0.61"
quick-xml = { version = "0.37.0", features = ["escape-html"] }
thiserror = "2.0.0"
time = { version = "0.3.36", features = ["parsing", "serde-well-known"] }
serde = { version = "1.0", features = ["derive"] }

14
renovate.json Normal file
View file

@ -0,0 +1,14 @@
{
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
"extends": [
"config:best-practices",
":semanticCommitTypeAll(chore)",
":preserveSemverRanges"
],
"automerge": true,
"automergeStrategy": "squash",
"osvVulnerabilityAlerts": true,
"labels": ["dependency-upgrade"],
"enabledManagers": ["cargo"],
"prHourlyLimit": 5
}

View file

@ -11,12 +11,13 @@ use std::{
use async_zip::tokio::read::ZipEntryReader;
use axum::{
body::Body,
extract::{Host, Query as XQuery, Request, State},
extract::{Query as XQuery, Request, State},
http::{Response, Uri},
response::{IntoResponse, Redirect},
routing::{any, get, post},
Json, RequestExt, Router,
};
use axum_extra::extract::Host;
use futures_lite::AsyncReadExt as LiteAsyncReadExt;
use governor::{Quota, RateLimiter};
use headers::{ContentType, HeaderMapExt};
@ -175,7 +176,7 @@ impl App {
.route("/.well-known/api/prComment", post(Self::pr_comment))
// Prevent access to the .well-known folder since it enables abuse
// (e.g. SSL certificate registration by an attacker)
.route("/.well-known/*path", any(|| async { Error::Inaccessible }))
.route("/.well-known/{*path}", any(|| async { Error::Inaccessible }))
// Serve artifact pages
.route("/", get(Self::get_page))
.fallback(get(Self::get_page))
@ -672,7 +673,7 @@ impl App {
.extract::<Json<PrCommentReq>, _>()
.await
.map_err(|e| Error::BadRequest(e.body_text().into()))?;
let query = RunQuery::from_forge_url(&req.url)?;
let query = RunQuery::from_forge_url_alias(&req.url, &state.i.cfg.load().site_aliases)?;
if let Some(limiter) = &state.i.lim_pr_comment {
limiter.check_key(&ip).map_err(Error::from)?;
@ -844,6 +845,11 @@ fn pr_comment_text(p: PrCommentTextParams) -> String {
let query = p.query;
let mut content = "### ".to_owned();
let mut prevln = "- ".to_owned();
let a_opts = r#"target="_blank" rel="noopener noreferrer""#;
let date_started = p
.run
.date_started
.and_then(|d| d.to_offset(time::UtcOffset::UTC).format(&DATE_FORMAT).ok());
let mut prev_builds = None;
let mut np_content = None;
@ -866,10 +872,7 @@ fn pr_comment_text(p: PrCommentTextParams) -> String {
let write_link_icon = |s: &mut String, title: &str, href: &str| {
let (title_pfx, title) = util::split_icon_prefix(title);
_ = write!(
s,
r#"{title_pfx}<a href="{href}" target="_blank" rel="noopener noreferrer">{title}</a>"#,
);
_ = write!(s, r#"{title_pfx}<a href="{href}" {a_opts}>{title}</a>"#,);
};
// Comment title
@ -877,17 +880,23 @@ fn pr_comment_text(p: PrCommentTextParams) -> String {
let artifacts_url = format!("{}/?url={}", p.cfg.main_url(), run_url);
write_link_icon(
&mut content,
p.title.unwrap_or("👁️ Latest build artifacts"),
p.title.unwrap_or("Latest build artifacts"),
&artifacts_url,
);
_ = write!(&mut content, " (Run [#{}]({}), ", query.run, run_url);
_ = write!(&mut content, "\n\n Run [#{}]({}) · ", query.run, run_url);
write_commit(&mut content, &p.run.head_sha);
_ = content.write_str(")\n\n");
if let Some(date_started) = &date_started {
_ = write!(&mut content, " · {} UTC", date_started);
}
_ = content.write_str("\n\n");
// Previous run line
_ = write!(&mut prevln, "[#{}]({}) [", query.run, run_url);
write_commit(&mut prevln, &p.run.head_sha);
_ = write!(&mut prevln, "] [Artifacts]({artifacts_url}): ");
_ = write!(
&mut prevln,
"] <a href=\"{artifacts_url}\" {a_opts}>Artifacts</a>: "
);
for a in p.artifacts.iter().filter(|a| !a.expired) {
let mut url = p
@ -910,8 +919,8 @@ fn pr_comment_text(p: PrCommentTextParams) -> String {
_ = content.write_str("<br>\n");
_ = write!(
&mut prevln,
r#" <a href="{}" target="_blank" rel="noopener noreferrer">`{}`</a>,"#,
url, a.name
r#" <a href="{url}" {a_opts}>`{}`</a>,"#,
a.name
);
}
@ -919,15 +928,8 @@ fn pr_comment_text(p: PrCommentTextParams) -> String {
prevln.pop();
}
if let Some(date_started) = &p.run.date_started {
_ = write!(
&mut prevln,
" ({} UTC)",
date_started
.to_offset(time::UtcOffset::UTC)
.format(&DATE_FORMAT)
.unwrap_or_default()
);
if let Some(date_started) = &date_started {
_ = write!(&mut prevln, " ({} UTC)", date_started);
}
if np_content.is_some() || prev_builds.is_some() {

View file

@ -269,6 +269,7 @@ impl ArtifactApi {
}
}
#[tracing::instrument(level = "error", skip_all)]
pub async fn list(&self, query: &RunQuery, cached: bool) -> Result<Vec<Artifact>> {
let cache_key = query.cache_key();
let fut = async {
@ -290,6 +291,7 @@ impl ArtifactApi {
}
}
#[tracing::instrument(level = "error", skip_all)]
pub async fn fetch(&self, query: &ArtifactQuery) -> Result<Artifact> {
if query.is_github() {
self.fetch_github(query).await
@ -305,6 +307,7 @@ impl ArtifactApi {
}
}
#[tracing::instrument(level = "error", skip_all)]
pub async fn download(&self, artifact: &Artifact, path: &Path) -> Result<()> {
if artifact.expired {
return Err(Error::Expired);
@ -416,10 +419,9 @@ impl ArtifactApi {
if let Err(e) = resp.error_for_status_ref() {
let status = resp.status();
let msg = resp.json::<ApiError>().await.ok();
Err(Error::HttpClient(
msg.map(|msg| msg.message).unwrap_or(e.to_string()).into(),
status,
))
let msg_str = msg.map(|msg| msg.message).unwrap_or(e.to_string()).into();
tracing::error!("API error: {msg_str}");
Err(Error::HttpClient(msg_str, status))
} else {
Ok(resp)
}
@ -492,6 +494,7 @@ impl ArtifactApi {
.header(header::AUTHORIZATION, format!("token {token}")))
}
#[tracing::instrument(level = "error", skip_all)]
pub async fn workflow_run(&self, query: &RunQuery) -> Result<WorkflowRun> {
if query.is_github() {
self.workflow_run_github(query).await
@ -554,6 +557,7 @@ impl ArtifactApi {
Ok(run.into())
}
#[tracing::instrument(level = "error", skip_all)]
pub async fn add_comment(
&self,
query: QueryRef<'_>,
@ -621,8 +625,8 @@ impl ArtifactApi {
) -> Result<u64> {
if let Some(old_comment_id) = old_comment_id {
let url = format!(
"https://api.github.com/repos/{}/{}/issues/{}/comments/{}",
query.user, query.repo, issue_id, old_comment_id
"https://api.github.com/repos/{}/{}/issues/comments/{}",
query.user, query.repo, old_comment_id
);
if recreate {
Self::send_api_req_empty(self.req_github(Method::DELETE, url)?).await?;
@ -650,6 +654,7 @@ impl ArtifactApi {
Ok(new_c.id)
}
#[tracing::instrument(level = "error", skip_all)]
pub async fn find_comment(
&self,
query: QueryRef<'_>,
@ -702,6 +707,7 @@ impl ArtifactApi {
Ok(None)
}
#[tracing::instrument(level = "error", skip_all)]
pub async fn get_pr(&self, query: QueryRef<'_>, pr_id: u64) -> Result<PullRequest> {
let req = if query.is_github() {
self.get_github(format!(

View file

@ -5,7 +5,7 @@ use std::{
sync::Arc,
};
use secrecy::Secret;
use secrecy::SecretString;
use serde::Deserialize;
use crate::{
@ -49,9 +49,9 @@ pub struct ConfigData {
/// GitHub API token for downloading GitHub artifacts
///
/// Using a fine-grained token with public read permissions is recommended.
pub github_token: Option<Secret<String>>,
pub github_token: Option<SecretString>,
/// Forgejo/Gitea API tokens by host
pub forgejo_tokens: HashMap<String, Secret<String>>,
pub forgejo_tokens: HashMap<String, SecretString>,
/// Number of artifact indexes to keep in memory
pub mem_cache_size: usize,
/// Get the client IP address from a HTTP request header

View file

@ -164,8 +164,8 @@ impl RunQuery {
.ok_or(Error::BadRequest("no repository".into()))?
.to_ascii_lowercase();
if !path_segs.next().is_some_and(|s| s == "actions")
|| !path_segs.next().is_some_and(|s| s == "runs")
if path_segs.next().is_none_or(|s| s != "actions")
|| path_segs.next().is_none_or(|s| s != "runs")
{
return Err(Error::BadRequest("invalid Actions URL".into()));
}
@ -402,7 +402,7 @@ impl<'de> Deserialize<'de> for QueryFilterList {
{
struct QueryFilterListVisitor;
impl<'de> Visitor<'de> for QueryFilterListVisitor {
impl Visitor<'_> for QueryFilterListVisitor {
type Value = QueryFilterList;
fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {

View file

@ -2,8 +2,10 @@
source: src/app.rs
expression: res
---
### 👁️ <a href="https://localhost:3000/?url=https://code.thetadev.de/thetadev/test-actions/actions/runs/1" target="_blank" rel="noopener noreferrer">Latest build artifacts</a> (Run [#1](https://code.thetadev.de/thetadev/test-actions/actions/runs/1), [15eed48a83](https://code.thetadev.de/thetadev/test-actions/commit/15eed48a8382513147a949117ef4aa659989d397))
### <a href="https://localhost:3000/?url=https://code.thetadev.de/thetadev/test-actions/actions/runs/1" target="_blank" rel="noopener noreferrer">Latest build artifacts</a>
Run [#1](https://code.thetadev.de/thetadev/test-actions/actions/runs/1) · [15eed48a83](https://code.thetadev.de/thetadev/test-actions/commit/15eed48a8382513147a949117ef4aa659989d397) · 15.06.2024 01:30:00 UTC
🏠 <a href="https://code-thetadev-de--thetadev--test-actions--1-1.localhost:3000" target="_blank" rel="noopener noreferrer">Hello World ;-)</a><br>
<a href="https://code-thetadev-de--thetadev--test-actions--1-2.localhost:3000/junit.xml?viewer=1" target="_blank" rel="noopener noreferrer">Test</a><br>
<!--NEXT_PREV - [#1](https://code.thetadev.de/thetadev/test-actions/actions/runs/1) [[15eed48a83](https://code.thetadev.de/thetadev/test-actions/commit/15eed48a8382513147a949117ef4aa659989d397)] [Artifacts](https://localhost:3000/?url=https://code.thetadev.de/thetadev/test-actions/actions/runs/1): <a href="https://code-thetadev-de--thetadev--test-actions--1-1.localhost:3000" target="_blank" rel="noopener noreferrer">`Hello`</a>, <a href="https://code-thetadev-de--thetadev--test-actions--1-2.localhost:3000/junit.xml?viewer=1" target="_blank" rel="noopener noreferrer">`Test`</a> (15.06.2024 01:30:00 UTC) -->
<!--NEXT_PREV - [#1](https://code.thetadev.de/thetadev/test-actions/actions/runs/1) [[15eed48a83](https://code.thetadev.de/thetadev/test-actions/commit/15eed48a8382513147a949117ef4aa659989d397)] <a href="https://localhost:3000/?url=https://code.thetadev.de/thetadev/test-actions/actions/runs/1" target="_blank" rel="noopener noreferrer">Artifacts</a>: <a href="https://code-thetadev-de--thetadev--test-actions--1-1.localhost:3000" target="_blank" rel="noopener noreferrer">`Hello`</a>, <a href="https://code-thetadev-de--thetadev--test-actions--1-2.localhost:3000/junit.xml?viewer=1" target="_blank" rel="noopener noreferrer">`Test`</a> (15.06.2024 01:30:00 UTC) -->

View file

@ -2,13 +2,15 @@
source: src/app.rs
expression: res
---
### 👁️ <a href="https://localhost:3000/?url=https://code.thetadev.de/thetadev/test-actions/actions/runs/2" target="_blank" rel="noopener noreferrer">Latest build artifacts</a> (Run [#2](https://code.thetadev.de/thetadev/test-actions/actions/runs/2), [25eed48a83](https://code.thetadev.de/thetadev/test-actions/commit/25eed48a8382513147a949117ef4aa659989d397))
### <a href="https://localhost:3000/?url=https://code.thetadev.de/thetadev/test-actions/actions/runs/2" target="_blank" rel="noopener noreferrer">Latest build artifacts</a>
Run [#2](https://code.thetadev.de/thetadev/test-actions/actions/runs/2) · [25eed48a83](https://code.thetadev.de/thetadev/test-actions/commit/25eed48a8382513147a949117ef4aa659989d397) · 15.06.2024 02:30:00 UTC
🏠 <a href="https://code-thetadev-de--thetadev--test-actions--2-1.localhost:3000" target="_blank" rel="noopener noreferrer">Hello World ;-)</a><br>
<a href="https://code-thetadev-de--thetadev--test-actions--2-2.localhost:3000/junit.xml?viewer=1" target="_blank" rel="noopener noreferrer">Test</a><br>
<details>
<summary>Previous builds</summary>
- [#1](https://code.thetadev.de/thetadev/test-actions/actions/runs/1) [[15eed48a83](https://code.thetadev.de/thetadev/test-actions/commit/15eed48a8382513147a949117ef4aa659989d397)] [Artifacts](https://localhost:3000/?url=https://code.thetadev.de/thetadev/test-actions/actions/runs/1): <a href="https://code-thetadev-de--thetadev--test-actions--1-1.localhost:3000" target="_blank" rel="noopener noreferrer">`Hello`</a>, <a href="https://code-thetadev-de--thetadev--test-actions--1-2.localhost:3000/junit.xml?viewer=1" target="_blank" rel="noopener noreferrer">`Test`</a> (15.06.2024 01:30:00 UTC)
<!--NEXT_PREV - [#2](https://code.thetadev.de/thetadev/test-actions/actions/runs/2) [[25eed48a83](https://code.thetadev.de/thetadev/test-actions/commit/25eed48a8382513147a949117ef4aa659989d397)] [Artifacts](https://localhost:3000/?url=https://code.thetadev.de/thetadev/test-actions/actions/runs/2): <a href="https://code-thetadev-de--thetadev--test-actions--2-1.localhost:3000" target="_blank" rel="noopener noreferrer">`Hello`</a>, <a href="https://code-thetadev-de--thetadev--test-actions--2-2.localhost:3000/junit.xml?viewer=1" target="_blank" rel="noopener noreferrer">`Test`</a> (15.06.2024 02:30:00 UTC) -->
- [#1](https://code.thetadev.de/thetadev/test-actions/actions/runs/1) [[15eed48a83](https://code.thetadev.de/thetadev/test-actions/commit/15eed48a8382513147a949117ef4aa659989d397)] <a href="https://localhost:3000/?url=https://code.thetadev.de/thetadev/test-actions/actions/runs/1" target="_blank" rel="noopener noreferrer">Artifacts</a>: <a href="https://code-thetadev-de--thetadev--test-actions--1-1.localhost:3000" target="_blank" rel="noopener noreferrer">`Hello`</a>, <a href="https://code-thetadev-de--thetadev--test-actions--1-2.localhost:3000/junit.xml?viewer=1" target="_blank" rel="noopener noreferrer">`Test`</a> (15.06.2024 01:30:00 UTC)
<!--NEXT_PREV - [#2](https://code.thetadev.de/thetadev/test-actions/actions/runs/2) [[25eed48a83](https://code.thetadev.de/thetadev/test-actions/commit/25eed48a8382513147a949117ef4aa659989d397)] <a href="https://localhost:3000/?url=https://code.thetadev.de/thetadev/test-actions/actions/runs/2" target="_blank" rel="noopener noreferrer">Artifacts</a>: <a href="https://code-thetadev-de--thetadev--test-actions--2-1.localhost:3000" target="_blank" rel="noopener noreferrer">`Hello`</a>, <a href="https://code-thetadev-de--thetadev--test-actions--2-2.localhost:3000/junit.xml?viewer=1" target="_blank" rel="noopener noreferrer">`Test`</a> (15.06.2024 02:30:00 UTC) -->
</details>

View file

@ -2,14 +2,16 @@
source: src/app.rs
expression: res
---
### 👁️ <a href="https://localhost:3000/?url=https://code.thetadev.de/thetadev/test-actions/actions/runs/3" target="_blank" rel="noopener noreferrer">Latest build artifacts</a> (Run [#3](https://code.thetadev.de/thetadev/test-actions/actions/runs/3), [35eed48a83](https://code.thetadev.de/thetadev/test-actions/commit/35eed48a8382513147a949117ef4aa659989d397))
### <a href="https://localhost:3000/?url=https://code.thetadev.de/thetadev/test-actions/actions/runs/3" target="_blank" rel="noopener noreferrer">Latest build artifacts</a>
Run [#3](https://code.thetadev.de/thetadev/test-actions/actions/runs/3) · [35eed48a83](https://code.thetadev.de/thetadev/test-actions/commit/35eed48a8382513147a949117ef4aa659989d397) · 15.06.2024 03:30:00 UTC
🏠 <a href="https://code-thetadev-de--thetadev--test-actions--3-1.localhost:3000" target="_blank" rel="noopener noreferrer">Hello World ;-)</a><br>
<a href="https://code-thetadev-de--thetadev--test-actions--3-2.localhost:3000/junit.xml?viewer=1" target="_blank" rel="noopener noreferrer">Test</a><br>
<details>
<summary>Previous builds</summary>
- [#1](https://code.thetadev.de/thetadev/test-actions/actions/runs/1) [[15eed48a83](https://code.thetadev.de/thetadev/test-actions/commit/15eed48a8382513147a949117ef4aa659989d397)] [Artifacts](https://localhost:3000/?url=https://code.thetadev.de/thetadev/test-actions/actions/runs/1): <a href="https://code-thetadev-de--thetadev--test-actions--1-1.localhost:3000" target="_blank" rel="noopener noreferrer">`Hello`</a>, <a href="https://code-thetadev-de--thetadev--test-actions--1-2.localhost:3000/junit.xml?viewer=1" target="_blank" rel="noopener noreferrer">`Test`</a> (15.06.2024 01:30:00 UTC)
- [#2](https://code.thetadev.de/thetadev/test-actions/actions/runs/2) [[25eed48a83](https://code.thetadev.de/thetadev/test-actions/commit/25eed48a8382513147a949117ef4aa659989d397)] [Artifacts](https://localhost:3000/?url=https://code.thetadev.de/thetadev/test-actions/actions/runs/2): <a href="https://code-thetadev-de--thetadev--test-actions--2-1.localhost:3000" target="_blank" rel="noopener noreferrer">`Hello`</a>, <a href="https://code-thetadev-de--thetadev--test-actions--2-2.localhost:3000/junit.xml?viewer=1" target="_blank" rel="noopener noreferrer">`Test`</a> (15.06.2024 02:30:00 UTC)
<!--NEXT_PREV - [#3](https://code.thetadev.de/thetadev/test-actions/actions/runs/3) [[35eed48a83](https://code.thetadev.de/thetadev/test-actions/commit/35eed48a8382513147a949117ef4aa659989d397)] [Artifacts](https://localhost:3000/?url=https://code.thetadev.de/thetadev/test-actions/actions/runs/3): <a href="https://code-thetadev-de--thetadev--test-actions--3-1.localhost:3000" target="_blank" rel="noopener noreferrer">`Hello`</a>, <a href="https://code-thetadev-de--thetadev--test-actions--3-2.localhost:3000/junit.xml?viewer=1" target="_blank" rel="noopener noreferrer">`Test`</a> (15.06.2024 03:30:00 UTC) -->
- [#1](https://code.thetadev.de/thetadev/test-actions/actions/runs/1) [[15eed48a83](https://code.thetadev.de/thetadev/test-actions/commit/15eed48a8382513147a949117ef4aa659989d397)] <a href="https://localhost:3000/?url=https://code.thetadev.de/thetadev/test-actions/actions/runs/1" target="_blank" rel="noopener noreferrer">Artifacts</a>: <a href="https://code-thetadev-de--thetadev--test-actions--1-1.localhost:3000" target="_blank" rel="noopener noreferrer">`Hello`</a>, <a href="https://code-thetadev-de--thetadev--test-actions--1-2.localhost:3000/junit.xml?viewer=1" target="_blank" rel="noopener noreferrer">`Test`</a> (15.06.2024 01:30:00 UTC)
- [#2](https://code.thetadev.de/thetadev/test-actions/actions/runs/2) [[25eed48a83](https://code.thetadev.de/thetadev/test-actions/commit/25eed48a8382513147a949117ef4aa659989d397)] <a href="https://localhost:3000/?url=https://code.thetadev.de/thetadev/test-actions/actions/runs/2" target="_blank" rel="noopener noreferrer">Artifacts</a>: <a href="https://code-thetadev-de--thetadev--test-actions--2-1.localhost:3000" target="_blank" rel="noopener noreferrer">`Hello`</a>, <a href="https://code-thetadev-de--thetadev--test-actions--2-2.localhost:3000/junit.xml?viewer=1" target="_blank" rel="noopener noreferrer">`Test`</a> (15.06.2024 02:30:00 UTC)
<!--NEXT_PREV - [#3](https://code.thetadev.de/thetadev/test-actions/actions/runs/3) [[35eed48a83](https://code.thetadev.de/thetadev/test-actions/commit/35eed48a8382513147a949117ef4aa659989d397)] <a href="https://localhost:3000/?url=https://code.thetadev.de/thetadev/test-actions/actions/runs/3" target="_blank" rel="noopener noreferrer">Artifacts</a>: <a href="https://code-thetadev-de--thetadev--test-actions--3-1.localhost:3000" target="_blank" rel="noopener noreferrer">`Hello`</a>, <a href="https://code-thetadev-de--thetadev--test-actions--3-2.localhost:3000/junit.xml?viewer=1" target="_blank" rel="noopener noreferrer">`Test`</a> (15.06.2024 03:30:00 UTC) -->
</details>

View file

@ -22,10 +22,10 @@
<th><a href="?C=N&amp;O=A">Name</a>&nbsp;<a
href="?C=N&amp;O=D"
>&nbsp;&darr;&nbsp;</a></th>
<th>CRC32</th>
<th><a href="?C=S&amp;O=A">Size</a>&nbsp;<a
href="?C=S&amp;O=D"
>&nbsp;&darr;&nbsp;</a></th>
<th>CRC32</th>
</tr>
</thead>
<tbody>
@ -45,8 +45,8 @@
<span class="name">{{name}}</span>
</a>
</td>
<td>{{#if is_dir}}&mdash;{{else}}{{size}}{{/if}}</td>
<td>{{#if is_dir}}&mdash;{{else}}{{crc32}}{{/if}}</td>
<td>{{#if is_dir}}&mdash;{{else}}{{size}}{{/if}}</td>
</tr>
{{/each}}
</tbody>

View file

@ -242,8 +242,8 @@ fn parse_listing(doc: &Html) -> Vec<FileEntry> {
FileEntry {
name,
size: parts.next().expect("size"),
crc32: parts.next().expect("crc32"),
size: parts.next().expect("size"),
}
})
.collect()