Compare commits
4761 Commits
pkg/promli
...
release-11
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
4d359c080d | ||
|
|
2c8059d2a2 | ||
|
|
71e1a8486f | ||
|
|
e06e1e94e2 | ||
|
|
4949ea4666 | ||
|
|
3152d0ec59 | ||
|
|
00fd56d3ee | ||
|
|
60a2f70ca4 | ||
|
|
be0a7c6131 | ||
|
|
988d964200 | ||
|
|
1e9c78656a | ||
|
|
8ebdc0d1c7 | ||
|
|
014a33238d | ||
|
|
74b438bf06 | ||
|
|
8644c097e8 | ||
|
|
6c50ce2c5f | ||
|
|
891d861d9c | ||
|
|
9feaba9083 | ||
|
|
a708071a05 | ||
|
|
01df6b9101 | ||
|
|
c8932ad049 | ||
|
|
979ef62b27 | ||
|
|
6a74d75551 | ||
|
|
f6f42773c9 | ||
|
|
ab19d8d3b6 | ||
|
|
3806b6eec4 | ||
|
|
fd17222eda | ||
|
|
e624f24f4b | ||
|
|
98bb22c423 | ||
|
|
dd4a33adff | ||
|
|
500dd6db76 | ||
|
|
2e2e89a816 | ||
|
|
17c961c11c | ||
|
|
ad9314abf4 | ||
|
|
40ed88fe86 | ||
|
|
59fc4b9e98 | ||
|
|
8c4f33102e | ||
|
|
00d84f1364 | ||
|
|
7c114b2ee0 | ||
|
|
c0e2889cea | ||
|
|
f4ad2eb9ec | ||
|
|
2aa89a90a2 | ||
|
|
2ba6cf30cd | ||
|
|
63cec3fe7d | ||
|
|
919f46426c | ||
|
|
fad9b13312 | ||
|
|
2e24578a72 | ||
|
|
2b3ef62855 | ||
|
|
e3cbeb5e1e | ||
|
|
e30143305f | ||
|
|
74099d4ba9 | ||
|
|
3a028ac25c | ||
|
|
7b1be85980 | ||
|
|
64a3a01892 | ||
|
|
9d6c9b7503 | ||
|
|
4042e67bfd | ||
|
|
684227f7a5 | ||
|
|
2b8c8d45d1 | ||
|
|
ea4c33d7cb | ||
|
|
6c64b04c39 | ||
|
|
df9f37a726 | ||
|
|
5492a58f54 | ||
|
|
754e62bae0 | ||
|
|
1db6d349a7 | ||
|
|
22c0856880 | ||
|
|
58457c9eff | ||
|
|
35a4ee70b7 | ||
|
|
1d58728936 | ||
|
|
684fbc089e | ||
|
|
9d02fa97b1 | ||
|
|
d4b6dc2a86 | ||
|
|
32e85d3c25 | ||
|
|
4df6c9085a | ||
|
|
c32b2f5655 | ||
|
|
a61bf0d1f1 | ||
|
|
63ba7b6c34 | ||
|
|
0b6f023cd7 | ||
|
|
268d873715 | ||
|
|
bf3f23b558 | ||
|
|
c348917df2 | ||
|
|
3ab43f8b7c | ||
|
|
370ff7992d | ||
|
|
10fe463e6f | ||
|
|
a23127a8b4 | ||
|
|
34ffd0934c | ||
|
|
4fe2194305 | ||
|
|
f21553e925 | ||
|
|
7b6424516e | ||
|
|
797c085005 | ||
|
|
ce334f8eaf | ||
|
|
4f00a8817e | ||
|
|
c93a59f478 | ||
|
|
6ebb9eb01d | ||
|
|
0f4c28b024 | ||
|
|
6932c6af7e | ||
|
|
c6d3c1e489 | ||
|
|
81b2e00f25 | ||
|
|
5eaeb7f6aa | ||
|
|
c98bb442fd | ||
|
|
4c88576d4b | ||
|
|
510b8b66ff | ||
|
|
46a2949ceb | ||
|
|
28b0f2d2e4 | ||
|
|
b4eb5f1304 | ||
|
|
be1aa19642 | ||
|
|
4da21c2a61 | ||
|
|
4aa5ea2ea6 | ||
|
|
c85946bee0 | ||
|
|
ab8e58e805 | ||
|
|
45316fdd04 | ||
|
|
1bcc80daa7 | ||
|
|
dcb1180f28 | ||
|
|
7abc79cb2e | ||
|
|
ff47af1fba | ||
|
|
96d15d9091 | ||
|
|
fe4442a7fb | ||
|
|
3c7cdb103a | ||
|
|
cd63f38f47 | ||
|
|
e166f06bfa | ||
|
|
c80a182e3c | ||
|
|
29d35ec39c | ||
|
|
596b3e42f5 | ||
|
|
027524dd98 | ||
|
|
2ece5c261b | ||
|
|
9db9662213 | ||
|
|
478ab85845 | ||
|
|
e79330dc08 | ||
|
|
b4da2b9b2d | ||
|
|
3c71bd0a5c | ||
|
|
61fbc0310f | ||
|
|
6aee3a5c75 | ||
|
|
5a8f3398bf | ||
|
|
6700924913 | ||
|
|
7905703627 | ||
|
|
75e6ca56f4 | ||
|
|
9fdf70bf90 | ||
|
|
9e4537fe03 | ||
|
|
68e70b4c5a | ||
|
|
d732324f53 | ||
|
|
a6fb0f44ba | ||
|
|
9e942dcb9a | ||
|
|
f16a6dc98c | ||
|
|
25e6d2780b | ||
|
|
880e5fecb9 | ||
|
|
62b5a147fd | ||
|
|
75890ecc58 | ||
|
|
50a0247c22 | ||
|
|
9908a78c5c | ||
|
|
4683c0f157 | ||
|
|
72e8b57597 | ||
|
|
b774d0d569 | ||
|
|
0faf11835b | ||
|
|
7776a6c1af | ||
|
|
6c3e9e5976 | ||
|
|
327ca47f51 | ||
|
|
a957c28316 | ||
|
|
b321585bde | ||
|
|
cfa529295f | ||
|
|
3881a173fe | ||
|
|
5533f62a71 | ||
|
|
49a32d71be | ||
|
|
d3cab8217f | ||
|
|
e8887275ae | ||
|
|
b8d8a94ebc | ||
|
|
c30b9bd0bb | ||
|
|
fb0d6be79e | ||
|
|
2728e5cf14 | ||
|
|
822e5fb1a1 | ||
|
|
f433b8c240 | ||
|
|
676599ad7a | ||
|
|
34cdea5bb5 | ||
|
|
b857272fa2 | ||
|
|
6d67738b5f | ||
|
|
f73c2fdf7a | ||
|
|
100c91ca14 | ||
|
|
7beb0a1ff6 | ||
|
|
9bdd480326 | ||
|
|
273a9b17c9 | ||
|
|
b11b012240 | ||
|
|
234d3d16e4 | ||
|
|
ed62b50def | ||
|
|
967a5d3fc3 | ||
|
|
6b4c70d6a3 | ||
|
|
d75d140554 | ||
|
|
cbfb776273 | ||
|
|
b45af3e8a0 | ||
|
|
9c48b9420a | ||
|
|
e0aadb4dab | ||
|
|
eb2b19186c | ||
|
|
6d9d0d7748 | ||
|
|
6cc10d30df | ||
|
|
5acb12be61 | ||
|
|
7617fa1d1f | ||
|
|
d788e8d44e | ||
|
|
9c7139ee7a | ||
|
|
86194faffd | ||
|
|
70f5e59d94 | ||
|
|
b547440a1e | ||
|
|
5400abfac2 | ||
|
|
148fd6fa7c | ||
|
|
51f2ae7936 | ||
|
|
86fcf80315 | ||
|
|
c055d03d00 | ||
|
|
85379b8f2d | ||
|
|
df7987a6b8 | ||
|
|
56e82b7a1c | ||
|
|
41e7cd2c02 | ||
|
|
6167aac263 | ||
|
|
6ee1bfb736 | ||
|
|
e0d8318caa | ||
|
|
842179916d | ||
|
|
d7d80d2634 | ||
|
|
fb0204c8df | ||
|
|
5f7f04518b | ||
|
|
5e369c6709 | ||
|
|
940d71250b | ||
|
|
cbb688e910 | ||
|
|
7480c9eb54 | ||
|
|
4c86de2678 | ||
|
|
29a8fbd898 | ||
|
|
9b34a56d7c | ||
|
|
05ea05d64e | ||
|
|
8054b30d5d | ||
|
|
fd4718df33 | ||
|
|
6883a4b294 | ||
|
|
766d645d82 | ||
|
|
009d7f42b3 | ||
|
|
1c67f4084c | ||
|
|
210d73188d | ||
|
|
ab6d82a33c | ||
|
|
dc61a8c62e | ||
|
|
bc398109f9 | ||
|
|
d0b552997d | ||
|
|
38c4f3d5ef | ||
|
|
c3b0eb6277 | ||
|
|
ec42a8f83f | ||
|
|
f74396b51d | ||
|
|
598e9f4dc1 | ||
|
|
98c7861936 | ||
|
|
4d699d4810 | ||
|
|
460dab57c7 | ||
|
|
e754ea7a64 | ||
|
|
4aa29c79a4 | ||
|
|
9ec10be1c7 | ||
|
|
d8d84a000a | ||
|
|
e028924fc9 | ||
|
|
96011a5fbb | ||
|
|
99e1780527 | ||
|
|
6f02d2d73d | ||
|
|
2928cd43aa | ||
|
|
72846e3431 | ||
|
|
e0cfd12fb3 | ||
|
|
0f9b107201 | ||
|
|
04acbcdef2 | ||
|
|
c6b7e35c4e | ||
|
|
60aaa8d703 | ||
|
|
a3a1fa7f2c | ||
|
|
0d06ed5f78 | ||
|
|
ddca09fb02 | ||
|
|
5922015fec | ||
|
|
8f79a59e1f | ||
|
|
5282b7ca8c | ||
|
|
01aeb56646 | ||
|
|
ad1417b732 | ||
|
|
0029f92ac3 | ||
|
|
d73bb12b99 | ||
|
|
9e5fd78b52 | ||
|
|
c9d22f06c3 | ||
|
|
99a0eb825d | ||
|
|
ed39259461 | ||
|
|
3eace5f7c8 | ||
|
|
90e65f6ce6 | ||
|
|
aaa4fe1fe4 | ||
|
|
d7da75c480 | ||
|
|
bc7e90bc28 | ||
|
|
345757c3ae | ||
|
|
9df20eda77 | ||
|
|
5f1005aa4f | ||
|
|
2e969686f0 | ||
|
|
1ba9a27f70 | ||
|
|
6568f3669d | ||
|
|
f3d2313f09 | ||
|
|
7499611129 | ||
|
|
67ddadbab9 | ||
|
|
ee362ed978 | ||
|
|
3fa0834c49 | ||
|
|
215eb31c7a | ||
|
|
86e8147df3 | ||
|
|
b742896838 | ||
|
|
619e7d3d3f | ||
|
|
4e398bf2bd | ||
|
|
ac2345a3c0 | ||
|
|
7660fa3921 | ||
|
|
6c1cce407a | ||
|
|
7639934818 | ||
|
|
d4de5022eb | ||
|
|
de290cf6a5 | ||
|
|
0501ff9079 | ||
|
|
32cb6d9dab | ||
|
|
6e8bbe7964 | ||
|
|
7aa747eb7b | ||
|
|
ae257246bc | ||
|
|
50668d527a | ||
|
|
c593b20465 | ||
|
|
c62864a7ea | ||
|
|
fa7f5d1a5c | ||
|
|
16d899f1b0 | ||
|
|
41c120ba89 | ||
|
|
a0a32fc5df | ||
|
|
bdb4725768 | ||
|
|
557820df56 | ||
|
|
e4b94fce8a | ||
|
|
be1505f2fb | ||
|
|
9488bf2915 | ||
|
|
e195a56c24 | ||
|
|
0e953a8ff3 | ||
|
|
07d3bdbe72 | ||
|
|
1e9f5367af | ||
|
|
cfdc27b4c6 | ||
|
|
5690859f5f | ||
|
|
7cad430ca7 | ||
|
|
4f62c8a160 | ||
|
|
ee7ffb7a04 | ||
|
|
bf8524e5a6 | ||
|
|
ce1ae404db | ||
|
|
90035f9786 | ||
|
|
bad9044745 | ||
|
|
c52ec21c75 | ||
|
|
4581a82ac4 | ||
|
|
9e9adbf5b5 | ||
|
|
82892fa034 | ||
|
|
3c0dc15bf0 | ||
|
|
5a86f032f1 | ||
|
|
e0121055fb | ||
|
|
6b03adbbb0 | ||
|
|
78fda78a56 | ||
|
|
a84ab52cc7 | ||
|
|
56be39ed4f | ||
|
|
9e8c1acd00 | ||
|
|
9aacc1a04b | ||
|
|
03ea0e3b3b | ||
|
|
2860eb52d0 | ||
|
|
42f6f917c9 | ||
|
|
f75bbe9f43 | ||
|
|
42894ba840 | ||
|
|
f04d72a49c | ||
|
|
fb5783691d | ||
|
|
4ae627e420 | ||
|
|
4f2d8a1a3b | ||
|
|
22282334c7 | ||
|
|
3958fb9e0a | ||
|
|
79d8201b49 | ||
|
|
2992fbf6ef | ||
|
|
429da7fd68 | ||
|
|
3e68731600 | ||
|
|
34c597b3b3 | ||
|
|
121a9162ff | ||
|
|
5a2315dabf | ||
|
|
8cb7159872 | ||
|
|
a064f659b2 | ||
|
|
cf75566b3f | ||
|
|
0ff033c422 | ||
|
|
e318af54a8 | ||
|
|
9c7a355afd | ||
|
|
299e16b61a | ||
|
|
5ed2a4c624 | ||
|
|
ce512862f7 | ||
|
|
338a41f178 | ||
|
|
79cd8ac894 | ||
|
|
e19058c2c4 | ||
|
|
78826a7e2f | ||
|
|
a8319df145 | ||
|
|
0b89b54085 | ||
|
|
4589fabbc8 | ||
|
|
8f6220707b | ||
|
|
e786292673 | ||
|
|
2fd355ebca | ||
|
|
69adb3d25b | ||
|
|
25538bcfdf | ||
|
|
f20602ed42 | ||
|
|
58ed8a9ec2 | ||
|
|
9b1ecaedda | ||
|
|
d436723745 | ||
|
|
d287c0114e | ||
|
|
d26d748d4a | ||
|
|
8b72e2188a | ||
|
|
79c61bcc3c | ||
|
|
02d0e1191f | ||
|
|
1d551a86dc | ||
|
|
f3cc1f7700 | ||
|
|
7c596bb4ed | ||
|
|
b7809b7350 | ||
|
|
44e65c5bc9 | ||
|
|
df80bdeb14 | ||
|
|
9ed4bf3cd2 | ||
|
|
9e3094d68e | ||
|
|
92fb6e765f | ||
|
|
976cfcbf4f | ||
|
|
f9c2a5fae9 | ||
|
|
87b250d7e2 | ||
|
|
ea5b9fdc97 | ||
|
|
7e5cb7d8d6 | ||
|
|
9558a25ebe | ||
|
|
878f5957fb | ||
|
|
96e8748266 | ||
|
|
c6b73d8aad | ||
|
|
c766201025 | ||
|
|
e9be53b1d6 | ||
|
|
6952bf473f | ||
|
|
b506fcb11c | ||
|
|
79d565f285 | ||
|
|
d96f378562 | ||
|
|
6957e1f7b7 | ||
|
|
de9aec8e56 | ||
|
|
322c7d9548 | ||
|
|
addc1c95a5 | ||
|
|
3797779989 | ||
|
|
c566e6af4e | ||
|
|
69af0f7ab6 | ||
|
|
739b7716b1 | ||
|
|
cca9b0d2d3 | ||
|
|
077c0a2169 | ||
|
|
3ba0cd23c2 | ||
|
|
09c4543d11 | ||
|
|
e6e5d23259 | ||
|
|
f851379f7d | ||
|
|
54b357125b | ||
|
|
d1c47f983a | ||
|
|
fabbc5ac00 | ||
|
|
d8f8e24381 | ||
|
|
68479d844b | ||
|
|
14369c53ed | ||
|
|
5b3b9c1113 | ||
|
|
1d8ffdd92d | ||
|
|
d1d7c0850f | ||
|
|
bfa56bcf08 | ||
|
|
742157b828 | ||
|
|
6683cdc082 | ||
|
|
085dac8206 | ||
|
|
7ab2539449 | ||
|
|
17ed25e101 | ||
|
|
88fb8bc95c | ||
|
|
ecc6b9ec44 | ||
|
|
9d71f42f30 | ||
|
|
cef0b8249a | ||
|
|
46974d0b60 | ||
|
|
ee53c6c970 | ||
|
|
4631707276 | ||
|
|
88f8f2203b | ||
|
|
aac8626326 | ||
|
|
0d8a71c664 | ||
|
|
c48406753f | ||
|
|
5482742891 | ||
|
|
3f959c7359 | ||
|
|
ea9973ac16 | ||
|
|
9a93df861b | ||
|
|
1699dfa307 | ||
|
|
6ca6ad4df7 | ||
|
|
166e86a0c6 | ||
|
|
fed73bfa59 | ||
|
|
49adb86233 | ||
|
|
16f85585ff | ||
|
|
5f5c3f0531 | ||
|
|
f10bf8338e | ||
|
|
e3e51f6e3b | ||
|
|
228ac25ff4 | ||
|
|
46d2fac82c | ||
|
|
b4ab55ae38 | ||
|
|
f3a553fb9b | ||
|
|
5429512779 | ||
|
|
dc8e010cf3 | ||
|
|
51d9b577d5 | ||
|
|
deab83a958 | ||
|
|
937e8dea2d | ||
|
|
0836f71da6 | ||
|
|
73b014e53e | ||
|
|
5a98432ba6 | ||
|
|
a798bb74e5 | ||
|
|
5be4dfd8c8 | ||
|
|
83bcd86d18 | ||
|
|
5a2344ed0c | ||
|
|
01b3e56706 | ||
|
|
0e55e45f88 | ||
|
|
1a6312296e | ||
|
|
0d60a026e9 | ||
|
|
03f7a7d89d | ||
|
|
81ca734680 | ||
|
|
e974cb87d8 | ||
|
|
8ab12aede4 | ||
|
|
a110917577 | ||
|
|
e43e86376e | ||
|
|
7e4b05c268 | ||
|
|
0e4b503352 | ||
|
|
bc96da3a95 | ||
|
|
37e47d5b9a | ||
|
|
d935fa1ea0 | ||
|
|
d2639f6080 | ||
|
|
5735a0d11d | ||
|
|
6178320257 | ||
|
|
892b9b0ba4 | ||
|
|
7fa4786fa3 | ||
|
|
436f68da3a | ||
|
|
df36e77cd3 | ||
|
|
e72ba20ff6 | ||
|
|
fec5c0ec19 | ||
|
|
d05ef49016 | ||
|
|
6976908597 | ||
|
|
5d923095b9 | ||
|
|
8375623b91 | ||
|
|
967c13f5b7 | ||
|
|
287f3a75eb | ||
|
|
d9f9614e1c | ||
|
|
bc535181cf | ||
|
|
cd7dcdb9ea | ||
|
|
1a46039037 | ||
|
|
54333473f7 | ||
|
|
d1846da0d2 | ||
|
|
1334caa6c8 | ||
|
|
efb7cc0343 | ||
|
|
2503b31f53 | ||
|
|
833f5d5d22 | ||
|
|
e0e4e1cdff | ||
|
|
58d17ecad1 | ||
|
|
293a90f76f | ||
|
|
9f0e1a1053 | ||
|
|
55f8be62a1 | ||
|
|
24bf337c56 | ||
|
|
c172bbba50 | ||
|
|
a8f347144d | ||
|
|
86a13ea4bd | ||
|
|
58c44f6c66 | ||
|
|
123c860293 | ||
|
|
399cbf7c50 | ||
|
|
805ac9cd40 | ||
|
|
e640b3c179 | ||
|
|
746bde0fac | ||
|
|
a37b6f455e | ||
|
|
124440ccee | ||
|
|
02aded2743 | ||
|
|
29db5a9d8a | ||
|
|
848f03928c | ||
|
|
78b867804d | ||
|
|
c175722dfd | ||
|
|
6c5b408339 | ||
|
|
9a17954eaf | ||
|
|
9a5a9fe8a2 | ||
|
|
73dda344f9 | ||
|
|
749a2f52bb | ||
|
|
105251425f | ||
|
|
67a7731ca9 | ||
|
|
a331c7cc38 | ||
|
|
c1e078b3a3 | ||
|
|
989ee681f8 | ||
|
|
a06779614e | ||
|
|
148289258f | ||
|
|
2303694293 | ||
|
|
cbddc41ad5 | ||
|
|
c901b76a8a | ||
|
|
e0af98dec8 | ||
|
|
f5d44ff51d | ||
|
|
2e08092a34 | ||
|
|
721c50a304 | ||
|
|
c9c77a6a6c | ||
|
|
3a8113889a | ||
|
|
2c3c06e00f | ||
|
|
62b326a08c | ||
|
|
52673ad390 | ||
|
|
dc52d1b252 | ||
|
|
4837585cab | ||
|
|
54e603e552 | ||
|
|
34d7caef2d | ||
|
|
bff389aa41 | ||
|
|
987357327d | ||
|
|
59f71566df | ||
|
|
5aabc0781c | ||
|
|
30321a59a9 | ||
|
|
5ecc3343db | ||
|
|
67a85fc358 | ||
|
|
26c323b5a6 | ||
|
|
9532f738d5 | ||
|
|
40a9f7162a | ||
|
|
a727372573 | ||
|
|
e7ab142348 | ||
|
|
beaa26764c | ||
|
|
f186c452d5 | ||
|
|
e308675b44 | ||
|
|
697b5a2de7 | ||
|
|
4377d0f890 | ||
|
|
76c2707383 | ||
|
|
961211b21a | ||
|
|
90bc574599 | ||
|
|
001cc853a5 | ||
|
|
b88ce9df38 | ||
|
|
6df7d1fbc0 | ||
|
|
89774f3c8d | ||
|
|
b710e26a40 | ||
|
|
55bbea3974 | ||
|
|
7f6c794ecd | ||
|
|
829685ed4f | ||
|
|
3dac836bf9 | ||
|
|
a5635d7e89 | ||
|
|
a572dca2d6 | ||
|
|
ea346cf1f9 | ||
|
|
cdd74aa144 | ||
|
|
02a3edf30c | ||
|
|
0dea8101d5 | ||
|
|
f46c07aba7 | ||
|
|
e8b6d43110 | ||
|
|
070f0e4457 | ||
|
|
31e67b5ba3 | ||
|
|
7bdf521ba3 | ||
|
|
8c03caad88 | ||
|
|
03d176fae4 | ||
|
|
8d4e5a4e09 | ||
|
|
b3985a4d37 | ||
|
|
d8ddbcda51 | ||
|
|
146860930b | ||
|
|
0cd4c751a6 | ||
|
|
d6ebec6921 | ||
|
|
57d94ed01f | ||
|
|
27c979b0bf | ||
|
|
01666fc1ae | ||
|
|
9c6b86958c | ||
|
|
77fafd887a | ||
|
|
7c583ed8fb | ||
|
|
0d7303d536 | ||
|
|
03fcfd4e0c | ||
|
|
8b8606326a | ||
|
|
5ded891faa | ||
|
|
4c8d14270d | ||
|
|
918210dda1 | ||
|
|
4477cad1ba | ||
|
|
eb38a63559 | ||
|
|
00b51c0422 | ||
|
|
2f40a93bf8 | ||
|
|
b8a4784a50 | ||
|
|
a01878332a | ||
|
|
8188d623c8 | ||
|
|
9a168ef8b3 | ||
|
|
39a247329d | ||
|
|
2f228b4c25 | ||
|
|
687e207b48 | ||
|
|
c824f5b9bf | ||
|
|
ae7cb6866d | ||
|
|
3fe2227c82 | ||
|
|
02fec7c4ad | ||
|
|
fba02f5fae | ||
|
|
21f1b241dd | ||
|
|
bb713cf8e4 | ||
|
|
deca41a782 | ||
|
|
dbe273d0eb | ||
|
|
69c94c23ac | ||
|
|
a0fae37cf7 | ||
|
|
9fbd2cf054 | ||
|
|
331c602c5e | ||
|
|
ed842b7ea8 | ||
|
|
188df1edca | ||
|
|
6cd3a5458e | ||
|
|
b310b6f8c5 | ||
|
|
f3a47e2f8d | ||
|
|
17a9974b87 | ||
|
|
2879166426 | ||
|
|
59014dc924 | ||
|
|
eecfcf52c0 | ||
|
|
7b24c4404d | ||
|
|
1f8f9a45d7 | ||
|
|
22a9770ec5 | ||
|
|
7ed1058af1 | ||
|
|
863f865c7f | ||
|
|
3aca926982 | ||
|
|
95dea152b6 | ||
|
|
7601bcbb5d | ||
|
|
8b0cd9dbb9 | ||
|
|
62c1735a61 | ||
|
|
1180ea07b7 | ||
|
|
dee47bbef2 | ||
|
|
d7e07d9993 | ||
|
|
ccb2be5962 | ||
|
|
954bd9f312 | ||
|
|
3af96acc12 | ||
|
|
ed3eacced9 | ||
|
|
b36b7ec18e | ||
|
|
9f416e1428 | ||
|
|
c983af1755 | ||
|
|
22dbde3126 | ||
|
|
06c0fa70c2 | ||
|
|
f62d9db29f | ||
|
|
089111f702 | ||
|
|
fccb7816b5 | ||
|
|
e85e658343 | ||
|
|
97959b60bb | ||
|
|
1ac6143f4e | ||
|
|
ca758062cd | ||
|
|
a0558749f0 | ||
|
|
9aa23dd73f | ||
|
|
8f6e9f8ed0 | ||
|
|
4871cd8825 | ||
|
|
09123a7bd6 | ||
|
|
d93a5a7c53 | ||
|
|
0a9852c64b | ||
|
|
f55be6f1bb | ||
|
|
fe1ec098dc | ||
|
|
adc785750f | ||
|
|
b8c4126fbc | ||
|
|
ed6f41cd2c | ||
|
|
4eca0dffc5 | ||
|
|
5ac7443fce | ||
|
|
4550cfb5b7 | ||
|
|
630b7d3c0d | ||
|
|
f6830e0012 | ||
|
|
4c42fda2ec | ||
|
|
6d21eddf13 | ||
|
|
16b63d2f38 | ||
|
|
d506c1b9d2 | ||
|
|
8ab2082cd6 | ||
|
|
b2df6733f1 | ||
|
|
98e61233d9 | ||
|
|
5c0cb09d27 | ||
|
|
ec5239211f | ||
|
|
7cd5bc124b | ||
|
|
b9d6af34cd | ||
|
|
b2987021b4 | ||
|
|
72abc48d3c | ||
|
|
fb47e1bde0 | ||
|
|
aac62c89da | ||
|
|
0cce224adb | ||
|
|
a9cd0f19f4 | ||
|
|
af2475415e | ||
|
|
40d3b02648 | ||
|
|
fc7805957e | ||
|
|
69ca52fcb3 | ||
|
|
78af0fb533 | ||
|
|
1e0d807572 | ||
|
|
f8686be56a | ||
|
|
0f52065377 | ||
|
|
1c4d30f73c | ||
|
|
6011cffed7 | ||
|
|
c6a45061be | ||
|
|
cc4afff889 | ||
|
|
886cbad275 | ||
|
|
b3a12f486e | ||
|
|
a362769491 | ||
|
|
1509fadd5b | ||
|
|
6dc41f0b18 | ||
|
|
0e8702369a | ||
|
|
3345f860dc | ||
|
|
3266d62d6d | ||
|
|
482af91782 | ||
|
|
ebfa06e040 | ||
|
|
7b934f0d2b | ||
|
|
c05547ba7e | ||
|
|
4521cfb28c | ||
|
|
ee661ac54b | ||
|
|
08bb66ba72 | ||
|
|
dbe2d7ac47 | ||
|
|
3fdf0ea1f4 | ||
|
|
18c1c4cf95 | ||
|
|
6c8c0ab350 | ||
|
|
63d3cf93fe | ||
|
|
2182f4829e | ||
|
|
e6a6fc6f74 | ||
|
|
47e58d5903 | ||
|
|
6a4db1742b | ||
|
|
b34fd6b6a1 | ||
|
|
0a390cc069 | ||
|
|
8055d69ad2 | ||
|
|
65dfbd7731 | ||
|
|
c47aed0db5 | ||
|
|
27a54e8c73 | ||
|
|
8009af54be | ||
|
|
32554c78a8 | ||
|
|
f710573b37 | ||
|
|
afd0699c85 | ||
|
|
8f628a0695 | ||
|
|
5be8a9b3c3 | ||
|
|
d85353926d | ||
|
|
7ad004236e | ||
|
|
e3e7086a91 | ||
|
|
7de65b39b5 | ||
|
|
ded90fa28d | ||
|
|
3c78fb1aa4 | ||
|
|
19cc2efaf2 | ||
|
|
084aad0b84 | ||
|
|
c5e8e71ee3 | ||
|
|
5d326b90ac | ||
|
|
585cb43b0b | ||
|
|
4e10507c84 | ||
|
|
1a22575613 | ||
|
|
def3632a3a | ||
|
|
9c396b74f9 | ||
|
|
3c2c5610bd | ||
|
|
32155b22d6 | ||
|
|
d48e9afd5d | ||
|
|
d176076078 | ||
|
|
bb673fc8ed | ||
|
|
8bb24bc7b3 | ||
|
|
f51b58488c | ||
|
|
61d71ec5b1 | ||
|
|
e8e0649ebd | ||
|
|
09b51947f3 | ||
|
|
2149c75e22 | ||
|
|
cdc7c1cae2 | ||
|
|
8d69abc3b4 | ||
|
|
60f093e3d3 | ||
|
|
f05d016ae7 | ||
|
|
db8ece3167 | ||
|
|
ea17b79c09 | ||
|
|
b05d60e5b5 | ||
|
|
4f7ffafe98 | ||
|
|
e2365ce1c5 | ||
|
|
c2333e3bc0 | ||
|
|
e6a6b3e31a | ||
|
|
2f6183f34e | ||
|
|
577aeca929 | ||
|
|
a1cfc5ceb0 | ||
|
|
4cbb56256c | ||
|
|
f31ae3a77b | ||
|
|
9745555b6a | ||
|
|
87ba9c60b2 | ||
|
|
b4927ff1cd | ||
|
|
aeed123312 | ||
|
|
dd9638cade | ||
|
|
448d87157c | ||
|
|
85392de2e7 | ||
|
|
663167a16c | ||
|
|
dd969f8a54 | ||
|
|
aa5ba238a4 | ||
|
|
718612aabf | ||
|
|
4712883601 | ||
|
|
71b8f487e0 | ||
|
|
d762a96436 | ||
|
|
871af07203 | ||
|
|
f35b9a937f | ||
|
|
d1027bf7b1 | ||
|
|
b00774f45f | ||
|
|
c324376999 | ||
|
|
1e9348185f | ||
|
|
0437fd0703 | ||
|
|
645776afc9 | ||
|
|
b1f1144807 | ||
|
|
6758d4d4ce | ||
|
|
273fd8b67f | ||
|
|
67abbc2ac3 | ||
|
|
2bdeca58c6 | ||
|
|
92bc1e855b | ||
|
|
2d386e6704 | ||
|
|
c4e19f3570 | ||
|
|
fde79020ef | ||
|
|
930aa69192 | ||
|
|
acdb6086db | ||
|
|
7cc0604360 | ||
|
|
a7d345282f | ||
|
|
ca6281bc31 | ||
|
|
6435e36b64 | ||
|
|
1b717e97d3 | ||
|
|
63dbe1b47d | ||
|
|
9688d5b56b | ||
|
|
3190c29ec4 | ||
|
|
cd7772204e | ||
|
|
4f1307edb1 | ||
|
|
7f99388576 | ||
|
|
3dc2bdfb20 | ||
|
|
faa4b683a3 | ||
|
|
5f39d2eeb0 | ||
|
|
f276f9b35d | ||
|
|
e002982cd7 | ||
|
|
9f75a448d4 | ||
|
|
f60caf6932 | ||
|
|
ebcd26f7ff | ||
|
|
d9cd5a3a2c | ||
|
|
8243e030b4 | ||
|
|
1ff0978efe | ||
|
|
9a3f8c93dc | ||
|
|
1fc9b4bfc1 | ||
|
|
2e342e5b1b | ||
|
|
3d856dcb33 | ||
|
|
eb01cb6705 | ||
|
|
9f3073fd17 | ||
|
|
356c1d3cb2 | ||
|
|
c98dfd3b54 | ||
|
|
492c1ebc0e | ||
|
|
ae9460b863 | ||
|
|
bf5fef8b64 | ||
|
|
ced7a84f8b | ||
|
|
0025876659 | ||
|
|
c440bd2bda | ||
|
|
6a1685ab5e | ||
|
|
21f81cfba3 | ||
|
|
5a64015d12 | ||
|
|
4ea109593b | ||
|
|
c9cba4a4ab | ||
|
|
9b9cb81199 | ||
|
|
9e885cab7c | ||
|
|
6bdd8f7fca | ||
|
|
2cc03e60d2 | ||
|
|
39aede9802 | ||
|
|
addbdb0545 | ||
|
|
3838fa5e55 | ||
|
|
b105b32c8a | ||
|
|
9a262c867c | ||
|
|
20e619e445 | ||
|
|
53cdbd8a2d | ||
|
|
3e96431bd6 | ||
|
|
f82eea7840 | ||
|
|
8165258a2d | ||
|
|
3724ffd858 | ||
|
|
70c9c3889f | ||
|
|
39b6e712bb | ||
|
|
ff921288ca | ||
|
|
cf90aa1a96 | ||
|
|
1683c3bade | ||
|
|
fb0a8b3fef | ||
|
|
51c20d75da | ||
|
|
ef79450065 | ||
|
|
f78cd0761b | ||
|
|
6fe184a565 | ||
|
|
2a82b433a4 | ||
|
|
85e006935e | ||
|
|
ae44451155 | ||
|
|
5f8ada85fb | ||
|
|
016351c7ed | ||
|
|
b7066aa7dc | ||
|
|
3d05f21abd | ||
|
|
9642eedce6 | ||
|
|
f4e108c34f | ||
|
|
7fd8877439 | ||
|
|
9d89d8757f | ||
|
|
64e7dbcadb | ||
|
|
ec454e04c9 | ||
|
|
0ea0c35198 | ||
|
|
91bdf733fb | ||
|
|
5c2cda7abb | ||
|
|
5bf0872d14 | ||
|
|
802b96c6f7 | ||
|
|
8fe36e1c83 | ||
|
|
3a17d0c927 | ||
|
|
4a95594e4b | ||
|
|
34134d0e90 | ||
|
|
cdf7ac6fd8 | ||
|
|
3f8c20907c | ||
|
|
869dfe0cdd | ||
|
|
98178fba68 | ||
|
|
9349a59c48 | ||
|
|
ca92bc1c04 | ||
|
|
a33f16d568 | ||
|
|
3f04989223 | ||
|
|
20a27da636 | ||
|
|
3448384e0d | ||
|
|
53052def52 | ||
|
|
88621d6fa0 | ||
|
|
acf67d5911 | ||
|
|
feeb2c6ce0 | ||
|
|
cc3f600d7f | ||
|
|
8a1b89a5eb | ||
|
|
0bc8848c85 | ||
|
|
4a29708f02 | ||
|
|
01a02d8f9e | ||
|
|
1dffd3e554 | ||
|
|
6be6c87c7c | ||
|
|
e4fbae03a1 | ||
|
|
66c0322e7e | ||
|
|
5e91984f31 | ||
|
|
60f9ff0a07 | ||
|
|
5f1fae8efd | ||
|
|
aa37029270 | ||
|
|
cfbeea4ce7 | ||
|
|
219411f894 | ||
|
|
8752322b95 | ||
|
|
54d183949e | ||
|
|
3ff4f23f2f | ||
|
|
6a9e72de51 | ||
|
|
36d8688e1b | ||
|
|
21117c85dd | ||
|
|
7b25804b55 | ||
|
|
14b49a0f61 | ||
|
|
fd510598bb | ||
|
|
8915e03f56 | ||
|
|
6d2828f267 | ||
|
|
174e9ae193 | ||
|
|
99395b62d4 | ||
|
|
e0935246a3 | ||
|
|
b544b8afff | ||
|
|
0def6f2bce | ||
|
|
cce943b3af | ||
|
|
a2c407854f | ||
|
|
1c60d51905 | ||
|
|
3d47dc8e5f | ||
|
|
61077f387e | ||
|
|
5f385632da | ||
|
|
63a09c27f7 | ||
|
|
c7a5f96ce7 | ||
|
|
2c77b7ae3d | ||
|
|
fa634e1476 | ||
|
|
cc0ec349a4 | ||
|
|
2fdac80488 | ||
|
|
d64c938749 | ||
|
|
c5d3f8644e | ||
|
|
a41902330f | ||
|
|
fb0fff6de1 | ||
|
|
335241d93d | ||
|
|
6974f77d18 | ||
|
|
33bdfb4d72 | ||
|
|
25da5f0806 | ||
|
|
10eec83478 | ||
|
|
b2626a2d65 | ||
|
|
f2b96593ea | ||
|
|
0bf9d68070 | ||
|
|
f6124344ba | ||
|
|
5e5fa86b8b | ||
|
|
59d4b91e4c | ||
|
|
4721d5164b | ||
|
|
a4fff11438 | ||
|
|
c8d3ea58f8 | ||
|
|
c8caf787d4 | ||
|
|
feecd30687 | ||
|
|
3fc6c003e8 | ||
|
|
4b234c4795 | ||
|
|
54785fb5a8 | ||
|
|
8b374b227a | ||
|
|
f4e1f52a7a | ||
|
|
17246eb7fc | ||
|
|
1083722346 | ||
|
|
2e14c20c71 | ||
|
|
33e7005483 | ||
|
|
a0de712bca | ||
|
|
3f83322fa9 | ||
|
|
b898a4540d | ||
|
|
d18cdae3e2 | ||
|
|
16c78f6a98 | ||
|
|
6e36dfb74e | ||
|
|
5b0b9c9ecc | ||
|
|
5a91ab46af | ||
|
|
3957b0b26a | ||
|
|
b97cfb3dc2 | ||
|
|
84b8296ffb | ||
|
|
6e2d3cae5e | ||
|
|
722af820a5 | ||
|
|
be54c69fd4 | ||
|
|
21bd47e512 | ||
|
|
f6ccf976e5 | ||
|
|
104f795156 | ||
|
|
72ffe9838a | ||
|
|
5fadc35664 | ||
|
|
e73bb34cc0 | ||
|
|
52f6f69d4b | ||
|
|
6e62afa950 | ||
|
|
83d050ee1c | ||
|
|
d2b6960593 | ||
|
|
217a2bce0a | ||
|
|
d69888df2d | ||
|
|
d418299780 | ||
|
|
2370fbffc2 | ||
|
|
13a4bec96b | ||
|
|
76f052e8de | ||
|
|
6d04023aa6 | ||
|
|
c6d3cf89ad | ||
|
|
2bab11e20a | ||
|
|
e4a1243948 | ||
|
|
06d0d41183 | ||
|
|
d2fab92d8b | ||
|
|
5039725da6 | ||
|
|
91d7517146 | ||
|
|
768000febd | ||
|
|
a8174f9285 | ||
|
|
3b8499eaee | ||
|
|
754fce648c | ||
|
|
ba0f376da7 | ||
|
|
a9099a56db | ||
|
|
3990637af9 | ||
|
|
3dbd3a7a81 | ||
|
|
74879a465f | ||
|
|
f5958fe0c0 | ||
|
|
ae27382be5 | ||
|
|
a88c681008 | ||
|
|
3e96672b88 | ||
|
|
150352930d | ||
|
|
18c8ed3088 | ||
|
|
ac04abb7a4 | ||
|
|
287ce2ef40 | ||
|
|
df628951f5 | ||
|
|
a8b6c81d12 | ||
|
|
1a453828d9 | ||
|
|
88768d012d | ||
|
|
cd86546313 | ||
|
|
517c6fdc9b | ||
|
|
74add52c2e | ||
|
|
170e0e1813 | ||
|
|
6d77c0e187 | ||
|
|
7f7cc2153f | ||
|
|
edae283817 | ||
|
|
15632561de | ||
|
|
624f44fdb5 | ||
|
|
2736fe0568 | ||
|
|
39e902860a | ||
|
|
b23805a78a | ||
|
|
6e13d1c3b3 | ||
|
|
1bf35c97e5 | ||
|
|
97fc5abb85 | ||
|
|
7ac3e7f6c4 | ||
|
|
dc97e60323 | ||
|
|
ea3bc8f253 | ||
|
|
94262fd095 | ||
|
|
8a006dd4b6 | ||
|
|
4ea15f2f2c | ||
|
|
b3b339d5bb | ||
|
|
c2cd08ee84 | ||
|
|
2a74778776 | ||
|
|
3c876f0208 | ||
|
|
c6848d4b68 | ||
|
|
bbae396db4 | ||
|
|
706300e9b7 | ||
|
|
451b226644 | ||
|
|
d981c67a69 | ||
|
|
03b323cb61 | ||
|
|
977184b878 | ||
|
|
68c61514b0 | ||
|
|
6a0fd05a9e | ||
|
|
446895ce3f | ||
|
|
53245e2742 | ||
|
|
c63305a700 | ||
|
|
26be86ee15 | ||
|
|
3e79ead240 | ||
|
|
f9eb013334 | ||
|
|
e9fae5bd7f | ||
|
|
c8bc1f8637 | ||
|
|
30b3fd2864 | ||
|
|
d5a5edf5a8 | ||
|
|
d152770b6a | ||
|
|
3ceaa42d20 | ||
|
|
35d1274919 | ||
|
|
2400483d6c | ||
|
|
3984756ccc | ||
|
|
b392a44737 | ||
|
|
d0d62fc518 | ||
|
|
d5f404d082 | ||
|
|
d567be2f10 | ||
|
|
1061e4712f | ||
|
|
afb4f6c0ce | ||
|
|
ca2c874161 | ||
|
|
c2e1a405b9 | ||
|
|
4f8ab73a8c | ||
|
|
f6b6935563 | ||
|
|
58e9f22c1b | ||
|
|
fd3ecacd05 | ||
|
|
8bb59c64f0 | ||
|
|
ef3759449d | ||
|
|
a5e743895b | ||
|
|
59e9b42557 | ||
|
|
169b61b98d | ||
|
|
a9b938427e | ||
|
|
a15c612427 | ||
|
|
e995d4f682 | ||
|
|
0cb6c3d7bf | ||
|
|
8d4db7ac85 | ||
|
|
e6a771cf4a | ||
|
|
64dbffc372 | ||
|
|
39e4024f9d | ||
|
|
a3fb210979 | ||
|
|
bd07c6cf35 | ||
|
|
fcae9c26b8 | ||
|
|
5b386472d2 | ||
|
|
a758c2dbb7 | ||
|
|
a60953c8f9 | ||
|
|
e06ad2a6ef | ||
|
|
68e7f6069c | ||
|
|
3aa5811b1e | ||
|
|
b5e9b78623 | ||
|
|
c3c4c6b49f | ||
|
|
6b5a05486b | ||
|
|
1f37311de4 | ||
|
|
88fc368c88 | ||
|
|
ca422ce5c0 | ||
|
|
c010bf2dc7 | ||
|
|
51dec6317f | ||
|
|
b8e92aacd2 | ||
|
|
9f53362e3c | ||
|
|
6e7f30f301 | ||
|
|
e0b93f055f | ||
|
|
b0fe898fa1 | ||
|
|
0cd19d76ce | ||
|
|
1a7faed56a | ||
|
|
cb7dd25f8a | ||
|
|
f1601b1c0f | ||
|
|
492e7d4a3d | ||
|
|
b21adb8144 | ||
|
|
01b7fe0cd5 | ||
|
|
aa2b4751a0 | ||
|
|
4800b8a26b | ||
|
|
7c18a927f0 | ||
|
|
5986b03a8f | ||
|
|
be59a6113b | ||
|
|
3e2d849850 | ||
|
|
2b2c94050c | ||
|
|
b69af9240d | ||
|
|
33bf94f4d2 | ||
|
|
51efde972b | ||
|
|
8527f986db | ||
|
|
2ffb7344e8 | ||
|
|
82a2d9b9e2 | ||
|
|
af9dd65c01 | ||
|
|
d8c19136bf | ||
|
|
aace94438e | ||
|
|
3af87261a8 | ||
|
|
f427f8dc15 | ||
|
|
a288ec6450 | ||
|
|
39707fcc8c | ||
|
|
1b0cc60d65 | ||
|
|
d3a000e7da | ||
|
|
005de7db95 | ||
|
|
f44bc2bfd8 | ||
|
|
bf74b9c9c0 | ||
|
|
6d97d170f6 | ||
|
|
19c94301ff | ||
|
|
306f9e5b91 | ||
|
|
f3783146bb | ||
|
|
4a071c6491 | ||
|
|
b662879c98 | ||
|
|
32de1a00d3 | ||
|
|
4cc28c76fb | ||
|
|
efb420dd78 | ||
|
|
7985fa573e | ||
|
|
11a4a366c6 | ||
|
|
e270412dbf | ||
|
|
6571451a57 | ||
|
|
7e442efa9c | ||
|
|
3c182a37fa | ||
|
|
77a1b0ecce | ||
|
|
73ae4a51b2 | ||
|
|
ed31457c00 | ||
|
|
d9395f2682 | ||
|
|
8789e23fe2 | ||
|
|
0929feba06 | ||
|
|
8b7100a9aa | ||
|
|
3fa8df6b62 | ||
|
|
d3badb8a07 | ||
|
|
bd56b47bb5 | ||
|
|
89e7e25b60 | ||
|
|
2364299a8c | ||
|
|
5a84048b9a | ||
|
|
4b5ce0efe7 | ||
|
|
466688436e | ||
|
|
9cd2598e8c | ||
|
|
a049183ecd | ||
|
|
984fbac1ad | ||
|
|
8e0e3397a3 | ||
|
|
933c83e373 | ||
|
|
d00c4fd35a | ||
|
|
1366197522 | ||
|
|
78930314c3 | ||
|
|
2ff9baa271 | ||
|
|
1915efbc95 | ||
|
|
30bbcf8200 | ||
|
|
76444c7913 | ||
|
|
d187716e73 | ||
|
|
0a85f15214 | ||
|
|
7d10ffff1b | ||
|
|
8a551bacfb | ||
|
|
b73ab15878 | ||
|
|
65097d4b54 | ||
|
|
9223cd8f59 | ||
|
|
29cdfdff87 | ||
|
|
66d5c051aa | ||
|
|
fcd88d356c | ||
|
|
420db99d16 | ||
|
|
f9ac3301d3 | ||
|
|
4e3e50bf91 | ||
|
|
11f1a6b034 | ||
|
|
b12c731d59 | ||
|
|
c6a90ed3cd | ||
|
|
7d25e9ce86 | ||
|
|
06196022cf | ||
|
|
17a4eab58e | ||
|
|
062f9b6dbf | ||
|
|
cc1d76fc0a | ||
|
|
cc6d057a18 | ||
|
|
2e62f75166 | ||
|
|
7ae0d551fe | ||
|
|
97103a5256 | ||
|
|
f31d3f424c | ||
|
|
b324925bd5 | ||
|
|
5965aa9aca | ||
|
|
927d0dddfe | ||
|
|
329a4605fb | ||
|
|
1f34096fdf | ||
|
|
0f4517df98 | ||
|
|
7e38fd733b | ||
|
|
76a3d79231 | ||
|
|
20837d3837 | ||
|
|
70601a5367 | ||
|
|
eededdd4c1 | ||
|
|
0e0920efbe | ||
|
|
9a4a17f338 | ||
|
|
65b50b67c4 | ||
|
|
d8d1886938 | ||
|
|
26b596d351 | ||
|
|
c276bd1ccc | ||
|
|
af7512741c | ||
|
|
e331b778c1 | ||
|
|
ec1a722504 | ||
|
|
3a921d898c | ||
|
|
74b2cd6c83 | ||
|
|
3b36438b1c | ||
|
|
9240cf1930 | ||
|
|
64c93217ff | ||
|
|
97347a1f94 | ||
|
|
4f095bcd65 | ||
|
|
d5cbb9fdc4 | ||
|
|
39fe0b29ff | ||
|
|
c6f85579db | ||
|
|
19844c4ba8 | ||
|
|
54cc666aa0 | ||
|
|
8375fcd350 | ||
|
|
28ad9684e9 | ||
|
|
af31ae0593 | ||
|
|
0b84d8afe7 | ||
|
|
a983e8254c | ||
|
|
0e4bfefd37 | ||
|
|
b23fdd63a6 | ||
|
|
b820fc0111 | ||
|
|
09fa80a7cb | ||
|
|
6abe99efd6 | ||
|
|
c865958292 | ||
|
|
dd3bbbe317 | ||
|
|
ba3a0d897b | ||
|
|
6300591c6b | ||
|
|
093f99ad75 | ||
|
|
144c1b0c9d | ||
|
|
e886079d4c | ||
|
|
369d0a6aca | ||
|
|
4051df1f6c | ||
|
|
6a8755a8af | ||
|
|
c8aaefd54a | ||
|
|
192423956b | ||
|
|
324503ee8b | ||
|
|
c8a5be0bb3 | ||
|
|
c023b441f5 | ||
|
|
1d4b336f26 | ||
|
|
bd0ee50e7c | ||
|
|
64047be78c | ||
|
|
14d868a791 | ||
|
|
a8ab82c80f | ||
|
|
7a414a04a0 | ||
|
|
9233ad6462 | ||
|
|
98caf47b22 | ||
|
|
1911256fbb | ||
|
|
5115247818 | ||
|
|
c5320e2ae7 | ||
|
|
ad3fc95755 | ||
|
|
7038bbe318 | ||
|
|
bfecce320a | ||
|
|
9e408f842c | ||
|
|
30b9f3e22a | ||
|
|
7bfaf2a7bf | ||
|
|
16330e4113 | ||
|
|
19c04168c3 | ||
|
|
7ecdad5a2d | ||
|
|
20fa35f931 | ||
|
|
82fdd4f03f | ||
|
|
85caabf8e4 | ||
|
|
ed707098e1 | ||
|
|
0459a1eb80 | ||
|
|
d9b87ef987 | ||
|
|
1129647039 | ||
|
|
6db8aa2d40 | ||
|
|
092b2ef5d2 | ||
|
|
29ee90bc26 | ||
|
|
924b0d0863 | ||
|
|
3e9033c3bc | ||
|
|
94762d1e10 | ||
|
|
f0c57622f8 | ||
|
|
33b4c71cb2 | ||
|
|
f5bd4d078b | ||
|
|
483a6c7fe2 | ||
|
|
c28c8f920f | ||
|
|
8eff84661a | ||
|
|
aacce9e5f7 | ||
|
|
ba836dec63 | ||
|
|
275ee55e8f | ||
|
|
acf57aa556 | ||
|
|
f83f7332a1 | ||
|
|
750a0bed71 | ||
|
|
9f02acd4ca | ||
|
|
68db1c6e68 | ||
|
|
580d073b96 | ||
|
|
d4d9d56e9d | ||
|
|
01d2376782 | ||
|
|
e9956f2345 | ||
|
|
7f99e943a6 | ||
|
|
6414bcb6aa | ||
|
|
1fcc0a8454 | ||
|
|
29bcf7dbe9 | ||
|
|
e1533ff39b | ||
|
|
1c25d2ac2b | ||
|
|
7b3364cbc9 | ||
|
|
eaa6ba81cf | ||
|
|
9e1812dc3e | ||
|
|
1e001451bd | ||
|
|
108d611205 | ||
|
|
ec32f47db3 | ||
|
|
2e687a1090 | ||
|
|
3a6858cf26 | ||
|
|
6e7de36a67 | ||
|
|
ae95a6158f | ||
|
|
095be20f8e | ||
|
|
f3a3ce7691 | ||
|
|
f4e91da6b1 | ||
|
|
749f59b3e3 | ||
|
|
9df0f8a98d | ||
|
|
70b7453f78 | ||
|
|
06f2f62223 | ||
|
|
ed623f52db | ||
|
|
d07977d366 | ||
|
|
265342fbae | ||
|
|
69a38c634c | ||
|
|
b9beb14da0 | ||
|
|
c3494614e3 | ||
|
|
c3571752b6 | ||
|
|
7f675cd218 | ||
|
|
be7a1d8805 | ||
|
|
6fa06a1406 | ||
|
|
8a1bbe7517 | ||
|
|
7090fd5b34 | ||
|
|
db6422c8a3 | ||
|
|
7812cb83e9 | ||
|
|
35572c9731 | ||
|
|
44d206c272 | ||
|
|
2f58311eea | ||
|
|
fde9ddfc8c | ||
|
|
a2c998ba1d | ||
|
|
3b7c793c37 | ||
|
|
b14d58a890 | ||
|
|
cc9cdbe82d | ||
|
|
ab813cb601 | ||
|
|
8d74296b6c | ||
|
|
7eb4b974e0 | ||
|
|
d2aca99d38 | ||
|
|
4c0dde6f2f | ||
|
|
477326b9c3 | ||
|
|
754351273b | ||
|
|
4f24a91484 | ||
|
|
c8f3173f2c | ||
|
|
fa498e4836 | ||
|
|
de6a37e1c5 | ||
|
|
2799e5aa75 | ||
|
|
b1fb581ab1 | ||
|
|
27a0491f30 | ||
|
|
6bd1865749 | ||
|
|
e8241636b8 | ||
|
|
3a242d8274 | ||
|
|
1dcce86cce | ||
|
|
b9f8e66806 | ||
|
|
cbe8b8a290 | ||
|
|
ca04cf780b | ||
|
|
9f66843915 | ||
|
|
19bed65d9b | ||
|
|
436f8db3e3 | ||
|
|
a459f648b5 | ||
|
|
e5519161f2 | ||
|
|
c7b6822a5e | ||
|
|
8148f0c3bb | ||
|
|
5bce96e8e7 | ||
|
|
3012d4c043 | ||
|
|
c7aef6a375 | ||
|
|
4f433ada14 | ||
|
|
7112a79b35 | ||
|
|
154a2e0d06 | ||
|
|
a1de4cc5fc | ||
|
|
ee7f521c08 | ||
|
|
c04236b60d | ||
|
|
787f3b8d6c | ||
|
|
e22deeac04 | ||
|
|
c0de407fee | ||
|
|
b1c5aa0929 | ||
|
|
b4644580cf | ||
|
|
66f0d97aad | ||
|
|
8d3faabc90 | ||
|
|
f93fd77c9c | ||
|
|
3f81f0d145 | ||
|
|
5a143be653 | ||
|
|
2458329f4f | ||
|
|
4a362d41a6 | ||
|
|
95692b3d68 | ||
|
|
7bb1b352e1 | ||
|
|
d92e17ee55 | ||
|
|
acf119a12c | ||
|
|
40637a221e | ||
|
|
b5e636b126 | ||
|
|
9525891455 | ||
|
|
ea0a6a1f7f | ||
|
|
b953190328 | ||
|
|
bd53fa9580 | ||
|
|
c972ec9737 | ||
|
|
d9dfa3ece3 | ||
|
|
3dfbae7331 | ||
|
|
910ec7e7dc | ||
|
|
86bc087257 | ||
|
|
e86283e8b1 | ||
|
|
741aa91e6f | ||
|
|
f0a5b444e3 | ||
|
|
9b0644e5c8 | ||
|
|
0b06dca472 | ||
|
|
4e318e6285 | ||
|
|
a5bef386ad | ||
|
|
00c3c17035 | ||
|
|
d023cb5931 | ||
|
|
1fdc48faba | ||
|
|
f2998037e5 | ||
|
|
ac88461fe6 | ||
|
|
d5cde0b60a | ||
|
|
6638dd9a83 | ||
|
|
4cc204affe | ||
|
|
4d0a7637b2 | ||
|
|
21ba507bcb | ||
|
|
ff2f612412 | ||
|
|
8c41137bcf | ||
|
|
8956400498 | ||
|
|
6bfb24c7b0 | ||
|
|
a45deafc96 | ||
|
|
b9b5445090 | ||
|
|
b2af163dc5 | ||
|
|
05dda7f0a1 | ||
|
|
3d51ca7377 | ||
|
|
7fa4a979e3 | ||
|
|
1e58747a39 | ||
|
|
a415c0b831 | ||
|
|
6c9afba607 | ||
|
|
b87c76ad21 | ||
|
|
5722569676 | ||
|
|
e55100fa90 | ||
|
|
bee29c14c6 | ||
|
|
df8b6e6862 | ||
|
|
c151021b16 | ||
|
|
8ffc25784c | ||
|
|
df4a5aeaf1 | ||
|
|
cd3a71e7cb | ||
|
|
3dbeacfebc | ||
|
|
b6596db75e | ||
|
|
3877537dc0 | ||
|
|
4ce1abc6f9 | ||
|
|
70c21a2e4d | ||
|
|
fbbb4463f8 | ||
|
|
af513964c8 | ||
|
|
f41f0eac80 | ||
|
|
c565e9869e | ||
|
|
b85b18288a | ||
|
|
0629a34ae4 | ||
|
|
aaa4f4a23e | ||
|
|
26b0e8f105 | ||
|
|
a279220d74 | ||
|
|
06bdfe8e96 | ||
|
|
290612e366 | ||
|
|
52f4bd64e0 | ||
|
|
8d765cfba1 | ||
|
|
9d4a087d77 | ||
|
|
d225e0a95c | ||
|
|
70223b2e3d | ||
|
|
a80517d6fe | ||
|
|
3311df6e3d | ||
|
|
86ef3c916d | ||
|
|
f15f6022de | ||
|
|
3c1a5ab439 | ||
|
|
f8ae71e458 | ||
|
|
0007ede9de | ||
|
|
2bfdee73e3 | ||
|
|
228bf711f9 | ||
|
|
058b28aaad | ||
|
|
70e05c6a3a | ||
|
|
ab974ddf14 | ||
|
|
7f560c13e4 | ||
|
|
ed52515ae3 | ||
|
|
280c27507c | ||
|
|
c125ead121 | ||
|
|
9a1e7de79d | ||
|
|
1feaf6df99 | ||
|
|
cd9fcd08aa | ||
|
|
6d8ee5fde0 | ||
|
|
78c5fe61df | ||
|
|
ef4640abfb | ||
|
|
da1a5426d0 | ||
|
|
a8578484bb | ||
|
|
04d71068d1 | ||
|
|
a3d3af35da | ||
|
|
82ac9e2bb6 | ||
|
|
c7a7f7dce5 | ||
|
|
6fd3620d50 | ||
|
|
bfa1f03315 | ||
|
|
c05bfdf71f | ||
|
|
ef29ce5b85 | ||
|
|
af6ddad058 | ||
|
|
3c8d29fa46 | ||
|
|
91088d1f56 | ||
|
|
34991f5b44 | ||
|
|
e6353dcd68 | ||
|
|
0fae3579e8 | ||
|
|
34269a03c0 | ||
|
|
f075662696 | ||
|
|
7e34c015ee | ||
|
|
facca37f4d | ||
|
|
2b370d6e27 | ||
|
|
bcdcb1f74b | ||
|
|
297ccfc52c | ||
|
|
2485286c03 | ||
|
|
a43ba7bd44 | ||
|
|
517a1bef08 | ||
|
|
4452d0932a | ||
|
|
305123df91 | ||
|
|
ede0b7e9ed | ||
|
|
68aefc73b6 | ||
|
|
ddf766567b | ||
|
|
85c696c4ad | ||
|
|
aacc83be5c | ||
|
|
b4012b6ac8 | ||
|
|
bd8da0cf25 | ||
|
|
2c57ecc085 | ||
|
|
e43bec2cd8 | ||
|
|
0802ebcd1a | ||
|
|
afcd620d21 | ||
|
|
9d937725ad | ||
|
|
c490b29d34 | ||
|
|
7fd4f220b8 | ||
|
|
fe6ec1258f | ||
|
|
986c024dd7 | ||
|
|
3bcbf231ee | ||
|
|
8a0c920106 | ||
|
|
d3a3e53354 | ||
|
|
003b2f14db | ||
|
|
c5178807be | ||
|
|
d0ba4f18d3 | ||
|
|
403b60723d | ||
|
|
620fb87fb8 | ||
|
|
3deffe58f6 | ||
|
|
eb781dd46d | ||
|
|
5f4944117c | ||
|
|
0eb7b755e2 | ||
|
|
c548a2357b | ||
|
|
30b1e3b289 | ||
|
|
2ba1740698 | ||
|
|
9c16622160 | ||
|
|
c29ed503db | ||
|
|
f3bdf4455c | ||
|
|
85ee91aa77 | ||
|
|
3adc7c8771 | ||
|
|
6f74c19d75 | ||
|
|
f8a5813573 | ||
|
|
f539a70d6d | ||
|
|
9f5258717e | ||
|
|
ada6249280 | ||
|
|
9f43724b57 | ||
|
|
76b43267c8 | ||
|
|
b42c34070a | ||
|
|
d77fc50198 | ||
|
|
6c45f7f556 | ||
|
|
8f2893edd3 | ||
|
|
35697381d2 | ||
|
|
0261e8fe80 | ||
|
|
dfa8f786d2 | ||
|
|
4e1f0dadbd | ||
|
|
a93de5f0d8 | ||
|
|
2bcc46c338 | ||
|
|
7619d9cb11 | ||
|
|
b1157dbd7a | ||
|
|
841a87c978 | ||
|
|
f7e9aeac6e | ||
|
|
bf6056f2fa | ||
|
|
e40b19c7a6 | ||
|
|
69bda0b803 | ||
|
|
d2d7ae2e86 | ||
|
|
2b0a439ad3 | ||
|
|
3c8bfb539d | ||
|
|
a2755117ac | ||
|
|
55bcbcef83 | ||
|
|
acebe9bee5 | ||
|
|
db5f893ea6 | ||
|
|
08e880a823 | ||
|
|
fe4f44723d | ||
|
|
048ba14c34 | ||
|
|
777979965d | ||
|
|
90d2f4659e | ||
|
|
f0391e31d2 | ||
|
|
0bd0dc374a | ||
|
|
3034bcaa72 | ||
|
|
1f70aa8f80 | ||
|
|
092a1813ef | ||
|
|
87c2bc44b2 | ||
|
|
9b773b8501 | ||
|
|
6fcfd132e5 | ||
|
|
c5bad9f843 | ||
|
|
5673fafbfb | ||
|
|
a20c9db6b7 | ||
|
|
50a6069532 | ||
|
|
af1a732821 | ||
|
|
a115d5db03 | ||
|
|
7fa0ae48c5 | ||
|
|
995128d1db | ||
|
|
189802d3c3 | ||
|
|
d480900a9b | ||
|
|
952957248f | ||
|
|
261b4a5564 | ||
|
|
6be787dd47 | ||
|
|
03715f062b | ||
|
|
55afbdc6be | ||
|
|
3e1046ee2e | ||
|
|
61929b785a | ||
|
|
0ef08ca737 | ||
|
|
fe74dfcb77 | ||
|
|
985b390a46 | ||
|
|
f062c66f89 | ||
|
|
1d8f8178ee | ||
|
|
2b867d9850 | ||
|
|
fb51a5e21f | ||
|
|
eae83609b8 | ||
|
|
97027834a1 | ||
|
|
9b91be739d | ||
|
|
2f40fd6741 | ||
|
|
c8238c7914 | ||
|
|
4508d6c143 | ||
|
|
9f2da249fd | ||
|
|
097fa053e4 | ||
|
|
337f2a0a8b | ||
|
|
c9abe04d46 | ||
|
|
5717cb5055 | ||
|
|
bac7fb6c32 | ||
|
|
39d0db05f3 | ||
|
|
32c43f3f06 | ||
|
|
b2b169c666 | ||
|
|
d6efd6d606 | ||
|
|
d68b5d222a | ||
|
|
8f0c8778b4 | ||
|
|
abee323789 | ||
|
|
5533b30135 | ||
|
|
e0163c93c2 | ||
|
|
7b5c84f366 | ||
|
|
865be67dd1 | ||
|
|
ba2d004161 | ||
|
|
6f888720de | ||
|
|
209dbcf894 | ||
|
|
c7cdaedd6f | ||
|
|
55673e2f41 | ||
|
|
f6a5e03bfb | ||
|
|
47b8379194 | ||
|
|
c9984cbb7a | ||
|
|
5a0ef46280 | ||
|
|
fedcf47702 | ||
|
|
4a13580a2f | ||
|
|
69f185b459 | ||
|
|
187111368a | ||
|
|
712974b26c | ||
|
|
5cf86c981f | ||
|
|
4a4ad66210 | ||
|
|
ed1ad34f9b | ||
|
|
39d53e65a7 | ||
|
|
16b9cf07f4 | ||
|
|
0880329796 | ||
|
|
fd99b82f78 | ||
|
|
b0e116c5fa | ||
|
|
b2de69d741 | ||
|
|
6f4a9eb07b | ||
|
|
4e6a7121ed | ||
|
|
cc1976693b | ||
|
|
94bbc081c8 | ||
|
|
2788817107 | ||
|
|
97c0ff2ae4 | ||
|
|
bdab0bc8c0 | ||
|
|
fd4fc106d9 | ||
|
|
bdbe12e980 | ||
|
|
e894b19c1a | ||
|
|
d0e124e2f9 | ||
|
|
d1a00540dd | ||
|
|
69f888e296 | ||
|
|
b1e1297bb3 | ||
|
|
226dcdde0f | ||
|
|
5ee5c7af7b | ||
|
|
beaac3c885 | ||
|
|
f5ed2f52f7 | ||
|
|
67b3848fd9 | ||
|
|
5e3e7cca0e | ||
|
|
ecebaf1bdf | ||
|
|
2deced7d40 | ||
|
|
fb0221d561 | ||
|
|
0d272a3b9c | ||
|
|
2f965a07ab | ||
|
|
59f5c1edfb | ||
|
|
b8b7c7901c | ||
|
|
257aca5340 | ||
|
|
f379329127 | ||
|
|
0c73403e00 | ||
|
|
967b9ed22c | ||
|
|
0b842eb48e | ||
|
|
f5bd197cdb | ||
|
|
5fb1c7f512 | ||
|
|
06e826d3af | ||
|
|
d0d0d86880 | ||
|
|
152b83b3fb | ||
|
|
77b8b505ad | ||
|
|
2a65de8aaa | ||
|
|
ef253c99d8 | ||
|
|
9ec48075ee | ||
|
|
c42f42223a | ||
|
|
f671ad51fe | ||
|
|
5cb4be8c9b | ||
|
|
762c7dc3a5 | ||
|
|
9ae3d049a3 | ||
|
|
a2868fdb14 | ||
|
|
26fab52086 | ||
|
|
37f82dab49 | ||
|
|
4a9ba41f81 | ||
|
|
142797032b | ||
|
|
5c9071a6c6 | ||
|
|
b0250cf027 | ||
|
|
3523289e98 | ||
|
|
5fc07abef1 | ||
|
|
58f180d58b | ||
|
|
5a9de531d2 | ||
|
|
7fe710b141 | ||
|
|
2d27703955 | ||
|
|
830600dab0 | ||
|
|
f7fcc14f69 | ||
|
|
2ffb88b0ee | ||
|
|
d89235aa8c | ||
|
|
66c728d26b | ||
|
|
c84b6b783c | ||
|
|
aa0dc36143 | ||
|
|
a0ae08d774 | ||
|
|
8780fc554f | ||
|
|
23aca476c9 | ||
|
|
7359e0bcba | ||
|
|
b23b6d228a | ||
|
|
3f47621065 | ||
|
|
78a00d09cd | ||
|
|
0872eb2791 | ||
|
|
15de8a5433 | ||
|
|
77cb47773f | ||
|
|
61b9ffd324 | ||
|
|
008c51b5b1 | ||
|
|
022297f359 | ||
|
|
f6354339ef | ||
|
|
3b37e20df6 | ||
|
|
b68b69c2b4 | ||
|
|
9ab064bfc5 | ||
|
|
b1a1e7ce61 | ||
|
|
b512e7be0a | ||
|
|
8bb7475e4f | ||
|
|
2573cbec08 | ||
|
|
a5ae8959e3 | ||
|
|
2cf6a6388b | ||
|
|
813632dff1 | ||
|
|
3103776892 | ||
|
|
01b75828ba | ||
|
|
567a3803c5 | ||
|
|
5f8af8860f | ||
|
|
2a5afd0d1a | ||
|
|
32d224223e | ||
|
|
b700de8122 | ||
|
|
1dbbbd9ca7 | ||
|
|
6f7528f896 | ||
|
|
5e924f3a27 | ||
|
|
e33573d786 | ||
|
|
a03652494c | ||
|
|
1696ac8ea5 | ||
|
|
3a719a2cfd | ||
|
|
d9bc4f7395 | ||
|
|
b189743ca0 | ||
|
|
8072286daf | ||
|
|
26162a53e6 | ||
|
|
4e725f2f74 | ||
|
|
60915e7fe6 | ||
|
|
75a28bc367 | ||
|
|
9763199b53 | ||
|
|
12cc312920 | ||
|
|
7aeb1adff2 | ||
|
|
6e802e6809 | ||
|
|
9a7ec04f90 | ||
|
|
d325184287 | ||
|
|
9fb956f57f | ||
|
|
77bf3f5bab | ||
|
|
25abd57029 | ||
|
|
8f0ccf3362 | ||
|
|
b2e53997e2 | ||
|
|
3ec178ae44 | ||
|
|
06a0890c2e | ||
|
|
15340a27ef | ||
|
|
4aad44e848 | ||
|
|
25e85f8947 | ||
|
|
112763594a | ||
|
|
63b5e65eb3 | ||
|
|
e709de603d | ||
|
|
986bd2f9f8 | ||
|
|
b1d846d7e8 | ||
|
|
0e0e11cdd1 | ||
|
|
3f5483b79f | ||
|
|
0704ae734f | ||
|
|
229658ad83 | ||
|
|
4308edb593 | ||
|
|
3bf3290340 | ||
|
|
5a4b051a91 | ||
|
|
71d04a326b | ||
|
|
d722a25084 | ||
|
|
5b1d99b8c4 | ||
|
|
94f5e21493 | ||
|
|
059c5a4d02 | ||
|
|
3270a9c959 | ||
|
|
200c613672 | ||
|
|
dd7ad4c3d6 | ||
|
|
bef9ff3b1a | ||
|
|
b420fbe940 | ||
|
|
d0481bb568 | ||
|
|
cfc40b23d7 | ||
|
|
bda27ec8c6 | ||
|
|
cab4288b88 | ||
|
|
34d1a75ab0 | ||
|
|
c94468339c | ||
|
|
594e9b1b73 | ||
|
|
5c06bbf8cf | ||
|
|
2614607d60 | ||
|
|
8d598ba5f8 | ||
|
|
81a3245190 | ||
|
|
c3c1f6ac27 | ||
|
|
b7e658c5c3 | ||
|
|
53a0c3488e | ||
|
|
89c215a9ff | ||
|
|
f3a93a0303 | ||
|
|
ce917e97f7 | ||
|
|
07df148400 | ||
|
|
53142aed07 | ||
|
|
20a33632bf | ||
|
|
8abfcdbb78 | ||
|
|
9d1f8fbdb0 | ||
|
|
fb9cfd0d1b | ||
|
|
40f0a72db0 | ||
|
|
4f8f82f5f1 | ||
|
|
b475b8f648 | ||
|
|
19a1d9d188 | ||
|
|
b43425b527 | ||
|
|
f5078547d2 | ||
|
|
2974ab634f | ||
|
|
885eb00fc3 | ||
|
|
b4366ebed2 | ||
|
|
db06a5a5d3 | ||
|
|
f92fe82b24 | ||
|
|
669669f093 | ||
|
|
324063eb3d | ||
|
|
cc99e7b164 | ||
|
|
180e82992b | ||
|
|
975e3acc68 | ||
|
|
2ce5f78cdd | ||
|
|
dd7f24dfbd | ||
|
|
593ab4559d | ||
|
|
532cee2ee3 | ||
|
|
640bc0de97 | ||
|
|
cbce49b163 | ||
|
|
e0446fc557 | ||
|
|
836881b713 | ||
|
|
98e5048370 | ||
|
|
d608668335 | ||
|
|
388023a172 | ||
|
|
3a7096d0a6 | ||
|
|
0920e8bcc6 | ||
|
|
5700b4b13a | ||
|
|
00bb3215cb | ||
|
|
672d5f92f2 | ||
|
|
3438196010 | ||
|
|
fd5f351a6f | ||
|
|
053a806ab1 | ||
|
|
2baf4883cc | ||
|
|
d4546630df | ||
|
|
bbc4dc3867 | ||
|
|
a44f718c09 | ||
|
|
65ce173d3f | ||
|
|
54c500cd94 | ||
|
|
a72c89bd6e | ||
|
|
5548e5976b | ||
|
|
b64a5848aa | ||
|
|
bbe7029d0a | ||
|
|
75fe42876a | ||
|
|
a82d01214d | ||
|
|
1ec68b6917 | ||
|
|
afeb0fc792 | ||
|
|
ea71201ddc | ||
|
|
cbe1e7d63f | ||
|
|
42016dc359 | ||
|
|
34bb959835 | ||
|
|
0b804e720f | ||
|
|
22d5efba25 | ||
|
|
3e1f5559a6 | ||
|
|
9125f0df20 | ||
|
|
0d70dbe730 | ||
|
|
4c15266a77 | ||
|
|
8f7352e862 | ||
|
|
125b7c2fd8 | ||
|
|
221e640264 | ||
|
|
d7ee3ea086 | ||
|
|
37c54b4403 | ||
|
|
5fecfe9d53 | ||
|
|
2fd4fe40f0 | ||
|
|
c12a662f9f | ||
|
|
0ff7783745 | ||
|
|
a52d0ca5a6 | ||
|
|
be0d8b4f19 | ||
|
|
5fe5e8a5a6 | ||
|
|
c062389f66 | ||
|
|
27e005c4c4 | ||
|
|
3d715840f1 | ||
|
|
8673c757a5 | ||
|
|
ccedc41c57 | ||
|
|
b2036ffcbf | ||
|
|
f248a55576 | ||
|
|
beac7de4df | ||
|
|
1860737117 | ||
|
|
95ad094438 | ||
|
|
4083b2208e | ||
|
|
a50507e645 | ||
|
|
1051561154 | ||
|
|
8f5edb09ef | ||
|
|
cf08f6762d | ||
|
|
8b9bb2acf6 | ||
|
|
4e93b0f467 | ||
|
|
dca881289a | ||
|
|
4c5483ee15 | ||
|
|
a46ff09bf9 | ||
|
|
573b40ab98 | ||
|
|
3457f219be | ||
|
|
1b8b1d6c7a | ||
|
|
ce3da025cc | ||
|
|
c6eeb2d845 | ||
|
|
ba6829f4a7 | ||
|
|
b4a804776f | ||
|
|
241dca57cf | ||
|
|
f9ba4e3e5d | ||
|
|
3c23ab5428 | ||
|
|
2cea7af2f5 | ||
|
|
96893aef2a | ||
|
|
e462974359 | ||
|
|
e8f23bb2cf | ||
|
|
c77c81fc1a | ||
|
|
17eff37104 | ||
|
|
44282134da | ||
|
|
bd321216db | ||
|
|
50a635bc7e | ||
|
|
c4f906f7fa | ||
|
|
4a60f29709 | ||
|
|
dfe2d5eb98 | ||
|
|
9f78fd94d7 | ||
|
|
ca1fd028a2 | ||
|
|
cc9881343e | ||
|
|
3990db3a16 | ||
|
|
cfb46c8003 | ||
|
|
65fc7cf004 | ||
|
|
3e9dd1239a | ||
|
|
cd35cf7982 | ||
|
|
0a255ac5fb | ||
|
|
7fba9ba522 | ||
|
|
bfbbdf5efb | ||
|
|
384562e1ad | ||
|
|
9dc2ccdbfd | ||
|
|
a5022d9dc6 | ||
|
|
b4234cb06e | ||
|
|
644a16048f | ||
|
|
a1434a98a3 | ||
|
|
1f39692d9b | ||
|
|
2a6b73ca5f | ||
|
|
6e39ea5e46 | ||
|
|
89da7d6fe5 | ||
|
|
9f1b584c85 | ||
|
|
47115c714a | ||
|
|
7a2edd35d5 | ||
|
|
ced5497ba1 | ||
|
|
87b57a1b25 | ||
|
|
2226225309 | ||
|
|
4b72c159d8 | ||
|
|
e5795c7b6d | ||
|
|
ba3629c01c | ||
|
|
7104782a74 | ||
|
|
9e50866356 | ||
|
|
b28085110d | ||
|
|
4a3c6325a4 | ||
|
|
9adba8537f | ||
|
|
22a3c9976f | ||
|
|
940a9e0144 | ||
|
|
0841497cad | ||
|
|
016dea1143 | ||
|
|
f97f489c2c | ||
|
|
284c2d6f71 | ||
|
|
aaba5a43bd | ||
|
|
ef805f271e | ||
|
|
081ec57443 | ||
|
|
5fb685dcc6 | ||
|
|
36c38b5310 | ||
|
|
bfd3506549 | ||
|
|
4d8d916434 | ||
|
|
a8c1c15235 | ||
|
|
bcf62612f3 | ||
|
|
e48351fbd3 | ||
|
|
d5fe9ce87f | ||
|
|
2867f92974 | ||
|
|
97258ca1eb | ||
|
|
517975a4b3 | ||
|
|
fcfa4aa777 | ||
|
|
981aad6b77 | ||
|
|
2f3c539d9b | ||
|
|
a69ee676ba | ||
|
|
67cbbf84ca | ||
|
|
00af0afe52 | ||
|
|
e746f55126 | ||
|
|
77effa6d90 | ||
|
|
fb5fb76ad1 | ||
|
|
235f7db967 | ||
|
|
97037580df | ||
|
|
9811725c59 | ||
|
|
1830820363 | ||
|
|
fa330900ff | ||
|
|
65bcd72484 | ||
|
|
0dd5373e4a | ||
|
|
19a9a79467 | ||
|
|
18e66d22b1 | ||
|
|
0ed94dc71e | ||
|
|
20b94ea92f | ||
|
|
9abadcbdb4 | ||
|
|
64bb94cc62 | ||
|
|
4d08f44667 | ||
|
|
a5d72e264d | ||
|
|
9d182986f1 | ||
|
|
6787e2f108 | ||
|
|
992186c88f | ||
|
|
8a3508a547 | ||
|
|
62738dd5c8 | ||
|
|
01897edccd | ||
|
|
1596acbd3b | ||
|
|
0a4e6ff86b | ||
|
|
e2672021bc | ||
|
|
95afb3a112 | ||
|
|
7ef38bd6c1 | ||
|
|
7c79f8f7a5 | ||
|
|
032d0669cd | ||
|
|
67ee40ce12 | ||
|
|
64a00aff6e | ||
|
|
b91b9a1e38 | ||
|
|
029b5bc2d0 | ||
|
|
f08de95630 | ||
|
|
773030f15c | ||
|
|
d999b415df | ||
|
|
0bd3ad1d5a | ||
|
|
4092741f24 | ||
|
|
3d59d3b40f | ||
|
|
4eab10eaa1 | ||
|
|
f8748f0724 | ||
|
|
27c44f4709 | ||
|
|
75d42d82a3 | ||
|
|
0418a7bc0a | ||
|
|
79614eabdf | ||
|
|
d96baaa878 | ||
|
|
ce857c2680 | ||
|
|
4600bd2e77 | ||
|
|
516e0cf7e2 | ||
|
|
e32caccc15 | ||
|
|
e642e1a804 | ||
|
|
5c03c14b25 | ||
|
|
21d26de4d8 | ||
|
|
e30c398087 | ||
|
|
a112c9487b | ||
|
|
a268a56acb | ||
|
|
42eb033b03 | ||
|
|
86fc8da703 | ||
|
|
315778227b | ||
|
|
c872cad879 | ||
|
|
747cdf938e | ||
|
|
c41c8c2026 | ||
|
|
844023ad92 | ||
|
|
088cb66635 | ||
|
|
8e667c4165 | ||
|
|
32845704ac | ||
|
|
be48906257 | ||
|
|
011978e81b | ||
|
|
bf9e5ae056 | ||
|
|
f18b3ca340 | ||
|
|
e38c4c26ae | ||
|
|
4e790ca240 | ||
|
|
074831153a | ||
|
|
f6abde3328 | ||
|
|
152f70a6a4 | ||
|
|
3c376f137a | ||
|
|
636d17c111 | ||
|
|
6dbd324ef9 | ||
|
|
419598c745 | ||
|
|
9ece88d585 | ||
|
|
bc7386e815 | ||
|
|
97249d15d1 | ||
|
|
e0217c37a1 | ||
|
|
0201e8e8fb | ||
|
|
97de44b0c2 | ||
|
|
0a7b731242 | ||
|
|
c6c93a02aa | ||
|
|
4a800eda9f | ||
|
|
8349db4947 | ||
|
|
612b864772 | ||
|
|
1f9562ea72 | ||
|
|
e8bcc5e831 | ||
|
|
d5ff74ebac | ||
|
|
c86c4ca65a | ||
|
|
bf75e1fbf4 | ||
|
|
2a7319809a | ||
|
|
748bfff601 | ||
|
|
ace177f20a | ||
|
|
322dccdb4d | ||
|
|
55d970ef9a | ||
|
|
38827e5a16 | ||
|
|
97a90591ca | ||
|
|
5f26fd87c7 | ||
|
|
5f61266931 | ||
|
|
4a3ce66193 | ||
|
|
08d03cc315 | ||
|
|
380ce19b1a | ||
|
|
84d580179d | ||
|
|
38f57d270a | ||
|
|
3924751827 | ||
|
|
c183a8930b | ||
|
|
9491ab9a93 | ||
|
|
be7b293b79 | ||
|
|
a3764ebeba | ||
|
|
2d0ea60017 | ||
|
|
c2fb2dcfbe | ||
|
|
8cade5c550 | ||
|
|
19844220db | ||
|
|
e1067b817d | ||
|
|
4bbae5eb0a | ||
|
|
546d1517fa | ||
|
|
52b70ca976 | ||
|
|
0e13719ec6 | ||
|
|
ff7a96d60e | ||
|
|
96384b5181 | ||
|
|
ee65f89533 | ||
|
|
c6387854c5 | ||
|
|
f2093c9f05 | ||
|
|
0cc90f2492 | ||
|
|
84554735b0 | ||
|
|
02f5e1f930 | ||
|
|
5b7ae2bb93 | ||
|
|
8fbd8eabec | ||
|
|
1d244ae1ec | ||
|
|
b90e09e966 | ||
|
|
33326c5a9e | ||
|
|
1e3009e665 | ||
|
|
7977aa6a84 | ||
|
|
501f1bc7a9 | ||
|
|
6190499f03 | ||
|
|
bd7850853e | ||
|
|
9eea0e99fc | ||
|
|
945dd052b1 | ||
|
|
f70fefc67c | ||
|
|
a63a271f88 | ||
|
|
b8df574aba | ||
|
|
0e8fa1f5f8 | ||
|
|
4c1cb79069 | ||
|
|
cc40211f71 | ||
|
|
3e583ff423 | ||
|
|
45eb292a74 | ||
|
|
2113c13e6e | ||
|
|
1545a58d3c | ||
|
|
ea5cf7c51f | ||
|
|
0d67b5a6e9 | ||
|
|
d7aca7d0fe | ||
|
|
63bdbb67fc | ||
|
|
1a3365d99b | ||
|
|
72aa6d6e28 | ||
|
|
aefe08f738 | ||
|
|
f9361bf5bf | ||
|
|
e2735dd9c8 | ||
|
|
65fc40385a | ||
|
|
32c55555cb | ||
|
|
0539ccf10d | ||
|
|
6bd2f9f3ea | ||
|
|
45835f7ea2 | ||
|
|
712314e832 | ||
|
|
e89aef57cb | ||
|
|
9af095d730 | ||
|
|
d88be2819d | ||
|
|
5a9bd1d1cf | ||
|
|
d04dcb3da0 | ||
|
|
0c8433c9e5 | ||
|
|
b65fc7c74e | ||
|
|
261be0facd | ||
|
|
5a7d6c104e | ||
|
|
19c77eaae1 | ||
|
|
9680722b78 | ||
|
|
4bc7a35f56 | ||
|
|
4569872048 | ||
|
|
acd13e05ef | ||
|
|
413548806d | ||
|
|
03f55e5288 | ||
|
|
3bda6c2c0a | ||
|
|
d730c66579 | ||
|
|
fbad76007d | ||
|
|
4ec75bcc60 | ||
|
|
099055e8a5 | ||
|
|
27c7e33217 | ||
|
|
03ff8a5cdb | ||
|
|
d0abb08f31 | ||
|
|
797da67467 | ||
|
|
a18482da38 | ||
|
|
d09017f7a2 | ||
|
|
2b320b0f9e | ||
|
|
6344eeac3b | ||
|
|
938bc9c2cc | ||
|
|
84cee7cab6 | ||
|
|
fe3ada4a6c | ||
|
|
b70650e098 | ||
|
|
82a5913dfa | ||
|
|
6eeef432de | ||
|
|
77e1f222a0 | ||
|
|
c7c66ccf4a | ||
|
|
e43e430e6a | ||
|
|
6ed3868921 | ||
|
|
89b292f514 | ||
|
|
40ad52fdbc | ||
|
|
f32fe9a846 | ||
|
|
b2d930e079 | ||
|
|
b5821ef473 | ||
|
|
94444319ec | ||
|
|
4c27b2c59d | ||
|
|
93b8243da7 | ||
|
|
544b5f905c | ||
|
|
6dfe9aef95 | ||
|
|
0db65d229e | ||
|
|
153036be2e | ||
|
|
7d32d5eff4 | ||
|
|
a82f102878 | ||
|
|
458fc69616 | ||
|
|
9801b92c3d | ||
|
|
e37b43117b | ||
|
|
5d724c2482 | ||
|
|
f403bc57d5 | ||
|
|
a766b378d0 | ||
|
|
788ef7fec3 | ||
|
|
d4bb8122cb | ||
|
|
c7ca2bfcf5 | ||
|
|
943525391e | ||
|
|
6096f46774 | ||
|
|
7188c13d22 | ||
|
|
2ea662854a | ||
|
|
a4d919c157 | ||
|
|
a38d6e57c2 | ||
|
|
4623a6471b | ||
|
|
ee8bb63d2d | ||
|
|
f92ef0e126 | ||
|
|
4224d05934 | ||
|
|
87fd36aecf | ||
|
|
eb60773073 | ||
|
|
c04027919b | ||
|
|
75640a6ad3 | ||
|
|
cda3791d49 | ||
|
|
a42caa7a61 | ||
|
|
1635a3cd67 | ||
|
|
dd7f45011d | ||
|
|
e48d166c3e | ||
|
|
bd1741653d | ||
|
|
4c4f7a3331 | ||
|
|
bcee44db5f | ||
|
|
3fcc259703 | ||
|
|
4be5ccaece | ||
|
|
eb7573828e | ||
|
|
c38eab33f5 | ||
|
|
0f5eaac6df | ||
|
|
d3d5735098 | ||
|
|
fb3b13b567 | ||
|
|
a0542e7307 | ||
|
|
9fff736549 | ||
|
|
fe656229c3 | ||
|
|
e22b510cd8 | ||
|
|
d75a9b6aeb | ||
|
|
41b175e7ae | ||
|
|
02f608ed05 | ||
|
|
97f480386f | ||
|
|
a1556fded2 | ||
|
|
e80ef522bb | ||
|
|
dae492f6c8 | ||
|
|
658c79e1d5 | ||
|
|
a7497ae846 | ||
|
|
cf61ab3da2 | ||
|
|
ddbbf8df4b | ||
|
|
573ba9be18 | ||
|
|
d6d51f0316 | ||
|
|
763163603c | ||
|
|
3f6a64cc57 | ||
|
|
dd8c50ec12 | ||
|
|
f55f7f2634 | ||
|
|
28d9cc7310 | ||
|
|
26c3ed89a3 | ||
|
|
518afa5a24 | ||
|
|
2d89a27741 | ||
|
|
7c3fc2f261 | ||
|
|
78290301f4 | ||
|
|
aa225a4450 | ||
|
|
74fa0af1c2 | ||
|
|
e0294b0b83 | ||
|
|
a87df0528b | ||
|
|
cbf8e7e679 | ||
|
|
1b82595251 | ||
|
|
a9095b1dd1 | ||
|
|
f39c5ed9f7 | ||
|
|
586c95654d | ||
|
|
bc3e1df5e3 | ||
|
|
6a30240f58 | ||
|
|
5cc11bd1a1 | ||
|
|
6c91b65aca | ||
|
|
dc31bbb555 | ||
|
|
821bb235b3 | ||
|
|
e399fe6d09 | ||
|
|
2a73b89374 | ||
|
|
a20ebbc8f8 | ||
|
|
8de1047f65 | ||
|
|
95d379368a | ||
|
|
38ad0d3ebf | ||
|
|
a8b94fe203 | ||
|
|
137da12c99 | ||
|
|
8338e92a70 | ||
|
|
9144e3b44a | ||
|
|
299fe3e5b1 | ||
|
|
f8fd45892d | ||
|
|
d75fee5207 | ||
|
|
1a31abe254 | ||
|
|
8b6cbae96b | ||
|
|
1c648fd010 | ||
|
|
0c1aafd643 | ||
|
|
393faa8732 | ||
|
|
6a3eb276ef | ||
|
|
cebcb38df2 | ||
|
|
52f208d3ac | ||
|
|
aa77023008 | ||
|
|
80611b381c | ||
|
|
fcbaf188c2 | ||
|
|
7bb3fe3da1 | ||
|
|
362b5a1c22 | ||
|
|
8b215d60ac | ||
|
|
a1cedb4160 | ||
|
|
0c22aac7f0 | ||
|
|
bb41ff267b | ||
|
|
b7a7f2bd62 | ||
|
|
54faa541c3 | ||
|
|
b937b70a46 | ||
|
|
ae05e4422d | ||
|
|
a45662bf2d | ||
|
|
6f92fd64ce | ||
|
|
ddbf0a05af | ||
|
|
0a26c9e9ae | ||
|
|
e1146120f4 | ||
|
|
673b98cf10 | ||
|
|
b17e256a3c | ||
|
|
1c14c85b97 | ||
|
|
e6c962e37c | ||
|
|
7bca69849f | ||
|
|
42f1fcaf2c | ||
|
|
405887eebf | ||
|
|
66b881ae2f | ||
|
|
af82dfa95d | ||
|
|
fc93d6f795 | ||
|
|
ef06724a2d | ||
|
|
ed75aea21d | ||
|
|
daf9273cd1 | ||
|
|
0b2478859a | ||
|
|
e4698d9c52 | ||
|
|
1aed1d8017 | ||
|
|
8b3615b576 | ||
|
|
369a8a2b5f | ||
|
|
fb9e12c106 | ||
|
|
e23ba32722 | ||
|
|
47b51326cc | ||
|
|
f9f85131a9 | ||
|
|
165ca3b4e8 | ||
|
|
84c079d93f | ||
|
|
54ada3fc47 | ||
|
|
76406d65cd | ||
|
|
c2799b4901 | ||
|
|
fc51ec70ba | ||
|
|
86faeae6d2 | ||
|
|
157ded7c3f | ||
|
|
f3ba16d3b7 | ||
|
|
8f66b7fdb0 | ||
|
|
d5e35c4b78 | ||
|
|
c46736f490 | ||
|
|
0401fa1652 | ||
|
|
ff5e6da358 | ||
|
|
bc6752a51c | ||
|
|
0e4c90dd87 | ||
|
|
ce8c42ab35 | ||
|
|
0160f4f72c | ||
|
|
7710f1c3cf | ||
|
|
e5d0877af7 | ||
|
|
1941ae21d7 | ||
|
|
7e94d05d39 | ||
|
|
598179227c | ||
|
|
5b53b37634 | ||
|
|
9fc4436418 | ||
|
|
db42af20ca | ||
|
|
fcb17379ea | ||
|
|
3437c8be7f | ||
|
|
51d73249b2 | ||
|
|
012d62782c | ||
|
|
35f5ef007c | ||
|
|
f49b4d35f2 | ||
|
|
08dab3f816 | ||
|
|
6137a75552 | ||
|
|
f22bee8ca2 | ||
|
|
52611d4d02 | ||
|
|
3dbba3e509 | ||
|
|
826245f511 | ||
|
|
7928245eb6 | ||
|
|
2cfba519f1 | ||
|
|
40bcd0df41 | ||
|
|
87c81825b7 | ||
|
|
e672796632 | ||
|
|
dc1670ed9a | ||
|
|
b17b98aeb9 | ||
|
|
dc03cc0f9a | ||
|
|
378d92130d | ||
|
|
acb051b314 | ||
|
|
a847608061 | ||
|
|
6951feff88 | ||
|
|
125a8a41dd | ||
|
|
920d79680d | ||
|
|
7e4eb61be8 | ||
|
|
1418e88695 | ||
|
|
80adb74205 | ||
|
|
efe8739864 | ||
|
|
7098c22f39 | ||
|
|
59ea63384d | ||
|
|
5a5d57311b | ||
|
|
ad960827cc | ||
|
|
fc84ec7618 | ||
|
|
1b7cd4c684 | ||
|
|
2e559bb333 | ||
|
|
eb8e6c6a9f | ||
|
|
02fff05607 | ||
|
|
be8c8baf6f | ||
|
|
4b1d8eeef0 | ||
|
|
7aaa4b241e | ||
|
|
570c5934d3 | ||
|
|
eee53810c0 | ||
|
|
14abf2dab3 | ||
|
|
afe464bc20 | ||
|
|
b80bba387f | ||
|
|
a68993825e | ||
|
|
dbd8b082a6 | ||
|
|
65a12e46a6 | ||
|
|
e2816ee51a | ||
|
|
df9925f3bb | ||
|
|
c602041f4a | ||
|
|
415b4b5782 | ||
|
|
20a66343bd | ||
|
|
6c8f24adc9 | ||
|
|
0a01b60305 | ||
|
|
9531be9162 | ||
|
|
6be7033d29 | ||
|
|
fa4baa7c38 | ||
|
|
c63c5857df | ||
|
|
368fc0f120 | ||
|
|
cdbc04ab2b | ||
|
|
536edee7bf | ||
|
|
c36f7aa92b | ||
|
|
a21a232a8e | ||
|
|
25ca760ee1 | ||
|
|
b9964865cb | ||
|
|
277d82db9a | ||
|
|
57ab354139 | ||
|
|
b68d9630fb | ||
|
|
c822feff9e | ||
|
|
26a3e70cfa | ||
|
|
95b998d77f | ||
|
|
5fe4a2f6a9 | ||
|
|
2c98767d17 | ||
|
|
1e720306dd | ||
|
|
5880579be8 | ||
|
|
1f7457c02c | ||
|
|
2651ce5dce | ||
|
|
40ce035ed7 | ||
|
|
d24d59299b | ||
|
|
682a4073b4 | ||
|
|
b6906cc866 | ||
|
|
267f417924 | ||
|
|
10a1bee86d | ||
|
|
dbf0949ca7 | ||
|
|
f80d3d687d | ||
|
|
5cd9ef562d | ||
|
|
e86929eb0a | ||
|
|
10582e48f7 | ||
|
|
5472478ee8 | ||
|
|
85bffcf787 | ||
|
|
225600a08b | ||
|
|
177965704d | ||
|
|
618e4014a7 | ||
|
|
8e5459791b | ||
|
|
9a67cd614d | ||
|
|
d2d1de39a7 | ||
|
|
4791d91408 | ||
|
|
a0de3ef867 | ||
|
|
75900139ae | ||
|
|
54d52d0bf9 | ||
|
|
d447fc3a82 | ||
|
|
d371fae3c8 | ||
|
|
14a5d605ae | ||
|
|
2c26053be8 | ||
|
|
8c5dfa33d4 | ||
|
|
1726567fcf | ||
|
|
2b94a82baa | ||
|
|
1cbe8772c2 | ||
|
|
a0122187b0 | ||
|
|
377079d8b3 | ||
|
|
59af06e36a | ||
|
|
564ee32b04 | ||
|
|
76c8975b4f | ||
|
|
488e71226b | ||
|
|
7e61d4f80d | ||
|
|
090958489c | ||
|
|
d411ce2664 | ||
|
|
18f8f38418 | ||
|
|
05dbba4c85 | ||
|
|
038d9cabde | ||
|
|
9adb7b03a7 | ||
|
|
ae5a7a53a9 | ||
|
|
db697a3e23 | ||
|
|
002f872ce1 | ||
|
|
8da1d78c92 | ||
|
|
4290d0e459 | ||
|
|
813e1c1364 | ||
|
|
d30dc3ad50 | ||
|
|
ae6ea459b9 | ||
|
|
c28b37a67b | ||
|
|
b04799dab9 | ||
|
|
52f8cecd4a | ||
|
|
a54308138f | ||
|
|
7f7fed8c3c | ||
|
|
f04e032cf1 | ||
|
|
5193318c56 | ||
|
|
bfc6c032c4 | ||
|
|
314f770a71 | ||
|
|
3221f493f9 | ||
|
|
4e93e2c7f1 | ||
|
|
764ec264c8 | ||
|
|
2ceb3c699d | ||
|
|
fa25b10bf8 | ||
|
|
6b89e3f711 | ||
|
|
6c63aec586 | ||
|
|
a8b07b0c81 | ||
|
|
db97da3465 | ||
|
|
e699348d39 | ||
|
|
5c9486afbc | ||
|
|
4c8f6b742b | ||
|
|
6652233493 | ||
|
|
ff37d477fd | ||
|
|
5a1a3204c9 | ||
|
|
7cd546238b | ||
|
|
eee7270b07 | ||
|
|
f16f0c2e46 | ||
|
|
d630e9bcb3 | ||
|
|
026748a5ab | ||
|
|
5e713673e1 | ||
|
|
5bc7a47ecb | ||
|
|
f314220be1 | ||
|
|
d6f4246f77 | ||
|
|
a20a0debf7 | ||
|
|
7714b65f32 | ||
|
|
d38e2feab9 | ||
|
|
cedd66cefc | ||
|
|
8bbfbc61be | ||
|
|
b9d325884b | ||
|
|
067ea66cbb | ||
|
|
1a13e7fd95 | ||
|
|
ac9015bb2f | ||
|
|
a45167a595 | ||
|
|
07f11e9222 | ||
|
|
d60351d8e8 | ||
|
|
83cde35668 | ||
|
|
cc68f1b673 | ||
|
|
bcab60d9e6 | ||
|
|
26b039bb81 | ||
|
|
5a2f22c60d | ||
|
|
861423a209 | ||
|
|
bafb69d877 | ||
|
|
08b2805d07 | ||
|
|
c78ea87751 | ||
|
|
6f3f8c0e99 | ||
|
|
b369341868 | ||
|
|
2e38329026 | ||
|
|
bca8bd3c8b | ||
|
|
7189a4af81 | ||
|
|
da60c561a8 | ||
|
|
76d5608473 | ||
|
|
1ede1e32b8 | ||
|
|
7398fe3fcb | ||
|
|
ccf6fbebfa | ||
|
|
e22540b763 | ||
|
|
0ed70d0b2f | ||
|
|
fac98d9084 | ||
|
|
2ad558d046 | ||
|
|
216b63549d | ||
|
|
715ee35abc | ||
|
|
f9ad81f715 | ||
|
|
a2859de5b6 | ||
|
|
8d84517103 | ||
|
|
bb69afed7c | ||
|
|
e32810b9f2 | ||
|
|
e18d029a24 | ||
|
|
19c7e1f376 | ||
|
|
74b2d38e37 | ||
|
|
945484232c | ||
|
|
8b6cec2356 | ||
|
|
f1ba7deff5 | ||
|
|
9a40e8dca6 | ||
|
|
735332570f | ||
|
|
534bfba7e3 | ||
|
|
5522c3a01b | ||
|
|
caa967b270 | ||
|
|
f4c5c5c418 | ||
|
|
9f5b05f936 | ||
|
|
4d1adf9db4 | ||
|
|
542105b680 | ||
|
|
63195664f4 | ||
|
|
362ffff591 | ||
|
|
d5f205fdef | ||
|
|
7ef13497a8 | ||
|
|
1e3816a6f8 | ||
|
|
b48f288583 | ||
|
|
f21a5987a2 | ||
|
|
73eff837e8 | ||
|
|
224e96effa | ||
|
|
4f04b5849e | ||
|
|
d177e57f7e | ||
|
|
37e4353a18 | ||
|
|
6a3dbe7d41 | ||
|
|
72bfa624ce | ||
|
|
6ee7f7dc79 | ||
|
|
af42f31fe6 | ||
|
|
f7232b997c | ||
|
|
3e1fd80831 | ||
|
|
98a4d2858a | ||
|
|
eb3f64b3f8 | ||
|
|
bfb25e33eb | ||
|
|
e59ea00518 | ||
|
|
b52e6ba552 | ||
|
|
0f788d8d83 | ||
|
|
fb0d3b944a | ||
|
|
1ea873950b | ||
|
|
cbf2aa993e | ||
|
|
4d50cb2b7b | ||
|
|
f0ce33e569 | ||
|
|
10314585ec | ||
|
|
41cd0f5180 | ||
|
|
43cad93e62 | ||
|
|
aee9458d98 | ||
|
|
1782b3dd39 | ||
|
|
e2bce38a79 | ||
|
|
4f21ecf982 | ||
|
|
f72401e23b | ||
|
|
d1ffcc22d9 | ||
|
|
8a712fd510 | ||
|
|
80795fcfd5 | ||
|
|
3df62c28bb | ||
|
|
3bf77d2e05 | ||
|
|
bd9fc8127b | ||
|
|
a5c122af78 | ||
|
|
683dbcf57c | ||
|
|
ffbf6cf72d | ||
|
|
bb923db279 | ||
|
|
7ea2410272 | ||
|
|
70b5bd609c | ||
|
|
a214fbd7cf | ||
|
|
ad6cd55301 | ||
|
|
1641570c3e | ||
|
|
9fbd05773a | ||
|
|
c56870e511 | ||
|
|
c87b3c4bbf | ||
|
|
f9796f05fe | ||
|
|
56616e69a1 | ||
|
|
d28e76e93b | ||
|
|
8a743b2e2f | ||
|
|
48dd1af524 | ||
|
|
cbe850b558 | ||
|
|
dc2a777edb | ||
|
|
be4798096a | ||
|
|
1783b47545 | ||
|
|
c539e3627c | ||
|
|
d54ede607c | ||
|
|
161d452841 | ||
|
|
3514504240 | ||
|
|
8c702d4a6b | ||
|
|
01a4e6b9af | ||
|
|
d60a28b3c8 | ||
|
|
ff6a20f54a | ||
|
|
0aa87fd1d4 | ||
|
|
d1d578785c | ||
|
|
f8fa5286a1 | ||
|
|
0a976f831c | ||
|
|
e6f359f90b | ||
|
|
dceba35a55 | ||
|
|
2a8f6755d5 | ||
|
|
22fe575925 | ||
|
|
efe62086f9 | ||
|
|
45eb72e95a | ||
|
|
85fbc8e8e5 | ||
|
|
eabf3b9f73 | ||
|
|
04d9fa04a7 | ||
|
|
03c48844dd | ||
|
|
3f8d127410 | ||
|
|
3d9ae801cb | ||
|
|
1c84e76d32 | ||
|
|
b918739a98 | ||
|
|
350c227da6 | ||
|
|
29243658ce | ||
|
|
2a2813b577 | ||
|
|
ce7533eb3b | ||
|
|
98f766a50d | ||
|
|
bc0d4f9903 | ||
|
|
be0f2a131a | ||
|
|
785240d51c | ||
|
|
a910188675 | ||
|
|
9d6935388c | ||
|
|
634d590cf1 | ||
|
|
b5dd8a5e89 | ||
|
|
14e29247aa | ||
|
|
700636b3b9 | ||
|
|
1f7ebde0de | ||
|
|
d0e2ab642c | ||
|
|
7b69d5b44f | ||
|
|
0469b0f52e | ||
|
|
f5926af99a | ||
|
|
9d5f8e2998 | ||
|
|
d41ee6bbc3 | ||
|
|
ff5ed75ea9 | ||
|
|
77eefcbc4c | ||
|
|
766e256c5c | ||
|
|
b4918f40c4 | ||
|
|
90ee52e8d9 | ||
|
|
05023d9d31 | ||
|
|
900608b50b | ||
|
|
ecd1a6e421 | ||
|
|
b18593ca4e | ||
|
|
748425cd66 | ||
|
|
902c658c9a | ||
|
|
f88571c2e7 | ||
|
|
7efadb0a00 | ||
|
|
91c3e3478a | ||
|
|
79a86b9e6a | ||
|
|
25ebb5b76f | ||
|
|
cb372d3fa8 | ||
|
|
78ce9b8f39 | ||
|
|
1c52d7b994 | ||
|
|
e9901acfb4 | ||
|
|
afe457306a | ||
|
|
00ace4678c | ||
|
|
acbd50c7d6 | ||
|
|
d724d463b1 | ||
|
|
c8dc4d93d4 | ||
|
|
697afc71b4 | ||
|
|
3f9227183d | ||
|
|
15bf1348ab | ||
|
|
56f361198c | ||
|
|
eea28172e0 | ||
|
|
f64b121ddb | ||
|
|
462560d544 | ||
|
|
096105fed6 | ||
|
|
2c93120a42 | ||
|
|
22c63ea3c5 | ||
|
|
2f792ee4ae | ||
|
|
e3fd9f9e58 | ||
|
|
1701dc85e7 | ||
|
|
c48caf0921 | ||
|
|
9210414782 | ||
|
|
86b9f76291 | ||
|
|
3278ab543b | ||
|
|
8d2b8378ed | ||
|
|
b12a29a1da | ||
|
|
442bb1d35f | ||
|
|
f3ede1f53d | ||
|
|
544dbce708 | ||
|
|
c4e0baa95f | ||
|
|
691f93b204 | ||
|
|
3197c5de8d | ||
|
|
831493278f | ||
|
|
9255230d02 | ||
|
|
7eb7b51dce | ||
|
|
639b1319fd | ||
|
|
aac66e9119 | ||
|
|
f650a17030 | ||
|
|
644a315667 | ||
|
|
40b5c30b94 | ||
|
|
baa0f073d8 | ||
|
|
1e6735706d | ||
|
|
0049e4f997 | ||
|
|
951f676ac8 | ||
|
|
53e59b27cd | ||
|
|
a6e2962319 | ||
|
|
b5d218e06e | ||
|
|
6ded6a8872 | ||
|
|
11c1af0c5f | ||
|
|
94068977f5 | ||
|
|
0fb2eacba1 | ||
|
|
904b0a9ee6 | ||
|
|
af48d3db1e | ||
|
|
b89f3f8115 | ||
|
|
9c7029fa3e | ||
|
|
c0df15dcde | ||
|
|
58907a8464 | ||
|
|
2585c58dd4 | ||
|
|
7e4500c7c9 | ||
|
|
4ab61cea0e | ||
|
|
ef486133c2 | ||
|
|
3fde6bd730 | ||
|
|
3aeb8d390e | ||
|
|
5e2ac24890 | ||
|
|
ba9f1da28e | ||
|
|
6548ea377d | ||
|
|
7afe6d7023 | ||
|
|
5ecc927f08 | ||
|
|
adf1402ff8 | ||
|
|
2c47d246fc | ||
|
|
d61530941a | ||
|
|
8eb7e55f8f | ||
|
|
fc4b3a2b03 | ||
|
|
c43bd82c92 | ||
|
|
368c4e53f1 | ||
|
|
a1a18922e5 | ||
|
|
c71aae8c5c | ||
|
|
e1090db5d9 | ||
|
|
2218841aa6 | ||
|
|
85759da360 | ||
|
|
539d363d2c | ||
|
|
72ed3107fa | ||
|
|
ffa925718e | ||
|
|
cad56df002 | ||
|
|
3d6c938e59 | ||
|
|
3111f23bf1 | ||
|
|
427af2e7ec | ||
|
|
9b2c2be82d | ||
|
|
8b2091ee4f | ||
|
|
55abfd7858 | ||
|
|
1be0105eb7 | ||
|
|
a45ec2670d | ||
|
|
8ea374b773 | ||
|
|
20f7e11987 | ||
|
|
3cf84d1921 | ||
|
|
e87140bf75 | ||
|
|
d8c3645f31 | ||
|
|
9e6e41c6f8 | ||
|
|
0ba808805e | ||
|
|
ae0e970bef | ||
|
|
35ba8fbad1 | ||
|
|
d5ebaa0ef9 | ||
|
|
1ce43b4c42 | ||
|
|
a0c886922e | ||
|
|
6b6355e418 | ||
|
|
4a4e3a4063 | ||
|
|
d3ceaf41c2 | ||
|
|
bc20592fd4 | ||
|
|
95ef2a1eb2 | ||
|
|
c6fb9884a0 | ||
|
|
82fe497b9d | ||
|
|
085aaec958 | ||
|
|
87f4df4bc3 | ||
|
|
2bfa607ad0 | ||
|
|
47cd8288cd | ||
|
|
ebd17adecf | ||
|
|
de5bbd2539 | ||
|
|
5441e4c752 | ||
|
|
9338e40dc3 | ||
|
|
aae788ae46 | ||
|
|
c00a3bed42 | ||
|
|
d8b6a5bde2 | ||
|
|
0a337ff3b3 | ||
|
|
d14a551ee8 | ||
|
|
86844142a9 | ||
|
|
b20017cf8c | ||
|
|
1d5dffc51d | ||
|
|
4bf350cc62 | ||
|
|
cffaefddc3 | ||
|
|
c17d1a3a4c | ||
|
|
58d9bc2cad | ||
|
|
cb484f9883 | ||
|
|
668d87b19f | ||
|
|
7c88d50ac4 | ||
|
|
b404dabc55 | ||
|
|
468c1fcb9c | ||
|
|
d9dc7cba50 | ||
|
|
ded95af136 | ||
|
|
b213ecc2dd | ||
|
|
13c8f4d212 | ||
|
|
8daa6f1f30 | ||
|
|
14e1403b9e | ||
|
|
9c837407bf | ||
|
|
9d3d1703f7 | ||
|
|
7933cbd204 | ||
|
|
aec73f3501 | ||
|
|
636b831d90 | ||
|
|
4749064f57 | ||
|
|
43c960dc97 | ||
|
|
437472811e | ||
|
|
5dce149221 | ||
|
|
db579877bd | ||
|
|
3acb43cf2e | ||
|
|
5a3acbb15d | ||
|
|
2bbce8a7f7 | ||
|
|
cb9c7de0ff | ||
|
|
d382ea773a | ||
|
|
88259da745 | ||
|
|
6244c2be2c | ||
|
|
351864653b | ||
|
|
f34f5b80b4 | ||
|
|
9d974f7560 | ||
|
|
e699a71340 | ||
|
|
1128c417d8 | ||
|
|
d9385d8a76 | ||
|
|
aa2175822e | ||
|
|
6c968f90ae | ||
|
|
e7d7ed5406 | ||
|
|
46e81e98cf | ||
|
|
9dc333dfa7 | ||
|
|
d7d22bbbb8 | ||
|
|
1df622641c | ||
|
|
13ea3d85ae | ||
|
|
15de549093 | ||
|
|
cdf035f813 | ||
|
|
a1190b165b | ||
|
|
5ad7c47816 | ||
|
|
564d09c9be | ||
|
|
71e7d37727 | ||
|
|
a038d4136e | ||
|
|
9459626372 | ||
|
|
6ecc9b1d21 | ||
|
|
f8cd448441 | ||
|
|
0df5a6aefc | ||
|
|
045c57af23 | ||
|
|
d1dc595692 | ||
|
|
f26f655615 | ||
|
|
401658e650 | ||
|
|
a3e7e3dbfa | ||
|
|
1395cd89da | ||
|
|
bd5bd52a2c | ||
|
|
220215c9ca | ||
|
|
5871362ccf | ||
|
|
f0d100d17a | ||
|
|
2226446318 | ||
|
|
51e27b8f3b | ||
|
|
8c92d2a0ef | ||
|
|
47a0efd581 | ||
|
|
cf541b8869 | ||
|
|
714f2d6d51 | ||
|
|
5942d8595d | ||
|
|
2d10068714 | ||
|
|
d6f871490e | ||
|
|
129783ad8c | ||
|
|
88d12be9f2 | ||
|
|
3b7021dabc | ||
|
|
7ce5ce4957 | ||
|
|
9f5dca96f2 | ||
|
|
91cbaa4afe | ||
|
|
962fcf1fa8 | ||
|
|
172662af58 | ||
|
|
a0c1fc20ec | ||
|
|
b788f43cee | ||
|
|
f048c3273b | ||
|
|
7473ad6469 | ||
|
|
294712d7ef | ||
|
|
31c9084a3a | ||
|
|
00ae49a61a | ||
|
|
3262f0256e | ||
|
|
a59474cf13 | ||
|
|
1f01a679f6 | ||
|
|
f670cf7920 | ||
|
|
690fbe6077 | ||
|
|
f4a8e0a214 | ||
|
|
b99d1249db | ||
|
|
152d3540db | ||
|
|
a0e237dacf | ||
|
|
c16cc488c9 | ||
|
|
2e451b2ed7 | ||
|
|
f8765087b5 | ||
|
|
cf951ab589 | ||
|
|
6a29e4aecf | ||
|
|
48f8be2cfc | ||
|
|
6abf50b0c9 | ||
|
|
acab4c9438 | ||
|
|
fcb4b3d39e | ||
|
|
db0cc24f2b | ||
|
|
16c618f4d3 | ||
|
|
e0950a1283 | ||
|
|
372d0acec8 | ||
|
|
ce64d79027 | ||
|
|
c4d804a964 | ||
|
|
d5fd6aceca | ||
|
|
eb8b6a5a70 | ||
|
|
e43ddd516d | ||
|
|
8774642788 | ||
|
|
bdb1c7ee63 | ||
|
|
6ab120a448 | ||
|
|
9e6a464328 | ||
|
|
56d35d32e2 | ||
|
|
c0b2fafd5e | ||
|
|
2b3d2e5b40 | ||
|
|
f4249c2141 | ||
|
|
1d34fc2d1a | ||
|
|
d2ee4d1005 | ||
|
|
6298825cf7 | ||
|
|
15a4ff992b | ||
|
|
dfba5776b9 | ||
|
|
f9d38c8869 | ||
|
|
5e89a9060b | ||
|
|
6ddb96ada2 | ||
|
|
66e0121dd5 | ||
|
|
82417c916f | ||
|
|
454d36167e | ||
|
|
68ca6e9610 | ||
|
|
ec89854c5e | ||
|
|
a72b557886 | ||
|
|
bd974bd791 | ||
|
|
f9cd0fe5d1 | ||
|
|
4209c13155 | ||
|
|
7e92cea000 | ||
|
|
1e1b554ff3 | ||
|
|
cec447cf7a | ||
|
|
90319c9482 | ||
|
|
8aaa155cb0 | ||
|
|
56487d37db | ||
|
|
4f024d94d8 | ||
|
|
692280cd32 | ||
|
|
9d173ef579 | ||
|
|
a2602031c0 | ||
|
|
577ebb3444 | ||
|
|
8324a720f4 | ||
|
|
1735235277 | ||
|
|
faf2178a98 | ||
|
|
7057bd7caf | ||
|
|
abca0380a8 | ||
|
|
09f102b72e | ||
|
|
01b9ad3789 | ||
|
|
f8af6f4eea | ||
|
|
e0a0942203 | ||
|
|
2a1a43fc9b | ||
|
|
2bb2183b41 | ||
|
|
34149c86d0 | ||
|
|
68751ed310 | ||
|
|
c5b377f06e | ||
|
|
1eb49e1b0f | ||
|
|
965a9e2d79 | ||
|
|
6a19278f23 | ||
|
|
909d0fac35 | ||
|
|
2b70945fda | ||
|
|
a9c2c97531 | ||
|
|
58ecb8e3d8 | ||
|
|
c92f5169d1 | ||
|
|
726fe8bd9c | ||
|
|
86e8e3b75d | ||
|
|
4addd9637e | ||
|
|
72be3e861e | ||
|
|
1552ab0eb7 | ||
|
|
af976c9a0b | ||
|
|
85ef26a85d | ||
|
|
39fda067cf | ||
|
|
af2e79aa83 | ||
|
|
f9719d4ee9 | ||
|
|
f17bc146c2 | ||
|
|
867f3f793c | ||
|
|
931d64b8fc | ||
|
|
85cd9cbe25 | ||
|
|
1c1b081a4c | ||
|
|
52f60cd4f9 | ||
|
|
d5b7b4ba58 | ||
|
|
573e16fa3b | ||
|
|
de2c9a06bf | ||
|
|
2235825ef9 | ||
|
|
847b84004d | ||
|
|
d00abe0972 | ||
|
|
aae8527410 | ||
|
|
475fb6ac3a | ||
|
|
18726943a3 | ||
|
|
a4266df16d | ||
|
|
aba4b42973 | ||
|
|
a3d688c8ed | ||
|
|
a884e03dc5 | ||
|
|
92491dd78c | ||
|
|
f063088188 | ||
|
|
24afc7a5b3 | ||
|
|
7c408f5e16 | ||
|
|
0e0c877609 | ||
|
|
8862578f50 | ||
|
|
c588882c26 | ||
|
|
892a50a3b7 | ||
|
|
1e32e98bf6 | ||
|
|
b132d921b7 | ||
|
|
e66979765d | ||
|
|
1654ffeef4 | ||
|
|
2318e32c9f | ||
|
|
0f24c89c91 | ||
|
|
37f0c0d00f | ||
|
|
32c3e17e58 | ||
|
|
c59dddf7af | ||
|
|
c98e3e0483 | ||
|
|
6950093911 | ||
|
|
a99e32947a | ||
|
|
c0a719caa7 | ||
|
|
5a30e12a10 | ||
|
|
437747f250 | ||
|
|
02f1bb7b46 | ||
|
|
1f35bc8346 | ||
|
|
f1ba609b34 | ||
|
|
b648ce3acf | ||
|
|
419edef4dc | ||
|
|
7ad3d9bf76 | ||
|
|
488e994d37 | ||
|
|
a54ec2341c | ||
|
|
7f6b6dea45 | ||
|
|
3141c39d1f | ||
|
|
667cbd626c | ||
|
|
2872e11c13 | ||
|
|
2ba930ab1f | ||
|
|
336e6d97b7 | ||
|
|
eac194815e | ||
|
|
4755eb5176 | ||
|
|
354aee951d | ||
|
|
6a15b677d8 | ||
|
|
413b511452 | ||
|
|
61074e7e5e | ||
|
|
3f88188a42 | ||
|
|
490d6ba2fd | ||
|
|
857e2b1bc3 | ||
|
|
79abc0cf1d | ||
|
|
32f06c6d9c | ||
|
|
22ad1cc16f | ||
|
|
3ac8760321 | ||
|
|
087df1d8e5 | ||
|
|
0075abe383 | ||
|
|
1373b37166 | ||
|
|
a2de893ab3 | ||
|
|
7623a844ba | ||
|
|
605bc811d2 | ||
|
|
1dd830b9f1 | ||
|
|
84e5c3af22 | ||
|
|
fa95eb8c02 | ||
|
|
116f29be74 | ||
|
|
096c25a285 | ||
|
|
30035b2367 | ||
|
|
f990759633 | ||
|
|
4015711133 | ||
|
|
bef7139af0 | ||
|
|
8cc95a7459 | ||
|
|
ca66133636 | ||
|
|
494376c5a9 | ||
|
|
b4e7329543 | ||
|
|
ddee95cb6d | ||
|
|
927ce6c700 | ||
|
|
4a124469fa | ||
|
|
a990b77c70 | ||
|
|
d8ec95e9b1 | ||
|
|
0af4a20b58 | ||
|
|
d24b21d3ef | ||
|
|
3d3879fe6c | ||
|
|
ec857e1de9 | ||
|
|
a7b57be04f | ||
|
|
8f807a2df7 | ||
|
|
95409f53d2 | ||
|
|
9fbfaf08a6 | ||
|
|
922babb157 | ||
|
|
81935a3af1 | ||
|
|
832bb01f36 | ||
|
|
9c73916f09 | ||
|
|
69f50b3e88 | ||
|
|
3999b4b616 | ||
|
|
4aecb02be2 | ||
|
|
c20ba5b09d | ||
|
|
dfbddd8262 | ||
|
|
00381711a4 | ||
|
|
c315c2719d | ||
|
|
1b336e94c8 | ||
|
|
f188da7b65 | ||
|
|
3e84b2ba2f | ||
|
|
7b9843bc13 | ||
|
|
0176ead117 | ||
|
|
94a119ac63 | ||
|
|
022892ef72 | ||
|
|
7bee9d5e0f | ||
|
|
41ac5b5ae7 | ||
|
|
40cdfeb00b | ||
|
|
db711d6a21 | ||
|
|
130a86d9c7 | ||
|
|
2ad9d8cafe | ||
|
|
733ae1f099 | ||
|
|
e4953b6ffd | ||
|
|
a86ded2438 | ||
|
|
2f01286034 | ||
|
|
2d0350e786 | ||
|
|
aa913b5f39 | ||
|
|
2136fd9a92 | ||
|
|
71f0dae39e | ||
|
|
2d43fdb29b | ||
|
|
6891eb1d35 | ||
|
|
9f8e68e9a1 | ||
|
|
df3d8915ba | ||
|
|
02c820382d | ||
|
|
e675455502 | ||
|
|
a04d2f44f8 | ||
|
|
21bf013a8e | ||
|
|
801f2ba728 | ||
|
|
81ce3c92d5 | ||
|
|
9a65d0a977 | ||
|
|
2e60f28044 | ||
|
|
302bfe3edf | ||
|
|
1b6db3da22 | ||
|
|
4bc64dd747 | ||
|
|
8d725a641c | ||
|
|
237f8c7bac | ||
|
|
9563c896ee | ||
|
|
4d82139a33 | ||
|
|
f26258984a | ||
|
|
9494e9b847 | ||
|
|
ef832219ed | ||
|
|
292982f30b | ||
|
|
584559d3c2 | ||
|
|
a8c6000c19 | ||
|
|
aea8b60849 | ||
|
|
e7c628f4e7 | ||
|
|
0c55d0aa64 | ||
|
|
b6540e2a18 | ||
|
|
80a69319b0 | ||
|
|
d27c3822f2 | ||
|
|
cab5818bc7 | ||
|
|
15a623c344 | ||
|
|
eecd56659c | ||
|
|
cd4b7ef9db | ||
|
|
6f63def283 | ||
|
|
0631322d36 | ||
|
|
5bfce7f590 | ||
|
|
17fd8a6bc3 | ||
|
|
1056cc6a0d | ||
|
|
74ebc66520 | ||
|
|
d35e9264bb | ||
|
|
e788df921c | ||
|
|
704b07b3f0 | ||
|
|
8b11040b05 | ||
|
|
1525ee1a04 | ||
|
|
24dad802c9 | ||
|
|
90c5845b72 | ||
|
|
d32e1e009b | ||
|
|
d9812153dd | ||
|
|
7c8184d5bf | ||
|
|
2e9cbda448 | ||
|
|
ab312914cd | ||
|
|
e7b6b4cf34 | ||
|
|
5233e4b47f | ||
|
|
a0e1028ae6 | ||
|
|
1cb3470e3e | ||
|
|
b97fb3bb78 | ||
|
|
ac5ebe6e4d | ||
|
|
9020eb4b17 | ||
|
|
5ce9324801 | ||
|
|
950d5630a0 | ||
|
|
7ff8b1e0e2 | ||
|
|
e2a1d59a96 | ||
|
|
43dba8c3f9 | ||
|
|
7647c689f1 | ||
|
|
65a7d8f023 | ||
|
|
a50b5564be | ||
|
|
8d197387ed | ||
|
|
84e0aa1ccd | ||
|
|
41fc6ab89e | ||
|
|
9567275365 | ||
|
|
87c4f2448c | ||
|
|
dcdef1a02d | ||
|
|
134467fc4a | ||
|
|
4a753dd2d5 | ||
|
|
d3c6e2b203 | ||
|
|
028e8ac59e | ||
|
|
68f545210d | ||
|
|
def8104e74 | ||
|
|
135f6571a9 | ||
|
|
3c5d799c8c | ||
|
|
126169f3ca | ||
|
|
62abaea8f5 | ||
|
|
6000d6a1ad | ||
|
|
a12b372556 | ||
|
|
ca56f16615 | ||
|
|
b0031c0781 | ||
|
|
f432a1713b | ||
|
|
32a5651e96 | ||
|
|
d9cabe5e14 | ||
|
|
ac72098248 | ||
|
|
5bf6ffc315 | ||
|
|
f01263803a | ||
|
|
de0e6d0fce | ||
|
|
e60b0aef83 | ||
|
|
28f2a4078d | ||
|
|
d8ae905758 | ||
|
|
4751bf915a | ||
|
|
c6ae2d7999 | ||
|
|
e321dbb690 | ||
|
|
fbc195549f | ||
|
|
530355d5db | ||
|
|
40c6f741c0 | ||
|
|
f852bf684a | ||
|
|
f14fd5828a | ||
|
|
aaf33c7923 | ||
|
|
4b0e8653f2 | ||
|
|
5834981f86 | ||
|
|
868f9320e9 | ||
|
|
42efb14989 | ||
|
|
d6e793b31e | ||
|
|
a0cd89860e | ||
|
|
c7fdf8ce70 | ||
|
|
5105fb7f3a | ||
|
|
2ac247be88 | ||
|
|
d6ce6aaf44 | ||
|
|
675a58b680 | ||
|
|
f6b55ced6f | ||
|
|
38957b32ab | ||
|
|
07500e11be | ||
|
|
34ab5fe1f3 | ||
|
|
f158d52ae4 | ||
|
|
40144eb3c8 | ||
|
|
8c4da28d7c | ||
|
|
3087eae71d | ||
|
|
648005e0bb | ||
|
|
98a74d844e | ||
|
|
8a97143120 | ||
|
|
7cc925d319 | ||
|
|
da6b02a2b0 | ||
|
|
44290ddf32 | ||
|
|
340af8cf6b | ||
|
|
b0dd3fb1a1 | ||
|
|
e9bb3b4d73 | ||
|
|
db5d8f03b7 | ||
|
|
b569c1610f | ||
|
|
55381a3e77 | ||
|
|
134b9f731f | ||
|
|
8d36111420 | ||
|
|
d1b0e70f8d | ||
|
|
427dad26a2 | ||
|
|
dacf11b048 | ||
|
|
e90b272299 | ||
|
|
1b0e6b5c09 | ||
|
|
4ce82d3f14 | ||
|
|
699ff406c3 | ||
|
|
0a2db346ab | ||
|
|
7b919e3277 | ||
|
|
d52d04b6d8 | ||
|
|
b4db8bb967 | ||
|
|
e0b8a00e78 | ||
|
|
db33df5041 | ||
|
|
9067797eb4 | ||
|
|
b03a709500 | ||
|
|
d779dfb0a2 | ||
|
|
d72846790e | ||
|
|
d817ee9b99 | ||
|
|
90b44fdcbf | ||
|
|
e9e5989549 | ||
|
|
8136fbef1f | ||
|
|
735954386f | ||
|
|
149f02aebe | ||
|
|
71b56dbb95 | ||
|
|
8961f392f0 | ||
|
|
b2eeb0dd6e | ||
|
|
8044cb50f1 | ||
|
|
bac68069e0 | ||
|
|
8467838bef | ||
|
|
8bcd9c2594 | ||
|
|
0258842f87 | ||
|
|
b67bcdb9b8 | ||
|
|
d54fdba322 | ||
|
|
8fb334cf77 | ||
|
|
5e638b4af0 | ||
|
|
d342e76f63 | ||
|
|
25dbb32cea | ||
|
|
2ed6ca360f | ||
|
|
b9cece8f9e | ||
|
|
d00b4879d2 | ||
|
|
379249fc60 | ||
|
|
6dce2ecbde | ||
|
|
c9ddc688a2 | ||
|
|
369cd6f81e | ||
|
|
32e4ea3b3c | ||
|
|
dface46474 | ||
|
|
78f78753c7 | ||
|
|
add99fb3d0 | ||
|
|
5487ea444a | ||
|
|
f11d6ebcd0 | ||
|
|
3303900c09 | ||
|
|
15f2b08f00 | ||
|
|
82d051f336 | ||
|
|
6e7bc028d0 | ||
|
|
5bae9f11bc | ||
|
|
ab3e8652aa | ||
|
|
7f1ae1cd54 | ||
|
|
e106df6d0b | ||
|
|
21d4a4f49e | ||
|
|
faf7cb9312 | ||
|
|
b8ebc5d463 | ||
|
|
75f0b3a228 | ||
|
|
8bb548e17b | ||
|
|
ec7a247674 | ||
|
|
5972dd0b59 | ||
|
|
8525943699 | ||
|
|
30c3f5b66a | ||
|
|
24c9aad5bb | ||
|
|
ee18c64453 | ||
|
|
243c0935fc | ||
|
|
d52626be3f | ||
|
|
06509712ec | ||
|
|
1108a00668 | ||
|
|
d20510a1db | ||
|
|
be32630de5 | ||
|
|
bcfb66b416 | ||
|
|
6061fdc8b9 | ||
|
|
eee3a75b8b | ||
|
|
13703de67e | ||
|
|
27545e3da4 | ||
|
|
e20c7342a9 | ||
|
|
1cc438a56c | ||
|
|
423d198d77 | ||
|
|
0077dd09ae | ||
|
|
122e291134 | ||
|
|
c5c206d8a6 | ||
|
|
01fc31069f | ||
|
|
970a6e71ba | ||
|
|
f4d2e064f4 | ||
|
|
7f155b2b6f | ||
|
|
54177ca619 | ||
|
|
f463d622d0 | ||
|
|
299c142f6a | ||
|
|
787abccfbc | ||
|
|
b4126d3bce | ||
|
|
d1deef29ff | ||
|
|
9001b2e0ee | ||
|
|
925fd26d14 | ||
|
|
08d9cb095a | ||
|
|
f3769d1ab0 | ||
|
|
37f198d5e8 | ||
|
|
0e5d7633f7 | ||
|
|
89ee970ec3 | ||
|
|
e2a3f78504 | ||
|
|
83d8fde5be | ||
|
|
2a67367777 | ||
|
|
ebc7355284 | ||
|
|
bf24454007 | ||
|
|
875fdb18b4 | ||
|
|
1150ab5377 | ||
|
|
1bca86c8d5 | ||
|
|
8ddc0344d0 | ||
|
|
a083ec9ff5 | ||
|
|
a8b2a75dab | ||
|
|
5917e1c6d6 | ||
|
|
b78856596e | ||
|
|
d312e2aacf | ||
|
|
9cfcc16d1a | ||
|
|
d5848384f8 | ||
|
|
4d24b124f7 | ||
|
|
f19a0ce452 | ||
|
|
cb540a28bd | ||
|
|
886985bdba | ||
|
|
f0d0fa901a | ||
|
|
7ccf79aa62 | ||
|
|
a117b090cf | ||
|
|
9b652612bd | ||
|
|
f384759ad1 | ||
|
|
a33d122485 | ||
|
|
9e116d13a5 | ||
|
|
e8d5d5fbff | ||
|
|
3ec2084c23 | ||
|
|
9c5a91009b | ||
|
|
cf5e49dbb8 | ||
|
|
b5e32b31b1 | ||
|
|
1b6362a807 | ||
|
|
d93f5bab83 | ||
|
|
d84fd94936 | ||
|
|
ce14d79064 | ||
|
|
61434b245c | ||
|
|
6cd0971dc6 | ||
|
|
ee78bb653f | ||
|
|
f4073e6b8e | ||
|
|
14c2e4631a | ||
|
|
e91f16fc46 | ||
|
|
9456535567 | ||
|
|
2387798719 | ||
|
|
133bb110dc | ||
|
|
2eae30aeff | ||
|
|
b7def88db6 | ||
|
|
e2fe649f7b | ||
|
|
0dbfeb0c6e | ||
|
|
255a1f6ae4 | ||
|
|
2be2f8a214 | ||
|
|
b4a23e097a | ||
|
|
0c4e02ba14 | ||
|
|
2e3f48a49d | ||
|
|
9300c1bbea | ||
|
|
da291998cf | ||
|
|
d4916207a0 | ||
|
|
abbfc15563 | ||
|
|
b6de9e9d3c | ||
|
|
53cfdf0ef8 | ||
|
|
4d23382497 | ||
|
|
dc9dfb4c4b | ||
|
|
114d87bf61 | ||
|
|
9a2c9647ee | ||
|
|
93aa5a56ad | ||
|
|
338b318bf4 | ||
|
|
a223c46506 | ||
|
|
f885cc7d9c | ||
|
|
734af2ea9f | ||
|
|
500ae2ff1e | ||
|
|
e771500487 | ||
|
|
647f162fe0 | ||
|
|
e7a9a9c161 | ||
|
|
8c43b9ec2f | ||
|
|
a397bca02e | ||
|
|
96f7f0f486 | ||
|
|
1747cd1747 | ||
|
|
72ecde5045 | ||
|
|
6f6a06435d | ||
|
|
c070b39dae | ||
|
|
5376a2eb93 | ||
|
|
0145b0fe70 | ||
|
|
44ed331239 | ||
|
|
4de68e3774 | ||
|
|
4fd014eae9 | ||
|
|
670132ead8 | ||
|
|
e55b438f14 | ||
|
|
a89435aeab | ||
|
|
e2435f92f1 | ||
|
|
a940bb87be | ||
|
|
1d96cd8ed9 | ||
|
|
ce8f5b5e1a | ||
|
|
25b65d96c7 | ||
|
|
7d06a17038 | ||
|
|
d03aad8b2c | ||
|
|
8988e04044 | ||
|
|
391284bb33 | ||
|
|
b63694d75f | ||
|
|
21e40908fe | ||
|
|
7c0ee6ebe4 | ||
|
|
6efd52eac8 | ||
|
|
3952f627eb | ||
|
|
e231211234 | ||
|
|
c0f01c30c8 | ||
|
|
dbb64b3ff0 | ||
|
|
a1ee84f757 | ||
|
|
2e2ddc5c42 | ||
|
|
85e2ea2488 | ||
|
|
cd4aaab848 | ||
|
|
882cb70bdf | ||
|
|
04d8f0f063 | ||
|
|
e39a131110 | ||
|
|
ad7b532932 | ||
|
|
fb4a4d62c3 | ||
|
|
17067824fb | ||
|
|
c76d1e04e8 | ||
|
|
d8245966a4 | ||
|
|
024e839aae | ||
|
|
fb9903ed7c | ||
|
|
a32854549c | ||
|
|
66bfb31d8e | ||
|
|
2cccde932c | ||
|
|
7a9a34629b | ||
|
|
aa6e9379bf | ||
|
|
a547b38643 | ||
|
|
d11f8c7bc3 | ||
|
|
796f2994f9 | ||
|
|
bda56de7d6 | ||
|
|
596c08e8f4 | ||
|
|
6cda2f67de | ||
|
|
0590a42895 | ||
|
|
36c2e0cfae | ||
|
|
a77ff98d3f | ||
|
|
14c4bb6f87 | ||
|
|
9e3fd443f2 | ||
|
|
e6531d0ecd | ||
|
|
19585c9491 | ||
|
|
e890279dcf | ||
|
|
a3d3f9a1e4 | ||
|
|
e81fa0e4c5 | ||
|
|
eef07aedc8 | ||
|
|
7570ea8c4f | ||
|
|
ff774e210c | ||
|
|
bffcb9de89 | ||
|
|
24d2fad921 | ||
|
|
1897de68d4 | ||
|
|
6c64d1d443 | ||
|
|
d080a91e8a | ||
|
|
230416cbb4 | ||
|
|
235f223aef | ||
|
|
e8c30c86f0 | ||
|
|
057c04ed9d | ||
|
|
f58dd70c2b | ||
|
|
856d6b9c9e | ||
|
|
85d0e17dc4 | ||
|
|
562380079f | ||
|
|
782b725d87 | ||
|
|
14db32cc9f | ||
|
|
b2314dfb55 | ||
|
|
9e64f51485 | ||
|
|
b99d635e30 | ||
|
|
57323e1104 | ||
|
|
7cda6b5245 | ||
|
|
acbf02cd2f | ||
|
|
ad8e317987 | ||
|
|
f804b0baa3 | ||
|
|
dd9172e738 | ||
|
|
e5cf0bd220 | ||
|
|
702fc3477d | ||
|
|
44f5db5609 | ||
|
|
ff54333881 | ||
|
|
a5795ad66e | ||
|
|
95f340738c | ||
|
|
160fe2a3a4 | ||
|
|
10170cb839 | ||
|
|
68f1a0619d | ||
|
|
fc1139e51a | ||
|
|
30d4a4249c | ||
|
|
0423c67495 | ||
|
|
a71dfd3109 | ||
|
|
0a34b51055 | ||
|
|
537f1fb857 | ||
|
|
f96eed5abf | ||
|
|
783ff71560 | ||
|
|
e7156e7e60 | ||
|
|
270b01f883 | ||
|
|
2362e79e4e | ||
|
|
9ad9b4989b | ||
|
|
ac0b4bb34d | ||
|
|
4c71cadd5f | ||
|
|
cf55ac5813 | ||
|
|
66b1a219f4 | ||
|
|
2023821100 | ||
|
|
05ab4cdd1f | ||
|
|
bee678da94 | ||
|
|
68dd311337 | ||
|
|
896f4889b6 | ||
|
|
901f7f1529 | ||
|
|
c68feecb6e | ||
|
|
3e138449bb | ||
|
|
0a561d22fb | ||
|
|
ad770cf1e5 | ||
|
|
6fcf594b32 | ||
|
|
e3842df675 | ||
|
|
22ad5395d5 | ||
|
|
e877b82af7 | ||
|
|
fa49fe3331 | ||
|
|
da65825c5f | ||
|
|
b80e16075f | ||
|
|
35315f43fe | ||
|
|
de5932a2ab | ||
|
|
e20f8c566d | ||
|
|
728150bdbd | ||
|
|
efda5a3ef2 | ||
|
|
2536049ffd | ||
|
|
8323b688c6 | ||
|
|
1b4b1af9b7 | ||
|
|
7ad37ff4e4 | ||
|
|
62f67e38b8 | ||
|
|
b982259950 | ||
|
|
34dbfefc86 | ||
|
|
d8555019f1 | ||
|
|
a6088e4ee4 | ||
|
|
9d639278f4 | ||
|
|
24c64fdffa | ||
|
|
1a7c965f7d | ||
|
|
218cf45ec0 | ||
|
|
af19f039b6 | ||
|
|
d12cd4280c | ||
|
|
eee66882ef | ||
|
|
8345af928c | ||
|
|
604c99f137 | ||
|
|
733807f963 | ||
|
|
57331eb898 | ||
|
|
ec3dc74080 | ||
|
|
1b3fa8c47f | ||
|
|
e2ee7f06eb | ||
|
|
746e2eeee6 | ||
|
|
c694c97651 | ||
|
|
47fb116989 | ||
|
|
8d98c9eba7 | ||
|
|
6a1e835f12 | ||
|
|
a7679b5f8d | ||
|
|
2ffdc2d5b0 | ||
|
|
4e84234424 | ||
|
|
a1f0b599a7 | ||
|
|
0edb0c5c4f | ||
|
|
6b0d20c96a | ||
|
|
2ab746ae76 | ||
|
|
397dfaf679 | ||
|
|
90349b21f7 | ||
|
|
1503c82ae9 | ||
|
|
ef1d96c19a | ||
|
|
9a376d64c8 | ||
|
|
b7220b532e | ||
|
|
d7e85354d1 | ||
|
|
8e006fedda | ||
|
|
3383e2f6b9 | ||
|
|
534549e491 | ||
|
|
d50bad8fee | ||
|
|
ec6c6bd6c3 | ||
|
|
be7b1ce2df | ||
|
|
ddd38afa57 | ||
|
|
67f0d04744 | ||
|
|
e4ed000d05 | ||
|
|
8423d06988 | ||
|
|
c0af387766 | ||
|
|
8627385132 | ||
|
|
f5b4fc58e3 | ||
|
|
f66149807d | ||
|
|
17bd302ef2 | ||
|
|
a19a9903bf | ||
|
|
190256ee2f | ||
|
|
5aac6e6056 | ||
|
|
7e4b7f73e7 | ||
|
|
8dd6bfef3c | ||
|
|
2fe506d502 | ||
|
|
3137410f3f | ||
|
|
daedb358dd | ||
|
|
9852513c65 | ||
|
|
3df7a854e6 | ||
|
|
3c405e8b1f | ||
|
|
089a5710b6 | ||
|
|
4baca6947d | ||
|
|
0b822478b6 | ||
|
|
d4304b59ec | ||
|
|
7e6e76f4ff | ||
|
|
14396048d7 | ||
|
|
c326d865c5 | ||
|
|
95000f9fc8 | ||
|
|
0a870e6a88 | ||
|
|
d3061ab61a | ||
|
|
3ce1a5b0ca | ||
|
|
9db3bc926e | ||
|
|
8cdf5ee824 | ||
|
|
944cc87f65 | ||
|
|
0d1fbc485f | ||
|
|
94dd4105e2 | ||
|
|
dc355331a6 | ||
|
|
49c756d774 | ||
|
|
e0d0322036 | ||
|
|
fd39017153 | ||
|
|
cca9dee702 | ||
|
|
9bb2cf4968 | ||
|
|
82236976ae | ||
|
|
f1c3c55983 | ||
|
|
21b45f5789 | ||
|
|
93a979d46d | ||
|
|
e5ff5e65df | ||
|
|
b79b38f02c | ||
|
|
7180f8a7d1 | ||
|
|
ec343f276f | ||
|
|
701e715662 | ||
|
|
d8711beac5 | ||
|
|
a9aadf2aa0 | ||
|
|
745eb60775 | ||
|
|
d2467bb088 | ||
|
|
5be7cfca69 | ||
|
|
80b2e793ab | ||
|
|
92d0a40f70 | ||
|
|
6df9fda298 | ||
|
|
67b74e1e8a | ||
|
|
5e3a5b355e | ||
|
|
8fd2245ce6 | ||
|
|
d93c83a6dc | ||
|
|
671f278ee1 | ||
|
|
cfe8a5121a | ||
|
|
b85700e386 | ||
|
|
a7d37d4ed5 | ||
|
|
d30f8a01cc | ||
|
|
87b2494872 | ||
|
|
d2b78931a1 | ||
|
|
c2e0952553 | ||
|
|
546d9991fa | ||
|
|
8285f11f04 | ||
|
|
d107f928b9 | ||
|
|
b6e8a320ce | ||
|
|
2e5b41cbcb | ||
|
|
219f4776a2 | ||
|
|
486815606c | ||
|
|
25f0c70022 | ||
|
|
89945b1bc2 | ||
|
|
a59c9525c1 | ||
|
|
a1182b119e | ||
|
|
6849a6b86b | ||
|
|
8966083132 | ||
|
|
888417c01b | ||
|
|
01e161c5b1 | ||
|
|
d75475ae03 | ||
|
|
c42b6fa925 | ||
|
|
32a3012a20 | ||
|
|
4779d8417d | ||
|
|
80f201026f | ||
|
|
e5a0117bb8 | ||
|
|
66c4dff17e | ||
|
|
474ea9615d | ||
|
|
b580cee96b | ||
|
|
8f9dc4a923 | ||
|
|
6dcf974543 | ||
|
|
999aff5458 | ||
|
|
8e3e64460b | ||
|
|
3b9c6da4eb | ||
|
|
06a5c970c4 | ||
|
|
45f298120e | ||
|
|
f1b4964b24 | ||
|
|
edb7ecef70 | ||
|
|
771933bd74 | ||
|
|
bf09d8f615 | ||
|
|
399d77a0fd | ||
|
|
5f367f05dc | ||
|
|
863f9a5e88 | ||
|
|
3ce0e30358 | ||
|
|
61e408ab93 | ||
|
|
9a3672c2bb | ||
|
|
5391d77623 | ||
|
|
8d8f2ba587 | ||
|
|
7fdf992dab | ||
|
|
fdf5ed98d8 | ||
|
|
2ebd4237f6 | ||
|
|
dc30858e9d | ||
|
|
95589ed091 | ||
|
|
07685646a3 | ||
|
|
b2766ece5e | ||
|
|
5b17cd93c5 | ||
|
|
b7379b7b51 | ||
|
|
aed52d2cf5 | ||
|
|
6fa25df37f | ||
|
|
8aecf9bd0d | ||
|
|
5e21898294 | ||
|
|
d0eaf4e484 | ||
|
|
296b14b360 | ||
|
|
1b3ddf77d9 | ||
|
|
546f4aa700 | ||
|
|
38ac0f3506 | ||
|
|
a18f72e415 | ||
|
|
4c7d8c8cdd | ||
|
|
63cc01fe80 | ||
|
|
4e364ea043 | ||
|
|
042c239a56 | ||
|
|
ee90cd3031 | ||
|
|
1c5ed0da4d | ||
|
|
9232db2416 | ||
|
|
a0268a9ad2 | ||
|
|
98c197e6cc | ||
|
|
ce70cf18b9 | ||
|
|
c10dba5c63 | ||
|
|
faf8a724a6 | ||
|
|
f259f99485 | ||
|
|
3fcc7f412b | ||
|
|
f8b092aba6 | ||
|
|
8f54e3bfb7 | ||
|
|
18deed4fb7 | ||
|
|
248af65f9c | ||
|
|
96c3e9c550 | ||
|
|
a61cd94a70 | ||
|
|
c5775b3778 | ||
|
|
21d1669bfc | ||
|
|
66fb4d5f1a | ||
|
|
892d5d1b20 | ||
|
|
8c4c3103df | ||
|
|
31d6689348 | ||
|
|
c217cd7c85 | ||
|
|
ec9e28567d | ||
|
|
093f4cea70 | ||
|
|
c4570ecfdc | ||
|
|
ec432fa314 | ||
|
|
0e4c9a2e36 | ||
|
|
893efb045b | ||
|
|
7829fced94 | ||
|
|
dbc755925d | ||
|
|
f8c43d0bf3 | ||
|
|
9caa8151d8 | ||
|
|
269d54c984 | ||
|
|
05b66aac5f | ||
|
|
418b077c59 | ||
|
|
f446096eb1 | ||
|
|
0e269db8a9 | ||
|
|
71a97b925a | ||
|
|
e3150b4eb8 | ||
|
|
4de007d7b8 | ||
|
|
17228e5794 | ||
|
|
61d8910a5b | ||
|
|
6a2a6b0fbc | ||
|
|
a43a538976 | ||
|
|
5c966fd400 | ||
|
|
08c611c68b | ||
|
|
bb40fb342a | ||
|
|
6e39f24588 | ||
|
|
09e10ae9e0 | ||
|
|
f4c8a9ac1f | ||
|
|
5afb1c6ce0 | ||
|
|
19706bab61 | ||
|
|
27b52b1507 | ||
|
|
2d152b7ec1 | ||
|
|
d61dbae7fe | ||
|
|
0a6f9aa3cb | ||
|
|
9a06510490 | ||
|
|
f8645f73ea | ||
|
|
32232e44d2 | ||
|
|
fefd3faef4 | ||
|
|
41ae376aa4 | ||
|
|
88ed77e7e8 | ||
|
|
c3b9c9b239 | ||
|
|
b825700343 | ||
|
|
044380493e | ||
|
|
f409f8c169 | ||
|
|
9459e29775 | ||
|
|
6eb695b258 | ||
|
|
1fc57d8fd5 | ||
|
|
bc2cdd82dc | ||
|
|
283280f329 | ||
|
|
9b7e9d992b | ||
|
|
970cafa20f | ||
|
|
79df1b1e10 | ||
|
|
919bc47dba | ||
|
|
42c29cac0b | ||
|
|
07c2d886fa | ||
|
|
2616366a0a | ||
|
|
7839903fef | ||
|
|
334657e1cb | ||
|
|
ad6cf2ce4d | ||
|
|
3559c5c297 | ||
|
|
8f376a302b | ||
|
|
fa2506300f | ||
|
|
58285e37a2 | ||
|
|
c41f3394a4 | ||
|
|
14cd98d7fb | ||
|
|
995425f022 | ||
|
|
ff90bf0ca4 | ||
|
|
2186676f55 | ||
|
|
f5da9edbba | ||
|
|
c13002ee8c | ||
|
|
200eb4f774 | ||
|
|
83b309c724 | ||
|
|
8e4ec47114 | ||
|
|
319a874033 | ||
|
|
ac21fa8e18 | ||
|
|
677d2a8b70 | ||
|
|
bb52c340cc | ||
|
|
4de34ac246 | ||
|
|
4ef6ff7c44 | ||
|
|
6585ed16e5 | ||
|
|
f3f9cc2e92 | ||
|
|
e7f9d592f0 | ||
|
|
030188831d | ||
|
|
93221f12da | ||
|
|
1c031277af | ||
|
|
b7f422b68d | ||
|
|
efdb08ed8c | ||
|
|
599f05c5af | ||
|
|
8547148623 | ||
|
|
1ee9df8ac6 | ||
|
|
881d9c0b83 | ||
|
|
51afb2e484 | ||
|
|
6ff21726b7 | ||
|
|
f14ba32ea6 | ||
|
|
6750e881e3 | ||
|
|
6d9b8225aa | ||
|
|
4c9cb63823 | ||
|
|
118597d80f | ||
|
|
9c05b30489 | ||
|
|
3c95f0d2a5 | ||
|
|
698f8e2589 | ||
|
|
8f4b76a3de | ||
|
|
5416444484 | ||
|
|
542a1bf3ac | ||
|
|
5beaae8561 | ||
|
|
29ac7fd3c4 | ||
|
|
cd6f018c95 | ||
|
|
73336362a8 | ||
|
|
aabb4286e3 | ||
|
|
51fab9adf4 | ||
|
|
612ebf5508 | ||
|
|
0547a9ed88 | ||
|
|
c77015b329 | ||
|
|
0ecff76600 | ||
|
|
ff7c0edd64 | ||
|
|
216d99439b | ||
|
|
ef624c78be | ||
|
|
9a8be1785a | ||
|
|
e097ffc771 | ||
|
|
b3d863c11e | ||
|
|
e0416cc0f8 | ||
|
|
9bc68562d4 | ||
|
|
d781ec2daa | ||
|
|
ba800692c6 | ||
|
|
e1f030592f | ||
|
|
c13f804ef9 | ||
|
|
b7767c79e7 | ||
|
|
5d8ca38b9b | ||
|
|
8a6107cd35 | ||
|
|
e64ef2245c | ||
|
|
8400b54a53 | ||
|
|
da2962418d | ||
|
|
a6f9336ea1 | ||
|
|
1367d5d721 | ||
|
|
2d35b11323 | ||
|
|
3a51260ef9 | ||
|
|
8d858b1a82 | ||
|
|
66a384247c | ||
|
|
d3a75a42a0 | ||
|
|
03311f6c6c | ||
|
|
b321dc7280 | ||
|
|
b9f2e883b0 | ||
|
|
7e767e40a9 | ||
|
|
4abb4d1662 | ||
|
|
d2bc4f3255 | ||
|
|
4b5b599982 | ||
|
|
111ebd4fb2 | ||
|
|
ab32183e18 | ||
|
|
6874202dfa | ||
|
|
f140594cf1 | ||
|
|
d0afa60feb | ||
|
|
3bb861b9f0 | ||
|
|
c1d9e793be | ||
|
|
420ff1d07b | ||
|
|
69c5fa8361 | ||
|
|
b75276c641 | ||
|
|
d7c844b5b6 | ||
|
|
944a3a9818 | ||
|
|
bbd1611265 | ||
|
|
b09798c3fa | ||
|
|
62494248e3 | ||
|
|
c76b490c57 | ||
|
|
92ada4eb7c | ||
|
|
fb8e98bcc9 | ||
|
|
8031ef1aac | ||
|
|
4eb09789c1 | ||
|
|
0a1b9f94d5 | ||
|
|
57e2a56876 | ||
|
|
a28db90dd5 | ||
|
|
8989ac4a0c | ||
|
|
bb187ce4b1 | ||
|
|
936b3a7a5d | ||
|
|
f411d85749 | ||
|
|
3ca7976ee5 | ||
|
|
2bb66209ca | ||
|
|
2cf3a4d9ee | ||
|
|
117390e88d | ||
|
|
317da43a84 | ||
|
|
a3dfc894f7 | ||
|
|
c5f903f6dd | ||
|
|
bba26f8e13 | ||
|
|
9216a3df7d | ||
|
|
4e03ca5c1c | ||
|
|
021a9400ab | ||
|
|
079f0715aa | ||
|
|
05ce16cf7b | ||
|
|
3db2badae5 | ||
|
|
2b907c0a2d | ||
|
|
1269e50042 | ||
|
|
13be47f903 | ||
|
|
fc8a5cf468 | ||
|
|
8a6e92c0c9 | ||
|
|
434f386982 | ||
|
|
5cab595f45 | ||
|
|
343d6f8a0c | ||
|
|
4f3fb83b0a | ||
|
|
daf7e64c0a | ||
|
|
b3fa2821cc | ||
|
|
c8af659f02 | ||
|
|
2a4a73e03d | ||
|
|
ecadd99456 | ||
|
|
20181425e4 | ||
|
|
8444c7760c | ||
|
|
7f020dce05 | ||
|
|
b7910ade97 | ||
|
|
d8137083d9 | ||
|
|
82d8ca03b3 | ||
|
|
3eef9b3397 | ||
|
|
5ae5fa3a7a | ||
|
|
63e715f6a9 | ||
|
|
c210617735 | ||
|
|
3b6a8775bb | ||
|
|
f763f2085b | ||
|
|
cff9ecbd6d | ||
|
|
77a4869fca | ||
|
|
e9876749d4 | ||
|
|
c42dd6e920 | ||
|
|
1398f905af | ||
|
|
2b7338f8b6 | ||
|
|
96cdce7f72 | ||
|
|
61b95783d5 | ||
|
|
06de37e6cd | ||
|
|
2a80ec9104 | ||
|
|
c1ec327b74 | ||
|
|
675457fb10 | ||
|
|
aaf23c64c3 | ||
|
|
e061f2886f | ||
|
|
863c9fc34e | ||
|
|
5f9ce12542 | ||
|
|
e9fd191065 | ||
|
|
650616a404 | ||
|
|
f88bf474bd | ||
|
|
22df2d9b06 | ||
|
|
680f5ed2cc | ||
|
|
1f90784a83 | ||
|
|
7111c52e4c | ||
|
|
7bf8375b02 | ||
|
|
ec6a939815 | ||
|
|
1b3597d795 | ||
|
|
e9ebb6eaa4 | ||
|
|
4f06568f8a | ||
|
|
7a78ad3893 | ||
|
|
87d86e81ce | ||
|
|
48e6e9a36c | ||
|
|
dfabc878f3 | ||
|
|
8bc8b4b31f | ||
|
|
e299621766 | ||
|
|
e7780c9c9c | ||
|
|
f337da8e57 | ||
|
|
315e068190 | ||
|
|
06e67bc573 | ||
|
|
d6b39498d0 | ||
|
|
4fcd348366 | ||
|
|
d563db63e7 | ||
|
|
ed736eb9a0 | ||
|
|
6daadd6b78 | ||
|
|
dd4e254900 | ||
|
|
965cdef855 | ||
|
|
be98ab1111 | ||
|
|
37a58d15cf | ||
|
|
7f4a1469e8 | ||
|
|
b174c1310a | ||
|
|
d5b21f77aa | ||
|
|
12a5583eb6 | ||
|
|
ab1ad8ed7f | ||
|
|
09d833fef9 | ||
|
|
7c7f09233d | ||
|
|
ff03786909 | ||
|
|
7ac757afcb | ||
|
|
8f99d58aaf | ||
|
|
bcb168c39d | ||
|
|
5ed5a2de2a | ||
|
|
4671b7d5ae | ||
|
|
df84d8509d | ||
|
|
d043faa8a9 | ||
|
|
c04be62b65 | ||
|
|
4fc42b8a71 | ||
|
|
844d575681 | ||
|
|
eef9a7b4e5 | ||
|
|
fe201b6bb2 | ||
|
|
edc1f50c4e | ||
|
|
de06762852 | ||
|
|
274bd08afc | ||
|
|
f70f60efd0 | ||
|
|
411bab6d44 | ||
|
|
4ec4994e89 | ||
|
|
c9b1e81ed2 | ||
|
|
2d5c58cb90 | ||
|
|
48552a578a | ||
|
|
3ca4fb1a8f | ||
|
|
c6663ce6be | ||
|
|
db68d58d52 | ||
|
|
acf5c7c6ba | ||
|
|
0bbaed187c | ||
|
|
7f5dde6ed3 | ||
|
|
f659bc1f40 | ||
|
|
d1952bb681 | ||
|
|
7b29242600 | ||
|
|
306ae8b4f5 | ||
|
|
c538d7ca6f | ||
|
|
cbbc12a31b | ||
|
|
7448f22f91 | ||
|
|
bfe77ab530 | ||
|
|
9004b58851 | ||
|
|
68e30e2b4b | ||
|
|
1de3e4be29 | ||
|
|
f41ee615ba | ||
|
|
f18da6f4dc | ||
|
|
cfe8317d45 | ||
|
|
5b6edc96d9 | ||
|
|
2a1b620c38 | ||
|
|
ff982ed001 | ||
|
|
f50c8566df | ||
|
|
b18b1efec4 | ||
|
|
52ea6236d4 | ||
|
|
9740ce3f58 | ||
|
|
0500b596db | ||
|
|
e568b86ac0 | ||
|
|
f518c5978c | ||
|
|
cc7aae154c | ||
|
|
5d06f86178 | ||
|
|
df15678455 | ||
|
|
92ad6c71d1 | ||
|
|
527071aed6 | ||
|
|
36ff0fe63a | ||
|
|
ba64ee44cb | ||
|
|
4306d52353 | ||
|
|
f1968bbcbb | ||
|
|
073ef93007 | ||
|
|
c3b5cabb14 | ||
|
|
e4eebd6379 | ||
|
|
78f9c0fd41 | ||
|
|
655e477c20 | ||
|
|
fce03cd724 | ||
|
|
579250a89a | ||
|
|
9c6d3590a2 | ||
|
|
6761ed863f | ||
|
|
86466aec61 | ||
|
|
559738ce6a | ||
|
|
71d31397e5 | ||
|
|
751e6739f3 | ||
|
|
852d032e1a | ||
|
|
4c9fef6183 | ||
|
|
c0058f9c7e | ||
|
|
c168f2acec | ||
|
|
a22c1ae424 | ||
|
|
55ba32bda7 | ||
|
|
569853278b | ||
|
|
8008bcd003 | ||
|
|
c2cd32ab64 | ||
|
|
b7d5587018 | ||
|
|
ad2b5a02a1 | ||
|
|
3edca2e2fd | ||
|
|
f26bec40e5 | ||
|
|
0ea66b8155 | ||
|
|
8b35ce6129 | ||
|
|
1e7cd9e9ec | ||
|
|
d497e641db | ||
|
|
e87646eeb6 | ||
|
|
895baa95a0 | ||
|
|
ba5b33227c | ||
|
|
0aaf820fd9 | ||
|
|
0c256be7c1 | ||
|
|
2e0175c3eb | ||
|
|
0285278cfc | ||
|
|
c9a5ee616e | ||
|
|
190892bc88 | ||
|
|
8f2daacf78 | ||
|
|
56fb1234f6 | ||
|
|
89fe64f900 | ||
|
|
a15a206e9c | ||
|
|
86d41b1e23 | ||
|
|
8e1c4919c7 | ||
|
|
f833b782b6 | ||
|
|
68691c9386 | ||
|
|
be1414b36b | ||
|
|
9056ff73f6 | ||
|
|
ed13959e33 | ||
|
|
f894c22b21 | ||
|
|
e121e2609f | ||
|
|
c575c06d63 | ||
|
|
3ac109e759 | ||
|
|
40207c53ae | ||
|
|
7f4faaa45b | ||
|
|
e6e163eaf5 | ||
|
|
06d5850396 | ||
|
|
16b050f676 | ||
|
|
3056e8310b | ||
|
|
ba4f2713c5 | ||
|
|
fe1309dd96 | ||
|
|
3db4e5a0c6 | ||
|
|
fb15d681a1 | ||
|
|
68a5bf3c18 | ||
|
|
5fdbafdc45 | ||
|
|
d3dda4ca89 | ||
|
|
95a8fc1dd7 | ||
|
|
9770ebcd6c | ||
|
|
529d4e1169 | ||
|
|
1040dc1baf | ||
|
|
54cfae8fef | ||
|
|
be2aa9a3a7 | ||
|
|
7b0362b228 | ||
|
|
b1ce7e8a83 | ||
|
|
2645958c8c | ||
|
|
4651506319 | ||
|
|
3ede2dba24 | ||
|
|
3e6d073140 | ||
|
|
0d276fe7b1 | ||
|
|
2fb7b18ead | ||
|
|
d49a3e98dc | ||
|
|
594deb2cbe | ||
|
|
d610bdf25d | ||
|
|
8f9d2eba69 | ||
|
|
920c9bb771 | ||
|
|
a7499c1dde | ||
|
|
83d05ea777 | ||
|
|
3a055735dd | ||
|
|
a095276753 | ||
|
|
47c9259d75 | ||
|
|
0f01db4025 | ||
|
|
1ebc610064 | ||
|
|
891cc0512f | ||
|
|
2bd95b2eb5 | ||
|
|
0ea2d6972f | ||
|
|
a3879e02bb | ||
|
|
a3a6d01529 | ||
|
|
7b88de9946 | ||
|
|
fcfa89f864 | ||
|
|
e4b9f356bc | ||
|
|
71270f3203 | ||
|
|
4cf3ebbb3d | ||
|
|
4a5aab54a5 | ||
|
|
9a3477dd11 | ||
|
|
66dc20f46f | ||
|
|
5da94bb669 | ||
|
|
13a4a46cc1 | ||
|
|
09ec999862 | ||
|
|
6773f7f4ce | ||
|
|
df4b280134 | ||
|
|
0759c98504 | ||
|
|
47f8717149 | ||
|
|
d7c33db7db | ||
|
|
a9aba2b42f | ||
|
|
87b8da1719 | ||
|
|
b59ebf85bc | ||
|
|
a7dd94b788 | ||
|
|
ccb22e5b24 | ||
|
|
91628158f2 | ||
|
|
216ec7cbdf | ||
|
|
eea7319a67 | ||
|
|
fd96edaef7 | ||
|
|
2035814059 | ||
|
|
3a29f68d0c | ||
|
|
4d69213829 | ||
|
|
dfee2720cc | ||
|
|
d07dc3bf40 | ||
|
|
ca1afff886 | ||
|
|
07389d1030 | ||
|
|
f5d9c247d9 | ||
|
|
7d8afd9578 | ||
|
|
5a8eff096a | ||
|
|
1e51557edc | ||
|
|
e9ee65924b | ||
|
|
164bd86982 | ||
|
|
579bfa477e | ||
|
|
4e0c3555df | ||
|
|
d701c181e1 | ||
|
|
1b2f110664 | ||
|
|
399651b9ad | ||
|
|
946545cfc5 | ||
|
|
e84e0c9f08 | ||
|
|
04f39457cf | ||
|
|
96fda0d6ea | ||
|
|
a89deaeb73 | ||
|
|
6a68cc87a9 | ||
|
|
78a85126f5 | ||
|
|
7939745411 | ||
|
|
bcb23630d0 | ||
|
|
c778b16570 | ||
|
|
51afe257a3 | ||
|
|
2bc75016da | ||
|
|
c7ec41e8c5 | ||
|
|
b971f94bb6 | ||
|
|
fc17dc4d6a | ||
|
|
baf2e4d43c | ||
|
|
c0641a0ca6 | ||
|
|
bc43078320 | ||
|
|
e216de56e6 | ||
|
|
dd15c825f0 | ||
|
|
7feea32602 | ||
|
|
b62f8c0f19 | ||
|
|
af9538ce55 | ||
|
|
3c15781788 | ||
|
|
89337ea01f | ||
|
|
70cd002826 | ||
|
|
9f04b6d6a8 | ||
|
|
02b0b7af16 | ||
|
|
ab5a079bcc | ||
|
|
4be92ed111 | ||
|
|
aea894191b | ||
|
|
06a1e8e22b | ||
|
|
957957e62a | ||
|
|
d750af0c48 | ||
|
|
e5474511d8 | ||
|
|
f0ff7d57b4 | ||
|
|
be65aaf5dc | ||
|
|
8840471574 | ||
|
|
5e75c0d179 | ||
|
|
d972bdca08 | ||
|
|
93ef90a1e4 | ||
|
|
f74afa5e7f | ||
|
|
61a102274d | ||
|
|
491101bc8c | ||
|
|
b075926202 | ||
|
|
3228b64fe6 | ||
|
|
3044319039 | ||
|
|
5e95c1bdf8 | ||
|
|
d988f5c3b0 | ||
|
|
880c180424 | ||
|
|
78e9226ad8 | ||
|
|
c2c30c25ed | ||
|
|
7c868e9b52 | ||
|
|
543e71eb28 | ||
|
|
c88de7f4d0 | ||
|
|
27e800768e | ||
|
|
fc4a9904c9 | ||
|
|
c8f18023d3 | ||
|
|
ffe755f95d | ||
|
|
10b6011dd7 | ||
|
|
13e069b5af | ||
|
|
924a94cf80 | ||
|
|
6834038e91 | ||
|
|
1cc58d19f5 | ||
|
|
b7df121294 | ||
|
|
2a714601a7 | ||
|
|
78c8a26906 | ||
|
|
44fd13c742 | ||
|
|
bf3a383489 | ||
|
|
52a824f4ed | ||
|
|
f04abb414d | ||
|
|
ba16c37126 | ||
|
|
df987fe2e5 | ||
|
|
76c1750d38 | ||
|
|
5f44c97e5f | ||
|
|
92f10b73a8 | ||
|
|
5d328983a1 | ||
|
|
13e16a4142 | ||
|
|
fa3679d29b | ||
|
|
4a74330a09 | ||
|
|
781e394118 | ||
|
|
64e134c601 | ||
|
|
86ac40418d | ||
|
|
ef921fee3d | ||
|
|
3fe29809be | ||
|
|
e1be01f482 | ||
|
|
bffe086cea | ||
|
|
8a8f97b0e4 | ||
|
|
d928fac5c3 | ||
|
|
ceaf510a7d | ||
|
|
6b876f1e38 | ||
|
|
b3907ca5ec | ||
|
|
d46df10d30 | ||
|
|
8eabef1f91 | ||
|
|
db78604bd4 | ||
|
|
b43411631b | ||
|
|
a9736cf7dc | ||
|
|
51c858f32e | ||
|
|
e5a50a7db8 | ||
|
|
dfcda2b14a | ||
|
|
76047d9365 | ||
|
|
a5e02f033a | ||
|
|
74bcfb284c | ||
|
|
7c69f3657b | ||
|
|
3bbc821131 | ||
|
|
9b7f9ae22e | ||
|
|
b0c043de5f | ||
|
|
59f255bb7f | ||
|
|
966cee864a | ||
|
|
6597bed9f7 | ||
|
|
f0270d8e31 | ||
|
|
34b3dbdbf3 | ||
|
|
50244ed4a1 | ||
|
|
791bcd93df | ||
|
|
3fdc66d284 | ||
|
|
f0e63c6fd5 | ||
|
|
ae04580e5f | ||
|
|
50dd95c09b | ||
|
|
3badf73b45 | ||
|
|
890482052a | ||
|
|
44a40f8e0c | ||
|
|
cc1d3d0f8d | ||
|
|
d074cc7892 | ||
|
|
0afbaa39df | ||
|
|
b4c5c62f59 | ||
|
|
3532d13f0c | ||
|
|
606a74d0af | ||
|
|
d0cf8956e2 | ||
|
|
1d6c9d4690 | ||
|
|
0cc67bb93d | ||
|
|
3c5f07201e | ||
|
|
ea7f6ea32f | ||
|
|
5f83fdef2c | ||
|
|
3776c44c33 | ||
|
|
0bdd613f3b | ||
|
|
92233350f8 | ||
|
|
2e918cbb9b | ||
|
|
0abe4fc709 | ||
|
|
7bb883e375 | ||
|
|
8c5a925202 | ||
|
|
8fddf30621 | ||
|
|
51c0644e41 | ||
|
|
e75fbe10ca | ||
|
|
32d21356b9 | ||
|
|
94e6bcd329 | ||
|
|
212c1477c2 | ||
|
|
43a246f431 | ||
|
|
a7726ff813 | ||
|
|
8a891dcdc4 | ||
|
|
67f2d93281 | ||
|
|
ab2af9b8f7 | ||
|
|
d4bba872a1 | ||
|
|
0107754da8 | ||
|
|
ae80ed02e4 | ||
|
|
b9812a0784 | ||
|
|
8491e02caf | ||
|
|
6262c56132 | ||
|
|
e53e6e7caa | ||
|
|
79540a20b9 | ||
|
|
a250706305 | ||
|
|
7b02cfddd8 | ||
|
|
c3b772618a | ||
|
|
f5468542ba | ||
|
|
15c81b2a8b | ||
|
|
3bfa1ed9ed | ||
|
|
90c3d74955 | ||
|
|
23d9af7175 | ||
|
|
afc1e148b2 | ||
|
|
d44ddba996 | ||
|
|
4e3294cd8d | ||
|
|
b2864d6dfb | ||
|
|
63c4d7373a | ||
|
|
2dd44e2f58 | ||
|
|
72241dbf5f | ||
|
|
a9171aa9fe | ||
|
|
1691d80412 | ||
|
|
e1145472c4 | ||
|
|
7c5c01cb6c | ||
|
|
26233e98a8 | ||
|
|
84590901e5 | ||
|
|
063082acbc | ||
|
|
fd44f2ee4f | ||
|
|
e3da5ed35d | ||
|
|
dd3c3b5857 | ||
|
|
2173429ce2 | ||
|
|
4ee754d69b | ||
|
|
f2b6a9aa3d | ||
|
|
e807f4201b | ||
|
|
40e3601982 | ||
|
|
e2f65dda0c | ||
|
|
57b760824f | ||
|
|
9d3a4e236d | ||
|
|
06c0ce4325 | ||
|
|
bd35fa10f1 | ||
|
|
eb535e163d | ||
|
|
6a125fd59f | ||
|
|
3853f90528 | ||
|
|
627d77c365 | ||
|
|
ffcb13b7ab | ||
|
|
375be77f32 | ||
|
|
82aa000e9d | ||
|
|
b7180c17b8 | ||
|
|
07ec1a303e | ||
|
|
59d83bc55a | ||
|
|
2d0a3953c1 | ||
|
|
74230937f4 | ||
|
|
5e2f08de31 | ||
|
|
afcb5a855c | ||
|
|
99e5e1c8bd | ||
|
|
025309a303 | ||
|
|
1ac395b785 | ||
|
|
7e9e5f5346 | ||
|
|
35fba3833b | ||
|
|
080adaf987 | ||
|
|
ca2df58ab0 | ||
|
|
25f65cee29 | ||
|
|
99d8025829 | ||
|
|
12a45fdeca | ||
|
|
2fcc4d8cd7 | ||
|
|
c62cc25513 | ||
|
|
7664b89209 | ||
|
|
ed400f0bbf | ||
|
|
1abaa825c6 | ||
|
|
636910e57e | ||
|
|
c58d09fd81 | ||
|
|
822644714a | ||
|
|
5bb10d84e0 | ||
|
|
c6d807e015 | ||
|
|
13d00e09ab | ||
|
|
9877aa7039 | ||
|
|
423c03912b | ||
|
|
3ae95a6eb1 | ||
|
|
58f7032b39 | ||
|
|
6998bf40d7 | ||
|
|
c512d10362 | ||
|
|
8d0e437287 | ||
|
|
dc03798c34 | ||
|
|
b7120c5a30 | ||
|
|
57c9207a74 | ||
|
|
195c17da60 | ||
|
|
34c40f959f | ||
|
|
12d5251c12 | ||
|
|
c85d10d6c3 | ||
|
|
f09f21b5bb | ||
|
|
465efbf802 | ||
|
|
59fbc0d9e3 | ||
|
|
404617b33d | ||
|
|
a559a66544 | ||
|
|
eb76ea47a0 | ||
|
|
2d370f3983 | ||
|
|
667fea6623 | ||
|
|
d004f8a98d | ||
|
|
45c601acc4 | ||
|
|
89dd710ca9 | ||
|
|
5a9e8a20f6 | ||
|
|
994ddf7e6f | ||
|
|
c71f8b8b1f | ||
|
|
ff0c9bd66a | ||
|
|
f32afbcb0a | ||
|
|
2e811c5438 | ||
|
|
4b853922a6 | ||
|
|
5481399c53 | ||
|
|
d440d86bbb | ||
|
|
55dfc76b23 | ||
|
|
1f967a89b6 | ||
|
|
c00fa995f7 | ||
|
|
09dfdef378 | ||
|
|
09e74acc94 | ||
|
|
558aaf22bd | ||
|
|
cdbc9d801f | ||
|
|
095ca66d9f | ||
|
|
10857c5400 | ||
|
|
3d40caf819 | ||
|
|
d4b0ac5973 | ||
|
|
ee8a549fdd | ||
|
|
c98b7a712f | ||
|
|
aab83303da | ||
|
|
0f936e2939 | ||
|
|
06c30ee165 | ||
|
|
5f4d07bb75 | ||
|
|
db25886f9c | ||
|
|
59a6a6513f | ||
|
|
89a0bec208 | ||
|
|
03a000e1b5 | ||
|
|
b30c81b1ad | ||
|
|
f78fb4ff16 | ||
|
|
90418dc00b | ||
|
|
0a05ac6aed | ||
|
|
207672365a | ||
|
|
80bdfbe2eb | ||
|
|
60bec80672 | ||
|
|
e15e40fbd3 | ||
|
|
35d0597367 | ||
|
|
84b638fb26 | ||
|
|
4378f89fd9 | ||
|
|
9a44296bc2 | ||
|
|
ee75fc3852 | ||
|
|
a6a12d7f2e | ||
|
|
3237fc1cc2 | ||
|
|
56ce88dea3 | ||
|
|
52fe19249e | ||
|
|
114a136378 | ||
|
|
7ca3ec7518 | ||
|
|
e1530224dd | ||
|
|
22989acf95 | ||
|
|
d608ef4bf3 | ||
|
|
4b55776256 | ||
|
|
81019f1669 | ||
|
|
4a97ff45fe | ||
|
|
63e9969c1b | ||
|
|
330da7916d | ||
|
|
3a8b59f5e8 | ||
|
|
58fdb24b0b | ||
|
|
b761153812 | ||
|
|
8aa1bbe27c | ||
|
|
694499ae6d | ||
|
|
ebe42e1ada | ||
|
|
27a791db12 | ||
|
|
32ea1801aa | ||
|
|
f1dc63565e | ||
|
|
40931b6da6 | ||
|
|
c9271edfa1 | ||
|
|
1be5c52a35 | ||
|
|
39bd13f877 | ||
|
|
0e73c4d387 | ||
|
|
f3efd95bb4 | ||
|
|
5095ea84b2 | ||
|
|
c6d07194cc | ||
|
|
372c9d46d5 | ||
|
|
a1851b4c0a | ||
|
|
56ea7fd2c4 | ||
|
|
036c878843 | ||
|
|
897b81e566 | ||
|
|
c931a44503 | ||
|
|
003e3efce9 | ||
|
|
a2e21d61f8 | ||
|
|
56bf666b0c | ||
|
|
acbb6a1119 |
114
.betterer.eslint.config.js
Normal file
114
.betterer.eslint.config.js
Normal file
@@ -0,0 +1,114 @@
|
||||
// @ts-check
|
||||
const emotionPlugin = require('@emotion/eslint-plugin');
|
||||
const importPlugin = require('eslint-plugin-import');
|
||||
const jestPlugin = require('eslint-plugin-jest');
|
||||
const jsxA11yPlugin = require('eslint-plugin-jsx-a11y');
|
||||
const lodashPlugin = require('eslint-plugin-lodash');
|
||||
const barrelPlugin = require('eslint-plugin-no-barrel-files');
|
||||
const reactPlugin = require('eslint-plugin-react');
|
||||
const testingLibraryPlugin = require('eslint-plugin-testing-library');
|
||||
|
||||
const grafanaConfig = require('@grafana/eslint-config/flat');
|
||||
const grafanaPlugin = require('@grafana/eslint-plugin');
|
||||
|
||||
// Include the Grafana config and remove the rules,
|
||||
// as we just want to pull in all of the necessary configuration but not run the rules
|
||||
// (this should only be concerned with checking rules that we want to improve,
|
||||
// so there's no need to try and run the rules that will be linted properly anyway)
|
||||
const { rules, ...baseConfig } = grafanaConfig;
|
||||
|
||||
/**
|
||||
* @type {Array<import('eslint').Linter.Config>}
|
||||
*/
|
||||
module.exports = [
|
||||
{
|
||||
name: 'grafana/betterer-ignores',
|
||||
ignores: [
|
||||
'.github',
|
||||
'.yarn',
|
||||
'**/.*',
|
||||
'**/*.gen.ts',
|
||||
'**/build/',
|
||||
'**/compiled/',
|
||||
'**/dist/',
|
||||
'data/',
|
||||
'deployment_tools_config.json',
|
||||
'devenv',
|
||||
'e2e/test-plugins',
|
||||
'e2e/tmp',
|
||||
'packages/grafana-ui/src/components/Icon/iconBundle.ts',
|
||||
'pkg',
|
||||
'playwright-report',
|
||||
'public/lib/monaco/',
|
||||
'public/locales/_build',
|
||||
'public/locales/**/*.js',
|
||||
'public/vendor/',
|
||||
'scripts/grafana-server/tmp',
|
||||
'!.betterer.eslint.config.js',
|
||||
],
|
||||
},
|
||||
{
|
||||
name: 'react/jsx-runtime',
|
||||
// @ts-ignore - not sure why but flat config is typed as a maybe?
|
||||
...reactPlugin.configs.flat['jsx-runtime'],
|
||||
},
|
||||
{
|
||||
files: ['**/*.{ts,tsx,js}'],
|
||||
...baseConfig,
|
||||
plugins: {
|
||||
...baseConfig.plugins,
|
||||
'@emotion': emotionPlugin,
|
||||
lodash: lodashPlugin,
|
||||
jest: jestPlugin,
|
||||
import: importPlugin,
|
||||
'jsx-a11y': jsxA11yPlugin,
|
||||
'no-barrel-files': barrelPlugin,
|
||||
'@grafana': grafanaPlugin,
|
||||
'testing-library': testingLibraryPlugin,
|
||||
},
|
||||
linterOptions: {
|
||||
// This reports unused disable directives that we can clean up but
|
||||
// it also conflicts with the betterer eslint rules so disabled
|
||||
reportUnusedDisableDirectives: false,
|
||||
},
|
||||
},
|
||||
{
|
||||
files: ['**/*.{js,jsx,ts,tsx}'],
|
||||
rules: {
|
||||
'@typescript-eslint/no-explicit-any': 'error',
|
||||
'@grafana/no-aria-label-selectors': 'error',
|
||||
'no-restricted-imports': [
|
||||
'error',
|
||||
{
|
||||
patterns: [
|
||||
{
|
||||
group: ['@grafana/ui*', '*/Layout/*'],
|
||||
importNames: ['Layout', 'HorizontalGroup', 'VerticalGroup'],
|
||||
message: 'Use Stack component instead.',
|
||||
},
|
||||
],
|
||||
},
|
||||
],
|
||||
},
|
||||
},
|
||||
{
|
||||
files: ['**/*.{ts,tsx}'],
|
||||
ignores: ['**/*.{test,spec}.{ts,tsx}', '**/__mocks__/**', '**/public/test/**'],
|
||||
rules: {
|
||||
'@typescript-eslint/consistent-type-assertions': ['error', { assertionStyle: 'never' }],
|
||||
},
|
||||
},
|
||||
{
|
||||
files: ['public/app/**/*.{ts,tsx}'],
|
||||
rules: {
|
||||
'no-barrel-files/no-barrel-files': 'error',
|
||||
},
|
||||
},
|
||||
{
|
||||
files: ['public/**/*.tsx', 'packages/grafana-ui/**/*.tsx'],
|
||||
ignores: ['public/app/plugins/**', '**/*.story.tsx', '**/*.{test,spec}.{ts,tsx}', '**/__mocks__/', 'public/test'],
|
||||
rules: {
|
||||
'@grafana/no-untranslated-strings': 'error',
|
||||
},
|
||||
},
|
||||
];
|
||||
7025
.betterer.results
7025
.betterer.results
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
100
.betterer.ts
100
.betterer.ts
@@ -1,15 +1,14 @@
|
||||
import { BettererFileTest } from '@betterer/betterer';
|
||||
import { ESLint } from 'eslint';
|
||||
import { promises as fs } from 'fs';
|
||||
import { ESLint, Linter } from 'eslint';
|
||||
import path from 'path';
|
||||
import { glob } from 'glob';
|
||||
|
||||
// Why are we ignoring these?
|
||||
// They're all deprecated/being removed so doesn't make sense to fix types
|
||||
const eslintPathsToIgnore = [
|
||||
'public/app/angular', // will be removed in Grafana 11
|
||||
'public/app/plugins/panel/graph', // will be removed alongside angular
|
||||
'public/app/plugins/panel/table-old', // will be removed alongside angular
|
||||
'packages/grafana-ui/src/graveyard', // will be removed alongside angular in Grafana 12
|
||||
'public/app/angular', // will be removed in Grafana 12
|
||||
'public/app/plugins/panel/graph', // will be removed alongside angular in Grafana 12
|
||||
'public/app/plugins/panel/table-old', // will be removed alongside angular in Grafana 12
|
||||
];
|
||||
|
||||
// Avoid using functions that report the position of the issues, as this causes a lot of merge conflicts
|
||||
@@ -20,10 +19,9 @@ export default {
|
||||
.exclude(new RegExp(eslintPathsToIgnore.join('|'))),
|
||||
'no undocumented stories': () => countUndocumentedStories().include('**/!(*.internal).story.tsx'),
|
||||
'no gf-form usage': () =>
|
||||
regexp(
|
||||
/gf-form/gm,
|
||||
'gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.'
|
||||
).include('**/*.{ts,tsx,html}'),
|
||||
regexp(/gf-form/gm, 'gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.')
|
||||
.include('**/*.{ts,tsx,html}')
|
||||
.exclude(new RegExp('packages/grafana-ui/src/themes/GlobalStyles')),
|
||||
};
|
||||
|
||||
function countUndocumentedStories() {
|
||||
@@ -74,88 +72,26 @@ function regexp(pattern: RegExp, issueMessage: string) {
|
||||
}
|
||||
|
||||
function countEslintErrors() {
|
||||
return new BettererFileTest(async (filePaths, fileTestResult, resolver) => {
|
||||
return new BettererFileTest(async (filePaths, fileTestResult) => {
|
||||
// Just bail early if there's no files to test. Prevents trying to get the base config from failing
|
||||
if (filePaths.length === 0) {
|
||||
return;
|
||||
}
|
||||
|
||||
const { baseDirectory } = resolver;
|
||||
const cli = new ESLint({ cwd: baseDirectory });
|
||||
|
||||
// Get the base config to set up parsing etc correctly
|
||||
// this is by far the slowest part of this code. It takes eslint about 2 seconds just to find the config
|
||||
const baseConfig = await cli.calculateConfigForFile(filePaths[0]);
|
||||
|
||||
const baseRules: Partial<Linter.RulesRecord> = {
|
||||
'@emotion/syntax-preference': [2, 'object'],
|
||||
'@typescript-eslint/no-explicit-any': 'error',
|
||||
'@grafana/no-aria-label-selectors': 'error',
|
||||
'no-restricted-imports': [
|
||||
'error',
|
||||
{
|
||||
patterns: [
|
||||
{
|
||||
group: ['@grafana/ui*', '*/Layout/*'],
|
||||
importNames: ['Layout', 'HorizontalGroup', 'VerticalGroup'],
|
||||
message: 'Use Stack component instead.',
|
||||
},
|
||||
],
|
||||
},
|
||||
],
|
||||
};
|
||||
|
||||
const config: Linter.Config = {
|
||||
...baseConfig,
|
||||
rules: baseRules,
|
||||
|
||||
// Be careful when specifying overrides for the same rules as in baseRules - it will... override
|
||||
// the same rule, not merge them with different configurations
|
||||
overrides: [
|
||||
{
|
||||
files: ['**/*.{ts,tsx}'],
|
||||
excludedFiles: ['*.{test,spec}.{ts,tsx}', '**/__mocks__/**', '**/public/test/**'],
|
||||
rules: {
|
||||
'@typescript-eslint/consistent-type-assertions': ['error', { assertionStyle: 'never' }],
|
||||
},
|
||||
},
|
||||
|
||||
{
|
||||
files: ['public/app/**/*.{ts,tsx}'],
|
||||
rules: {
|
||||
'no-barrel-files/no-barrel-files': 'error',
|
||||
},
|
||||
},
|
||||
{
|
||||
files: ['public/**/*.tsx', 'packages/grafana-ui/**/*.tsx'],
|
||||
excludedFiles: [
|
||||
'public/app/plugins/**',
|
||||
'*.story.tsx',
|
||||
'*.{test,spec}.{ts,tsx}',
|
||||
'**/__mocks__/**',
|
||||
'public/test/**',
|
||||
],
|
||||
rules: {
|
||||
'@grafana/no-untranslated-strings': 'error',
|
||||
},
|
||||
},
|
||||
],
|
||||
};
|
||||
|
||||
const runner = new ESLint({
|
||||
baseConfig: config,
|
||||
useEslintrc: false,
|
||||
cwd: baseDirectory,
|
||||
overrideConfigFile: './.betterer.eslint.config.js',
|
||||
warnIgnored: false,
|
||||
});
|
||||
|
||||
const lintResults = await runner.lintFiles(Array.from(filePaths));
|
||||
lintResults
|
||||
.filter((lintResult) => lintResult.source)
|
||||
.forEach(({ messages, filePath }) => {
|
||||
const file = fileTestResult.addFile(filePath, '');
|
||||
messages.forEach((message, index) => {
|
||||
|
||||
lintResults.forEach(({ messages, filePath }) => {
|
||||
const file = fileTestResult.addFile(filePath, '');
|
||||
messages
|
||||
.sort((a, b) => (a.message > b.message ? 1 : -1))
|
||||
.forEach((message, index) => {
|
||||
file.addIssue(0, 0, message.message, `${index}`);
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
@@ -35,11 +35,11 @@ $(DRONE): $(BINGO_DIR)/drone.mod
|
||||
@echo "(re)installing $(GOBIN)/drone-v1.5.0"
|
||||
@cd $(BINGO_DIR) && GOWORK=off CGO_ENABLED=0 $(GO) build -mod=mod -modfile=drone.mod -o=$(GOBIN)/drone-v1.5.0 "github.com/drone/drone-cli/drone"
|
||||
|
||||
GOLANGCI_LINT := $(GOBIN)/golangci-lint-v1.59.0
|
||||
GOLANGCI_LINT := $(GOBIN)/golangci-lint-v1.62.0
|
||||
$(GOLANGCI_LINT): $(BINGO_DIR)/golangci-lint.mod
|
||||
@# Install binary/ries using Go 1.14+ build command. This is using bwplotka/bingo-controlled, separate go module with pinned dependencies.
|
||||
@echo "(re)installing $(GOBIN)/golangci-lint-v1.59.0"
|
||||
@cd $(BINGO_DIR) && GOWORK=off $(GO) build -mod=mod -modfile=golangci-lint.mod -o=$(GOBIN)/golangci-lint-v1.59.0 "github.com/golangci/golangci-lint/cmd/golangci-lint"
|
||||
@echo "(re)installing $(GOBIN)/golangci-lint-v1.62.0"
|
||||
@cd $(BINGO_DIR) && GOWORK=off $(GO) build -mod=mod -modfile=golangci-lint.mod -o=$(GOBIN)/golangci-lint-v1.62.0 "github.com/golangci/golangci-lint/cmd/golangci-lint"
|
||||
|
||||
JB := $(GOBIN)/jb-v0.5.1
|
||||
$(JB): $(BINGO_DIR)/jb.mod
|
||||
@@ -53,11 +53,9 @@ $(LEFTHOOK): $(BINGO_DIR)/lefthook.mod
|
||||
@echo "(re)installing $(GOBIN)/lefthook-v1.4.8"
|
||||
@cd $(BINGO_DIR) && GOWORK=off $(GO) build -mod=mod -modfile=lefthook.mod -o=$(GOBIN)/lefthook-v1.4.8 "github.com/evilmartians/lefthook"
|
||||
|
||||
# swagger 0.30.5 isn't compatibile with go 1.22 yet so pinning to a specific commit until there's a new release
|
||||
# https://github.com/go-swagger/go-swagger/issues/3070
|
||||
SWAGGER := $(GOBIN)/swagger-db51e79a0e37c572d8b59ae0c58bf2bbbbe53285
|
||||
SWAGGER := $(GOBIN)/swagger-v0.30.6-0.20240310114303-db51e79a0e37
|
||||
$(SWAGGER): $(BINGO_DIR)/swagger.mod
|
||||
@# Install binary/ries using Go 1.14+ build command. This is using bwplotka/bingo-controlled, separate go module with pinned dependencies.
|
||||
@echo "(re)installing $(GOBIN)/swagger-db51e79a0e37c572d8b59ae0c58bf2bbbbe53285"
|
||||
@cd $(BINGO_DIR) && GOWORK=off $(GO) build -mod=mod -modfile=swagger.mod -o=$(GOBIN)/swagger-db51e79a0e37c572d8b59ae0c58bf2bbbbe53285 "github.com/go-swagger/go-swagger/cmd/swagger"
|
||||
@echo "(re)installing $(GOBIN)/swagger-v0.30.6-0.20240310114303-db51e79a0e37"
|
||||
@cd $(BINGO_DIR) && GOWORK=off $(GO) build -mod=mod -modfile=swagger.mod -o=$(GOBIN)/swagger-v0.30.6-0.20240310114303-db51e79a0e37 "github.com/go-swagger/go-swagger/cmd/swagger"
|
||||
|
||||
|
||||
@@ -46,6 +46,7 @@ github.com/Microsoft/go-winio v0.4.16-0.20201130162521-d1ffc52c7331/go.mod h1:XB
|
||||
github.com/Microsoft/go-winio v0.4.16/go.mod h1:XB6nPKklQyQ7GC9LdcBEcBl8PF76WugXOPRXwdLnMv0=
|
||||
github.com/Microsoft/go-winio v0.4.17-0.20210211115548-6eac466e5fa3/go.mod h1:JPGBdM1cNvN/6ISo+n8V5iA4v8pBzdOpzfwIujj1a84=
|
||||
github.com/Microsoft/go-winio v0.4.17-0.20210324224401-5516f17a5958/go.mod h1:JPGBdM1cNvN/6ISo+n8V5iA4v8pBzdOpzfwIujj1a84=
|
||||
github.com/Microsoft/go-winio v0.4.17 h1:iT12IBVClFevaf8PuVyi3UmZOVh4OqnaLxDTW2O6j3w=
|
||||
github.com/Microsoft/go-winio v0.4.17/go.mod h1:JPGBdM1cNvN/6ISo+n8V5iA4v8pBzdOpzfwIujj1a84=
|
||||
github.com/Microsoft/hcsshim v0.8.6/go.mod h1:Op3hHsoHPAvb6lceZHDtd9OkTew38wNoXnJs8iY7rUg=
|
||||
github.com/Microsoft/hcsshim v0.8.7-0.20190325164909-8abdbb8205e4/go.mod h1:Op3hHsoHPAvb6lceZHDtd9OkTew38wNoXnJs8iY7rUg=
|
||||
@@ -878,6 +879,7 @@ google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7
|
||||
google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
|
||||
google.golang.org/appengine v1.6.1/go.mod h1:i06prIuMbXzDqacNJfV5OdTW448YApPu5ww/cMBSeb0=
|
||||
google.golang.org/appengine v1.6.5/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc=
|
||||
google.golang.org/appengine v1.6.6 h1:lMO5rYAqUxkmaj76jAkRUvt5JZgFymx/+Q5Mzfivuhc=
|
||||
google.golang.org/appengine v1.6.6/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc=
|
||||
google.golang.org/cloud v0.0.0-20151119220103-975617b05ea8/go.mod h1:0H1ncTHf11KCFhTc/+EFRbzSCOZx+VUbRMk55Yv5MYk=
|
||||
google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc=
|
||||
|
||||
@@ -1,7 +1,5 @@
|
||||
module _ // Auto generated by https://github.com/bwplotka/bingo. DO NOT EDIT
|
||||
|
||||
go 1.22
|
||||
go 1.23
|
||||
|
||||
toolchain go1.22.4
|
||||
|
||||
require github.com/golangci/golangci-lint v1.59.0 // cmd/golangci-lint
|
||||
require github.com/golangci/golangci-lint v1.62.0 // cmd/golangci-lint
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -14,7 +14,7 @@ CUE="${GOBIN}/cue-v0.5.0"
|
||||
|
||||
DRONE="${GOBIN}/drone-v1.5.0"
|
||||
|
||||
GOLANGCI_LINT="${GOBIN}/golangci-lint-v1.59.0"
|
||||
GOLANGCI_LINT="${GOBIN}/golangci-lint-v1.62.0"
|
||||
|
||||
JB="${GOBIN}/jb-v0.5.1"
|
||||
|
||||
|
||||
@@ -2,11 +2,12 @@
|
||||
init_cmds = [
|
||||
["GO_BUILD_DEV=1", "make", "build-go"],
|
||||
["make", "gen-jsonnet"],
|
||||
["./bin/grafana", "server", "-packaging=dev", "cfg:app_mode=development"]
|
||||
["./bin/grafana", "server", "-profile", "-profile-addr=127.0.0.1", "-profile-port=6000", "-profile-block-rate=1", "-profile-mutex-rate=5", "-packaging=dev", "cfg:app_mode=development"]
|
||||
]
|
||||
watch_all = true
|
||||
follow_symlinks = true
|
||||
watch_dirs = [
|
||||
"$WORKDIR/apps",
|
||||
"$WORKDIR/pkg",
|
||||
"$WORKDIR/public/views",
|
||||
"$WORKDIR/conf",
|
||||
@@ -16,7 +17,7 @@ watch_exts = [".go", ".ini", ".toml", ".template.html"]
|
||||
ignore_files = [".*_gen.go"]
|
||||
build_delay = 1500
|
||||
cmds = [
|
||||
["GO_BUILD_DEV=1", "make", "build-go"],
|
||||
["GO_BUILD_DEV=1", "make", "build-go-fast"],
|
||||
["make", "gen-jsonnet"],
|
||||
["./bin/grafana", "server", "-packaging=dev", "cfg:app_mode=development"]
|
||||
["./bin/grafana", "server", "-profile", "-profile-addr=127.0.0.1", "-profile-port=6000", "-profile-block-rate=1", "-profile-mutex-rate=5", "-packaging=dev", "cfg:app_mode=development"]
|
||||
]
|
||||
|
||||
1871
.changelog-archive/CHANGELOG.08.md
Normal file
1871
.changelog-archive/CHANGELOG.08.md
Normal file
File diff suppressed because it is too large
Load Diff
3071
.changelog-archive/CHANGELOG.09.md
Normal file
3071
.changelog-archive/CHANGELOG.09.md
Normal file
File diff suppressed because it is too large
Load Diff
2328
.changelog-archive/CHANGELOG.10.md
Normal file
2328
.changelog-archive/CHANGELOG.10.md
Normal file
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
22
.citools/bra/go.mod
Normal file
22
.citools/bra/go.mod
Normal file
@@ -0,0 +1,22 @@
|
||||
module bra
|
||||
|
||||
go 1.24.5
|
||||
|
||||
tool github.com/unknwon/bra
|
||||
|
||||
require (
|
||||
github.com/BurntSushi/toml v1.5.0 // indirect
|
||||
github.com/cpuguy83/go-md2man/v2 v2.0.6 // indirect
|
||||
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect
|
||||
github.com/fsnotify/fsnotify v1.8.0 // indirect
|
||||
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect
|
||||
github.com/russross/blackfriday/v2 v2.1.0 // indirect
|
||||
github.com/smartystreets/goconvey v1.6.4 // indirect
|
||||
github.com/stretchr/testify v1.10.0 // indirect
|
||||
github.com/unknwon/bra v0.0.0-20200517080246-1e3013ecaff8 // indirect
|
||||
github.com/unknwon/com v1.0.1 // indirect
|
||||
github.com/unknwon/log v0.0.0-20200308114134-929b1006e34a // indirect
|
||||
github.com/urfave/cli v1.22.16 // indirect
|
||||
golang.org/x/sys v0.33.0 // indirect
|
||||
gopkg.in/fsnotify/fsnotify.v1 v1.4.7 // indirect
|
||||
)
|
||||
70
.citools/bra/go.sum
Normal file
70
.citools/bra/go.sum
Normal file
@@ -0,0 +1,70 @@
|
||||
github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
|
||||
github.com/BurntSushi/toml v1.4.0/go.mod h1:ukJfTF/6rtPPRCnwkur4qwRxa8vTRFBF0uk2lLoLwho=
|
||||
github.com/BurntSushi/toml v1.5.0 h1:W5quZX/G/csjUnuI8SUYlsHs9M38FC7znL0lIO+DvMg=
|
||||
github.com/BurntSushi/toml v1.5.0/go.mod h1:ukJfTF/6rtPPRCnwkur4qwRxa8vTRFBF0uk2lLoLwho=
|
||||
github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU=
|
||||
github.com/cpuguy83/go-md2man/v2 v2.0.5/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o=
|
||||
github.com/cpuguy83/go-md2man/v2 v2.0.6 h1:XJtiaUW6dEEqVuZiMTn1ldk455QWwEIsMIJlo5vtkx0=
|
||||
github.com/cpuguy83/go-md2man/v2 v2.0.6/go.mod h1:oOW0eioCTA6cOiMLiUPZOpcVxMig6NIQQ7OS05n1F4g=
|
||||
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
||||
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
||||
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM=
|
||||
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
||||
github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo=
|
||||
github.com/fsnotify/fsnotify v1.8.0 h1:dAwr6QBTBZIkG8roQaJjGof0pp0EeF+tNV7YBP3F/8M=
|
||||
github.com/fsnotify/fsnotify v1.8.0/go.mod h1:8jBTzvmWwFyi3Pb8djgCCO5IBqzKJ/Jwo8TRcHyHii0=
|
||||
github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY=
|
||||
github.com/gopherjs/gopherjs v0.0.0-20181103185306-d547d1d9531e h1:JKmoR8x90Iww1ks85zJ1lfDGgIiMDuIptTOhJq+zKyg=
|
||||
github.com/gopherjs/gopherjs v0.0.0-20181103185306-d547d1d9531e/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY=
|
||||
github.com/jtolds/gls v4.2.1+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU=
|
||||
github.com/jtolds/gls v4.20.0+incompatible h1:xdiiI2gbIgH/gLH7ADydsJ1uDOEzR8yvV7C0MuV77Wo=
|
||||
github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU=
|
||||
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
|
||||
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U=
|
||||
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
|
||||
github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
|
||||
github.com/russross/blackfriday/v2 v2.1.0 h1:JIOH55/0cWyOuilr9/qlrm0BSXldqnqwMsf35Ld67mk=
|
||||
github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
|
||||
github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc=
|
||||
github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc=
|
||||
github.com/smartystreets/assertions v0.0.0-20190116191733-b6c0e53d7304 h1:Jpy1PXuP99tXNrhbq2BaPz9B+jNAvH1JPQQpG/9GCXY=
|
||||
github.com/smartystreets/assertions v0.0.0-20190116191733-b6c0e53d7304/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc=
|
||||
github.com/smartystreets/goconvey v0.0.0-20181108003508-044398e4856c/go.mod h1:XDJAKZRPZ1CvBcN2aX5YOUTYGHki24fSF0Iv48Ibg0s=
|
||||
github.com/smartystreets/goconvey v1.6.4 h1:fv0U8FUIMPNf1L9lnHLvLhgicrIVChEkdzIKYqbNC9s=
|
||||
github.com/smartystreets/goconvey v1.6.4/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA=
|
||||
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
|
||||
github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw=
|
||||
github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo=
|
||||
github.com/stretchr/objx v0.5.2/go.mod h1:FRsXN1f5AsAjCGJKqEizvkpNtU+EGNCLh3NxZ/8L+MA=
|
||||
github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
|
||||
github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU=
|
||||
github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo=
|
||||
github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
|
||||
github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOfJA=
|
||||
github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
|
||||
github.com/unknwon/bra v0.0.0-20200517080246-1e3013ecaff8 h1:aVGB3YnaS/JNfOW3tiHIlmNmTDg618va+eT0mVomgyI=
|
||||
github.com/unknwon/bra v0.0.0-20200517080246-1e3013ecaff8/go.mod h1:fVle4kNr08ydeohzYafr20oZzbAkhQT39gKK/pFQ5M4=
|
||||
github.com/unknwon/com v1.0.1 h1:3d1LTxD+Lnf3soQiD4Cp/0BRB+Rsa/+RTvz8GMMzIXs=
|
||||
github.com/unknwon/com v1.0.1/go.mod h1:tOOxU81rwgoCLoOVVPHb6T/wt8HZygqH5id+GNnlCXM=
|
||||
github.com/unknwon/log v0.0.0-20150304194804-e617c87089d3/go.mod h1:1xEUf2abjfP92w2GZTV+GgaRxXErwRXcClbUwrNJffU=
|
||||
github.com/unknwon/log v0.0.0-20200308114134-929b1006e34a h1:vcrhXnj9g9PIE+cmZgaPSwOyJ8MAQTRmsgGrB0x5rF4=
|
||||
github.com/unknwon/log v0.0.0-20200308114134-929b1006e34a/go.mod h1:1xEUf2abjfP92w2GZTV+GgaRxXErwRXcClbUwrNJffU=
|
||||
github.com/urfave/cli v1.22.1/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0=
|
||||
github.com/urfave/cli v1.22.16 h1:MH0k6uJxdwdeWQTwhSO42Pwr4YLrNLwBtg1MRgTqPdQ=
|
||||
github.com/urfave/cli v1.22.16/go.mod h1:EeJR6BKodywf4zciqrdw6hpCPk68JO9z5LazXZMn5Po=
|
||||
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
|
||||
golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
|
||||
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||
golang.org/x/sys v0.0.0-20191020152052-9984515f0562/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.33.0 h1:q3i8TbbEz+JRD9ywIRlyRAQbM0qF7hu24q3teo2hbuw=
|
||||
golang.org/x/sys v0.33.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k=
|
||||
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
|
||||
golang.org/x/tools v0.0.0-20190328211700-ab21143f2384/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
|
||||
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
||||
gopkg.in/fsnotify/fsnotify.v1 v1.4.7 h1:XNNYLJHt73EyYiCZi6+xjupS9CpvmiDgjPTAjrBlQbo=
|
||||
gopkg.in/fsnotify/fsnotify.v1 v1.4.7/go.mod h1:Fyux9zXlo4rWoMSIzpn9fDAYjalPqJ/K1qJ27s+7ltE=
|
||||
gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
|
||||
gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ=
|
||||
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
|
||||
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
|
||||
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
|
||||
50
.citools/cog/go.mod
Normal file
50
.citools/cog/go.mod
Normal file
@@ -0,0 +1,50 @@
|
||||
module cog
|
||||
|
||||
go 1.24.5
|
||||
|
||||
tool github.com/grafana/cog/cmd/cli
|
||||
|
||||
require (
|
||||
cuelabs.dev/go/oci/ociregistry v0.0.0-20240906074133-82eb438dd565 // indirect
|
||||
cuelang.org/go v0.11.1 // indirect
|
||||
github.com/cockroachdb/apd/v3 v3.2.1 // indirect
|
||||
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect
|
||||
github.com/emicklei/proto v1.13.2 // indirect
|
||||
github.com/expr-lang/expr v1.17.0 // indirect
|
||||
github.com/getkin/kin-openapi v0.132.0 // indirect
|
||||
github.com/go-openapi/jsonpointer v0.21.0 // indirect
|
||||
github.com/go-openapi/swag v0.23.0 // indirect
|
||||
github.com/google/go-cmp v0.7.0 // indirect
|
||||
github.com/google/uuid v1.6.0 // indirect
|
||||
github.com/grafana/codejen v0.0.4-0.20230321061741-77f656893a3d // indirect
|
||||
github.com/grafana/cog v0.0.28 // indirect
|
||||
github.com/hashicorp/errwrap v1.1.0 // indirect
|
||||
github.com/hashicorp/go-multierror v1.1.1 // indirect
|
||||
github.com/huandu/xstrings v1.5.0 // indirect
|
||||
github.com/inconshreveable/mousetrap v1.1.0 // indirect
|
||||
github.com/josharian/intern v1.0.0 // indirect
|
||||
github.com/lib/pq v1.10.9 // indirect
|
||||
github.com/mailru/easyjson v0.7.7 // indirect
|
||||
github.com/mitchellh/go-wordwrap v1.0.1 // indirect
|
||||
github.com/mohae/deepcopy v0.0.0-20170929034955-c48cc78d4826 // indirect
|
||||
github.com/oasdiff/yaml v0.0.0-20250309154309-f31be36b4037 // indirect
|
||||
github.com/oasdiff/yaml3 v0.0.0-20250309153720-d2182401db90 // indirect
|
||||
github.com/opencontainers/go-digest v1.0.0 // indirect
|
||||
github.com/opencontainers/image-spec v1.1.0 // indirect
|
||||
github.com/pelletier/go-toml/v2 v2.2.3 // indirect
|
||||
github.com/perimeterx/marshmallow v1.1.5 // indirect
|
||||
github.com/protocolbuffers/txtpbfmt v0.0.0-20241112170944-20d2c9ebc01d // indirect
|
||||
github.com/rogpeppe/go-internal v1.14.1 // indirect
|
||||
github.com/santhosh-tekuri/jsonschema/v5 v5.3.1 // indirect
|
||||
github.com/spf13/cobra v1.9.1 // indirect
|
||||
github.com/spf13/pflag v1.0.6 // indirect
|
||||
github.com/ugorji/go/codec v1.2.11 // indirect
|
||||
github.com/yalue/merged_fs v1.3.0 // indirect
|
||||
golang.org/x/mod v0.25.0 // indirect
|
||||
golang.org/x/net v0.41.0 // indirect
|
||||
golang.org/x/oauth2 v0.27.0 // indirect
|
||||
golang.org/x/sync v0.15.0 // indirect
|
||||
golang.org/x/text v0.26.0 // indirect
|
||||
golang.org/x/tools v0.34.0 // indirect
|
||||
gopkg.in/yaml.v3 v3.0.1 // indirect
|
||||
)
|
||||
106
.citools/cog/go.sum
Normal file
106
.citools/cog/go.sum
Normal file
@@ -0,0 +1,106 @@
|
||||
cuelabs.dev/go/oci/ociregistry v0.0.0-20240906074133-82eb438dd565 h1:R5wwEcbEZSBmeyg91MJZTxfd7WpBo2jPof3AYjRbxwY=
|
||||
cuelabs.dev/go/oci/ociregistry v0.0.0-20240906074133-82eb438dd565/go.mod h1:5A4xfTzHTXfeVJBU6RAUf+QrlfTCW+017q/QiW+sMLg=
|
||||
cuelang.org/go v0.11.1 h1:pV+49MX1mmvDm8Qh3Za3M786cty8VKPWzQ1Ho4gZRP0=
|
||||
cuelang.org/go v0.11.1/go.mod h1:PBY6XvPUswPPJ2inpvUozP9mebDVTXaeehQikhZPBz0=
|
||||
github.com/cockroachdb/apd/v3 v3.2.1 h1:U+8j7t0axsIgvQUqthuNm82HIrYXodOV2iWLWtEaIwg=
|
||||
github.com/cockroachdb/apd/v3 v3.2.1/go.mod h1:klXJcjp+FffLTHlhIG69tezTDvdP065naDsHzKhYSqc=
|
||||
github.com/cpuguy83/go-md2man/v2 v2.0.6/go.mod h1:oOW0eioCTA6cOiMLiUPZOpcVxMig6NIQQ7OS05n1F4g=
|
||||
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM=
|
||||
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
||||
github.com/emicklei/proto v1.13.2 h1:z/etSFO3uyXeuEsVPzfl56WNgzcvIr42aQazXaQmFZY=
|
||||
github.com/emicklei/proto v1.13.2/go.mod h1:rn1FgRS/FANiZdD2djyH7TMA9jdRDcYQ9IEN9yvjX0A=
|
||||
github.com/expr-lang/expr v1.17.0 h1:+vpszOyzKLQXC9VF+wA8cVA0tlA984/Wabc/1hF9Whg=
|
||||
github.com/expr-lang/expr v1.17.0/go.mod h1:8/vRC7+7HBzESEqt5kKpYXxrxkr31SaO8r40VO/1IT4=
|
||||
github.com/getkin/kin-openapi v0.132.0 h1:3ISeLMsQzcb5v26yeJrBcdTCEQTag36ZjaGk7MIRUwk=
|
||||
github.com/getkin/kin-openapi v0.132.0/go.mod h1:3OlG51PCYNsPByuiMB0t4fjnNlIDnaEDsjiKUV8nL58=
|
||||
github.com/go-openapi/jsonpointer v0.21.0 h1:YgdVicSA9vH5RiHs9TZW5oyafXZFc6+2Vc1rr/O9oNQ=
|
||||
github.com/go-openapi/jsonpointer v0.21.0/go.mod h1:IUyH9l/+uyhIYQ/PXVA41Rexl+kOkAPDdXEYns6fzUY=
|
||||
github.com/go-openapi/swag v0.23.0 h1:vsEVJDUo2hPJ2tu0/Xc+4noaxyEffXNIs3cOULZ+GrE=
|
||||
github.com/go-openapi/swag v0.23.0/go.mod h1:esZ8ITTYEsH1V2trKHjAN8Ai7xHb8RV+YSZ577vPjgQ=
|
||||
github.com/go-quicktest/qt v1.101.0 h1:O1K29Txy5P2OK0dGo59b7b0LR6wKfIhttaAhHUyn7eI=
|
||||
github.com/go-quicktest/qt v1.101.0/go.mod h1:14Bz/f7NwaXPtdYEgzsx46kqSxVwTbzVZsDC26tQJow=
|
||||
github.com/go-test/deep v1.0.8 h1:TDsG77qcSprGbC6vTN8OuXp5g+J+b5Pcguhf7Zt61VM=
|
||||
github.com/go-test/deep v1.0.8/go.mod h1:5C2ZWiW0ErCdrYzpqxLbTX7MG14M9iiw8DgHncVwcsE=
|
||||
github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8=
|
||||
github.com/google/go-cmp v0.7.0/go.mod h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX3N/iU=
|
||||
github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0=
|
||||
github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
|
||||
github.com/grafana/codejen v0.0.4-0.20230321061741-77f656893a3d h1:hrXbGJ5jgp6yNITzs5o+zXq0V5yT3siNJ+uM8LGwWKk=
|
||||
github.com/grafana/codejen v0.0.4-0.20230321061741-77f656893a3d/go.mod h1:zmwwM/DRyQB7pfuBjTWII3CWtxcXh8LTwAYGfDfpR6s=
|
||||
github.com/grafana/cog v0.0.28 h1:0+FNuxyfNWm1OBZPPjgBIno3nzR4gOpSxsVe34hdN7g=
|
||||
github.com/grafana/cog v0.0.28/go.mod h1:wZWsTLV7uX0jCbGpqvjawQ7JbaDVT9oW+PQhHwqanHc=
|
||||
github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4=
|
||||
github.com/hashicorp/errwrap v1.1.0 h1:OxrOeh75EUXMY8TBjag2fzXGZ40LB6IKw45YeGUDY2I=
|
||||
github.com/hashicorp/errwrap v1.1.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4=
|
||||
github.com/hashicorp/go-multierror v1.1.1 h1:H5DkEtf6CXdFp0N0Em5UCwQpXMWke8IA0+lD48awMYo=
|
||||
github.com/hashicorp/go-multierror v1.1.1/go.mod h1:iw975J/qwKPdAO1clOe2L8331t/9/fmwbPZ6JB6eMoM=
|
||||
github.com/huandu/xstrings v1.5.0 h1:2ag3IFq9ZDANvthTwTiqSSZLjDc+BedvHPAp5tJy2TI=
|
||||
github.com/huandu/xstrings v1.5.0/go.mod h1:y5/lhBue+AyNmUVz9RLU9xbLR0o4KIIExikq4ovT0aE=
|
||||
github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8=
|
||||
github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw=
|
||||
github.com/josharian/intern v1.0.0 h1:vlS4z54oSdjm0bgjRigI+G1HpF+tI+9rE5LLzOg8HmY=
|
||||
github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y=
|
||||
github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE=
|
||||
github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk=
|
||||
github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
|
||||
github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
|
||||
github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc=
|
||||
github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw=
|
||||
github.com/lib/pq v1.10.9 h1:YXG7RB+JIjhP29X+OtkiDnYaXQwpS4JEWq7dtCCRUEw=
|
||||
github.com/lib/pq v1.10.9/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o=
|
||||
github.com/mailru/easyjson v0.7.7 h1:UGYAvKxe3sBsEDzO8ZeWOSlIQfWFlxbzLZe7hwFURr0=
|
||||
github.com/mailru/easyjson v0.7.7/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc=
|
||||
github.com/mitchellh/go-wordwrap v1.0.1 h1:TLuKupo69TCn6TQSyGxwI1EblZZEsQ0vMlAFQflz0v0=
|
||||
github.com/mitchellh/go-wordwrap v1.0.1/go.mod h1:R62XHJLzvMFRBbcrT7m7WgmE1eOyTSsCt+hzestvNj0=
|
||||
github.com/mohae/deepcopy v0.0.0-20170929034955-c48cc78d4826 h1:RWengNIwukTxcDr9M+97sNutRR1RKhG96O6jWumTTnw=
|
||||
github.com/mohae/deepcopy v0.0.0-20170929034955-c48cc78d4826/go.mod h1:TaXosZuwdSHYgviHp1DAtfrULt5eUgsSMsZf+YrPgl8=
|
||||
github.com/oasdiff/yaml v0.0.0-20250309154309-f31be36b4037 h1:G7ERwszslrBzRxj//JalHPu/3yz+De2J+4aLtSRlHiY=
|
||||
github.com/oasdiff/yaml v0.0.0-20250309154309-f31be36b4037/go.mod h1:2bpvgLBZEtENV5scfDFEtB/5+1M4hkQhDQrccEJ/qGw=
|
||||
github.com/oasdiff/yaml3 v0.0.0-20250309153720-d2182401db90 h1:bQx3WeLcUWy+RletIKwUIt4x3t8n2SxavmoclizMb8c=
|
||||
github.com/oasdiff/yaml3 v0.0.0-20250309153720-d2182401db90/go.mod h1:y5+oSEHCPT/DGrS++Wc/479ERge0zTFxaF8PbGKcg2o=
|
||||
github.com/opencontainers/go-digest v1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8Oi/yOhh5U=
|
||||
github.com/opencontainers/go-digest v1.0.0/go.mod h1:0JzlMkj0TRzQZfJkVvzbP0HBR3IKzErnv2BNG4W4MAM=
|
||||
github.com/opencontainers/image-spec v1.1.0 h1:8SG7/vwALn54lVB/0yZ/MMwhFrPYtpEHQb2IpWsCzug=
|
||||
github.com/opencontainers/image-spec v1.1.0/go.mod h1:W4s4sFTMaBeK1BQLXbG4AdM2szdn85PY75RI83NrTrM=
|
||||
github.com/pelletier/go-toml/v2 v2.2.3 h1:YmeHyLY8mFWbdkNWwpr+qIL2bEqT0o95WSdkNHvL12M=
|
||||
github.com/pelletier/go-toml/v2 v2.2.3/go.mod h1:MfCQTFTvCcUyyvvwm1+G6H/jORL20Xlb6rzQu9GuUkc=
|
||||
github.com/perimeterx/marshmallow v1.1.5 h1:a2LALqQ1BlHM8PZblsDdidgv1mWi1DgC2UmX50IvK2s=
|
||||
github.com/perimeterx/marshmallow v1.1.5/go.mod h1:dsXbUu8CRzfYP5a87xpp0xq9S3u0Vchtcl8we9tYaXw=
|
||||
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U=
|
||||
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
|
||||
github.com/protocolbuffers/txtpbfmt v0.0.0-20241112170944-20d2c9ebc01d h1:HWfigq7lB31IeJL8iy7jkUmU/PG1Sr8jVGhS749dbUA=
|
||||
github.com/protocolbuffers/txtpbfmt v0.0.0-20241112170944-20d2c9ebc01d/go.mod h1:jgxiZysxFPM+iWKwQwPR+y+Jvo54ARd4EisXxKYpB5c=
|
||||
github.com/rogpeppe/go-internal v1.14.1 h1:UQB4HGPB6osV0SQTLymcB4TgvyWu6ZyliaW0tI/otEQ=
|
||||
github.com/rogpeppe/go-internal v1.14.1/go.mod h1:MaRKkUm5W0goXpeCfT7UZI6fk/L7L7so1lCWt35ZSgc=
|
||||
github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
|
||||
github.com/santhosh-tekuri/jsonschema/v5 v5.3.1 h1:lZUw3E0/J3roVtGQ+SCrUrg3ON6NgVqpn3+iol9aGu4=
|
||||
github.com/santhosh-tekuri/jsonschema/v5 v5.3.1/go.mod h1:uToXkOrWAZ6/Oc07xWQrPOhJotwFIyu2bBVN41fcDUY=
|
||||
github.com/spf13/cobra v1.9.1 h1:CXSaggrXdbHK9CF+8ywj8Amf7PBRmPCOJugH954Nnlo=
|
||||
github.com/spf13/cobra v1.9.1/go.mod h1:nDyEzZ8ogv936Cinf6g1RU9MRY64Ir93oCnqb9wxYW0=
|
||||
github.com/spf13/pflag v1.0.6 h1:jFzHGLGAlb3ruxLB8MhbI6A8+AQX/2eW4qeyNZXNp2o=
|
||||
github.com/spf13/pflag v1.0.6/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg=
|
||||
github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOfJA=
|
||||
github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
|
||||
github.com/ugorji/go/codec v1.2.11 h1:BMaWp1Bb6fHwEtbplGBGJ498wD+LKlNSl25MjdZY4dU=
|
||||
github.com/ugorji/go/codec v1.2.11/go.mod h1:UNopzCgEMSXjBc6AOMqYvWC1ktqTAfzJZUZgYf6w6lg=
|
||||
github.com/yalue/merged_fs v1.3.0 h1:qCeh9tMPNy/i8cwDsQTJ5bLr6IRxbs6meakNE5O+wyY=
|
||||
github.com/yalue/merged_fs v1.3.0/go.mod h1:WqqchfVYQyclV2tnR7wtRhBddzBvLVR83Cjw9BKQw0M=
|
||||
golang.org/x/mod v0.25.0 h1:n7a+ZbQKQA/Ysbyb0/6IbB1H/X41mKgbhfv7AfG/44w=
|
||||
golang.org/x/mod v0.25.0/go.mod h1:IXM97Txy2VM4PJ3gI61r1YEk/gAj6zAHN3AdZt6S9Ww=
|
||||
golang.org/x/net v0.41.0 h1:vBTly1HeNPEn3wtREYfy4GZ/NECgw2Cnl+nK6Nz3uvw=
|
||||
golang.org/x/net v0.41.0/go.mod h1:B/K4NNqkfmg07DQYrbwvSluqCJOOXwUjeb/5lOisjbA=
|
||||
golang.org/x/oauth2 v0.27.0 h1:da9Vo7/tDv5RH/7nZDz1eMGS/q1Vv1N/7FCrBhI9I3M=
|
||||
golang.org/x/oauth2 v0.27.0/go.mod h1:onh5ek6nERTohokkhCD/y2cV4Do3fxFHFuAejCkRWT8=
|
||||
golang.org/x/sync v0.15.0 h1:KWH3jNZsfyT6xfAfKiz6MRNmd46ByHDYaZ7KSkCtdW8=
|
||||
golang.org/x/sync v0.15.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA=
|
||||
golang.org/x/sys v0.33.0 h1:q3i8TbbEz+JRD9ywIRlyRAQbM0qF7hu24q3teo2hbuw=
|
||||
golang.org/x/sys v0.33.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k=
|
||||
golang.org/x/text v0.26.0 h1:P42AVeLghgTYr4+xUnTRKDMqpar+PtX7KWuNQL21L8M=
|
||||
golang.org/x/text v0.26.0/go.mod h1:QK15LZJUUQVJxhz7wXgxSy/CJaTFjd0G+YLonydOVQA=
|
||||
golang.org/x/tools v0.34.0 h1:qIpSLOxeCYGg9TrcJokLBG4KFA6d795g0xkBkiESGlo=
|
||||
golang.org/x/tools v0.34.0/go.mod h1:pAP9OwEaY1CAW3HOmg3hLZC5Z0CCmzjAF2UQMSqNARg=
|
||||
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
||||
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk=
|
||||
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q=
|
||||
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
|
||||
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
|
||||
37
.citools/cue/go.mod
Normal file
37
.citools/cue/go.mod
Normal file
@@ -0,0 +1,37 @@
|
||||
module cue
|
||||
|
||||
go 1.24.5
|
||||
|
||||
tool cuelang.org/go/cmd/cue
|
||||
|
||||
require (
|
||||
cuelabs.dev/go/oci/ociregistry v0.0.0-20240906074133-82eb438dd565 // indirect
|
||||
cuelang.org/go v0.11.1 // indirect
|
||||
github.com/cockroachdb/apd/v3 v3.2.1 // indirect
|
||||
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect
|
||||
github.com/emicklei/proto v1.13.2 // indirect
|
||||
github.com/google/go-cmp v0.7.0 // indirect
|
||||
github.com/google/uuid v1.6.0 // indirect
|
||||
github.com/inconshreveable/mousetrap v1.1.0 // indirect
|
||||
github.com/lib/pq v1.10.9 // indirect
|
||||
github.com/mitchellh/go-wordwrap v1.0.1 // indirect
|
||||
github.com/opencontainers/go-digest v1.0.0 // indirect
|
||||
github.com/opencontainers/image-spec v1.1.0 // indirect
|
||||
github.com/pelletier/go-toml/v2 v2.2.3 // indirect
|
||||
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect
|
||||
github.com/protocolbuffers/txtpbfmt v0.0.0-20241112170944-20d2c9ebc01d // indirect
|
||||
github.com/rogpeppe/go-internal v1.14.1 // indirect
|
||||
github.com/spf13/cobra v1.9.1 // indirect
|
||||
github.com/spf13/pflag v1.0.6 // indirect
|
||||
github.com/stretchr/testify v1.10.0 // indirect
|
||||
github.com/tetratelabs/wazero v1.6.0 // indirect
|
||||
golang.org/x/mod v0.25.0 // indirect
|
||||
golang.org/x/net v0.41.0 // indirect
|
||||
golang.org/x/oauth2 v0.27.0 // indirect
|
||||
golang.org/x/sync v0.15.0 // indirect
|
||||
golang.org/x/sys v0.33.0 // indirect
|
||||
golang.org/x/text v0.26.0 // indirect
|
||||
golang.org/x/tools v0.34.0 // indirect
|
||||
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c // indirect
|
||||
gopkg.in/yaml.v3 v3.0.1 // indirect
|
||||
)
|
||||
74
.citools/cue/go.sum
Normal file
74
.citools/cue/go.sum
Normal file
@@ -0,0 +1,74 @@
|
||||
cuelabs.dev/go/oci/ociregistry v0.0.0-20240906074133-82eb438dd565 h1:R5wwEcbEZSBmeyg91MJZTxfd7WpBo2jPof3AYjRbxwY=
|
||||
cuelabs.dev/go/oci/ociregistry v0.0.0-20240906074133-82eb438dd565/go.mod h1:5A4xfTzHTXfeVJBU6RAUf+QrlfTCW+017q/QiW+sMLg=
|
||||
cuelang.org/go v0.11.1 h1:pV+49MX1mmvDm8Qh3Za3M786cty8VKPWzQ1Ho4gZRP0=
|
||||
cuelang.org/go v0.11.1/go.mod h1:PBY6XvPUswPPJ2inpvUozP9mebDVTXaeehQikhZPBz0=
|
||||
github.com/cockroachdb/apd/v3 v3.2.1 h1:U+8j7t0axsIgvQUqthuNm82HIrYXodOV2iWLWtEaIwg=
|
||||
github.com/cockroachdb/apd/v3 v3.2.1/go.mod h1:klXJcjp+FffLTHlhIG69tezTDvdP065naDsHzKhYSqc=
|
||||
github.com/cpuguy83/go-md2man/v2 v2.0.6/go.mod h1:oOW0eioCTA6cOiMLiUPZOpcVxMig6NIQQ7OS05n1F4g=
|
||||
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM=
|
||||
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
||||
github.com/emicklei/proto v1.13.2 h1:z/etSFO3uyXeuEsVPzfl56WNgzcvIr42aQazXaQmFZY=
|
||||
github.com/emicklei/proto v1.13.2/go.mod h1:rn1FgRS/FANiZdD2djyH7TMA9jdRDcYQ9IEN9yvjX0A=
|
||||
github.com/go-quicktest/qt v1.101.0 h1:O1K29Txy5P2OK0dGo59b7b0LR6wKfIhttaAhHUyn7eI=
|
||||
github.com/go-quicktest/qt v1.101.0/go.mod h1:14Bz/f7NwaXPtdYEgzsx46kqSxVwTbzVZsDC26tQJow=
|
||||
github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8=
|
||||
github.com/google/go-cmp v0.7.0/go.mod h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX3N/iU=
|
||||
github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510 h1:El6M4kTTCOh6aBiKaUGG7oYTSPP8MxqL4YI3kZKwcP4=
|
||||
github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510/go.mod h1:pupxD2MaaD3pAXIBCelhxNneeOaAeabZDe5s4K6zSpQ=
|
||||
github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0=
|
||||
github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
|
||||
github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8=
|
||||
github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw=
|
||||
github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI=
|
||||
github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE=
|
||||
github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk=
|
||||
github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
|
||||
github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
|
||||
github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
|
||||
github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
|
||||
github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc=
|
||||
github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw=
|
||||
github.com/lib/pq v1.10.9 h1:YXG7RB+JIjhP29X+OtkiDnYaXQwpS4JEWq7dtCCRUEw=
|
||||
github.com/lib/pq v1.10.9/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o=
|
||||
github.com/mitchellh/go-wordwrap v1.0.1 h1:TLuKupo69TCn6TQSyGxwI1EblZZEsQ0vMlAFQflz0v0=
|
||||
github.com/mitchellh/go-wordwrap v1.0.1/go.mod h1:R62XHJLzvMFRBbcrT7m7WgmE1eOyTSsCt+hzestvNj0=
|
||||
github.com/opencontainers/go-digest v1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8Oi/yOhh5U=
|
||||
github.com/opencontainers/go-digest v1.0.0/go.mod h1:0JzlMkj0TRzQZfJkVvzbP0HBR3IKzErnv2BNG4W4MAM=
|
||||
github.com/opencontainers/image-spec v1.1.0 h1:8SG7/vwALn54lVB/0yZ/MMwhFrPYtpEHQb2IpWsCzug=
|
||||
github.com/opencontainers/image-spec v1.1.0/go.mod h1:W4s4sFTMaBeK1BQLXbG4AdM2szdn85PY75RI83NrTrM=
|
||||
github.com/pelletier/go-toml/v2 v2.2.3 h1:YmeHyLY8mFWbdkNWwpr+qIL2bEqT0o95WSdkNHvL12M=
|
||||
github.com/pelletier/go-toml/v2 v2.2.3/go.mod h1:MfCQTFTvCcUyyvvwm1+G6H/jORL20Xlb6rzQu9GuUkc=
|
||||
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U=
|
||||
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
|
||||
github.com/protocolbuffers/txtpbfmt v0.0.0-20241112170944-20d2c9ebc01d h1:HWfigq7lB31IeJL8iy7jkUmU/PG1Sr8jVGhS749dbUA=
|
||||
github.com/protocolbuffers/txtpbfmt v0.0.0-20241112170944-20d2c9ebc01d/go.mod h1:jgxiZysxFPM+iWKwQwPR+y+Jvo54ARd4EisXxKYpB5c=
|
||||
github.com/rogpeppe/go-internal v1.14.1 h1:UQB4HGPB6osV0SQTLymcB4TgvyWu6ZyliaW0tI/otEQ=
|
||||
github.com/rogpeppe/go-internal v1.14.1/go.mod h1:MaRKkUm5W0goXpeCfT7UZI6fk/L7L7so1lCWt35ZSgc=
|
||||
github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
|
||||
github.com/spf13/cobra v1.9.1 h1:CXSaggrXdbHK9CF+8ywj8Amf7PBRmPCOJugH954Nnlo=
|
||||
github.com/spf13/cobra v1.9.1/go.mod h1:nDyEzZ8ogv936Cinf6g1RU9MRY64Ir93oCnqb9wxYW0=
|
||||
github.com/spf13/pflag v1.0.6 h1:jFzHGLGAlb3ruxLB8MhbI6A8+AQX/2eW4qeyNZXNp2o=
|
||||
github.com/spf13/pflag v1.0.6/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg=
|
||||
github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOfJA=
|
||||
github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
|
||||
github.com/tetratelabs/wazero v1.6.0 h1:z0H1iikCdP8t+q341xqepY4EWvHEw8Es7tlqiVzlP3g=
|
||||
github.com/tetratelabs/wazero v1.6.0/go.mod h1:0U0G41+ochRKoPKCJlh0jMg1CHkyfK8kDqiirMmKY8A=
|
||||
golang.org/x/mod v0.25.0 h1:n7a+ZbQKQA/Ysbyb0/6IbB1H/X41mKgbhfv7AfG/44w=
|
||||
golang.org/x/mod v0.25.0/go.mod h1:IXM97Txy2VM4PJ3gI61r1YEk/gAj6zAHN3AdZt6S9Ww=
|
||||
golang.org/x/net v0.41.0 h1:vBTly1HeNPEn3wtREYfy4GZ/NECgw2Cnl+nK6Nz3uvw=
|
||||
golang.org/x/net v0.41.0/go.mod h1:B/K4NNqkfmg07DQYrbwvSluqCJOOXwUjeb/5lOisjbA=
|
||||
golang.org/x/oauth2 v0.27.0 h1:da9Vo7/tDv5RH/7nZDz1eMGS/q1Vv1N/7FCrBhI9I3M=
|
||||
golang.org/x/oauth2 v0.27.0/go.mod h1:onh5ek6nERTohokkhCD/y2cV4Do3fxFHFuAejCkRWT8=
|
||||
golang.org/x/sync v0.15.0 h1:KWH3jNZsfyT6xfAfKiz6MRNmd46ByHDYaZ7KSkCtdW8=
|
||||
golang.org/x/sync v0.15.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA=
|
||||
golang.org/x/sys v0.33.0 h1:q3i8TbbEz+JRD9ywIRlyRAQbM0qF7hu24q3teo2hbuw=
|
||||
golang.org/x/sys v0.33.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k=
|
||||
golang.org/x/text v0.26.0 h1:P42AVeLghgTYr4+xUnTRKDMqpar+PtX7KWuNQL21L8M=
|
||||
golang.org/x/text v0.26.0/go.mod h1:QK15LZJUUQVJxhz7wXgxSy/CJaTFjd0G+YLonydOVQA=
|
||||
golang.org/x/tools v0.34.0 h1:qIpSLOxeCYGg9TrcJokLBG4KFA6d795g0xkBkiESGlo=
|
||||
golang.org/x/tools v0.34.0/go.mod h1:pAP9OwEaY1CAW3HOmg3hLZC5Z0CCmzjAF2UQMSqNARg=
|
||||
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
||||
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk=
|
||||
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q=
|
||||
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
|
||||
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
|
||||
201
.citools/golangci-lint/go.mod
Normal file
201
.citools/golangci-lint/go.mod
Normal file
@@ -0,0 +1,201 @@
|
||||
module golangci-lint
|
||||
|
||||
go 1.24.5
|
||||
|
||||
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.0 // 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/go-check-sumtype v0.3.1 // indirect
|
||||
github.com/alexkohler/nakedret/v2 v2.0.5 // indirect
|
||||
github.com/alexkohler/prealloc v1.0.0 // indirect
|
||||
github.com/alingse/asasalint v0.0.11 // indirect
|
||||
github.com/alingse/nilnesserr v0.1.2 // 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.6.0 // indirect
|
||||
github.com/breml/bidichk v0.3.3 // indirect
|
||||
github.com/breml/errchkjson v0.4.1 // indirect
|
||||
github.com/butuzov/ireturn v0.3.1 // 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.2-0.20180830191138-d8f796af33cc // indirect
|
||||
github.com/denis-tingaikin/go-header v0.5.0 // 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.5 // indirect
|
||||
github.com/fsnotify/fsnotify v1.8.0 // indirect
|
||||
github.com/fzipp/gocyclo v0.6.0 // indirect
|
||||
github.com/ghostiam/protogetter v0.3.12 // 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.3.0 // 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/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.0.2 // 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-20240309020433-c5143eacb3ed // indirect
|
||||
github.com/google/go-cmp v0.7.0 // indirect
|
||||
github.com/google/pprof v0.0.0-20250317173921-a4b03ec1a45e // 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/hexops/gotextdiff v1.0.3 // indirect
|
||||
github.com/inconshreveable/mousetrap v1.1.0 // indirect
|
||||
github.com/jgautheron/goconst v1.7.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.10 // indirect
|
||||
github.com/lasiar/canonicalheader v1.1.2 // indirect
|
||||
github.com/ldez/exptostd v0.4.2 // 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.2 // 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/maratori/testableexamples v1.0.0 // indirect
|
||||
github.com/maratori/testpackage v1.1.1 // indirect
|
||||
github.com/matoous/godox v1.1.0 // indirect
|
||||
github.com/matryer/is v1.4.1 // 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/mgechev/revive v1.7.0 // indirect
|
||||
github.com/mitchellh/go-homedir v1.1.0 // indirect
|
||||
github.com/moricho/tparallel v0.3.2 // indirect
|
||||
github.com/muesli/termenv v0.16.0 // indirect
|
||||
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // 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/v2 v2.2.3 // indirect
|
||||
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect
|
||||
github.com/polyfloyd/go-errorlint v1.7.1 // indirect
|
||||
github.com/prometheus/client_golang v1.22.0 // indirect
|
||||
github.com/prometheus/client_model v0.6.1 // indirect
|
||||
github.com/prometheus/common v0.63.0 // indirect
|
||||
github.com/prometheus/procfs v0.16.1 // 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/sagikazarmark/locafero v0.7.0 // 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.2 // indirect
|
||||
github.com/sergi/go-diff v1.3.2-0.20230802210424-5b0b94c5c0d3 // 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/conc v0.3.0 // indirect
|
||||
github.com/sourcegraph/go-diff v0.7.0 // indirect
|
||||
github.com/spf13/afero v1.12.0 // indirect
|
||||
github.com/spf13/cast v1.7.1 // indirect
|
||||
github.com/spf13/cobra v1.9.1 // indirect
|
||||
github.com/spf13/pflag v1.0.6 // indirect
|
||||
github.com/spf13/viper v1.20.1 // 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.6.0 // 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.10.1 // indirect
|
||||
github.com/tomarrell/wrapcheck/v2 v2.10.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.9.0 // indirect
|
||||
go.uber.org/automaxprocs v1.6.0 // indirect
|
||||
go.uber.org/multierr v1.11.0 // indirect
|
||||
go.uber.org/zap v1.27.0 // indirect
|
||||
golang.org/x/exp v0.0.0-20250506013437-ce4c2cf36ca6 // indirect
|
||||
golang.org/x/exp/typeparams v0.0.0-20250210185358-939b2ce775ac // indirect
|
||||
golang.org/x/mod v0.25.0 // indirect
|
||||
golang.org/x/sync v0.15.0 // indirect
|
||||
golang.org/x/sys v0.33.0 // indirect
|
||||
golang.org/x/text v0.26.0 // indirect
|
||||
golang.org/x/tools v0.34.0 // indirect
|
||||
google.golang.org/protobuf v1.36.6 // 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.7.0 // indirect
|
||||
mvdan.cc/unparam v0.0.0-20250301125049-0df0534333a4 // indirect
|
||||
)
|
||||
587
.citools/golangci-lint/go.sum
Normal file
587
.citools/golangci-lint/go.sum
Normal file
@@ -0,0 +1,587 @@
|
||||
4d63.com/gocheckcompilerdirectives v1.3.0 h1:Ew5y5CtcAAQeTVKUVFrE7EwHMrTO6BggtEj8BZSjZ3A=
|
||||
4d63.com/gocheckcompilerdirectives v1.3.0/go.mod h1:ofsJ4zx2QAuIP/NO/NAh1ig6R1Fb18/GI7RVMwz7kAY=
|
||||
4d63.com/gochecknoglobals v0.2.2 h1:H1vdnwnMaZdQW/N+NrkT1SZMTBmcwHe9Vq8lJcYYTtU=
|
||||
4d63.com/gochecknoglobals v0.2.2/go.mod h1:lLxwTQjL5eIesRbvnzIP3jZtG140FnTdz+AlMa+ogt0=
|
||||
github.com/4meepo/tagalign v1.4.2 h1:0hcLHPGMjDyM1gHG58cS73aQF8J4TdVR96TZViorO9E=
|
||||
github.com/4meepo/tagalign v1.4.2/go.mod h1:+p4aMyFM+ra7nb41CnFG6aSDXqRxU/w1VQqScKqDARI=
|
||||
github.com/Abirdcfly/dupword v0.1.3 h1:9Pa1NuAsZvpFPi9Pqkd93I7LIYRURj+A//dFd5tgBeE=
|
||||
github.com/Abirdcfly/dupword v0.1.3/go.mod h1:8VbB2t7e10KRNdwTVoxdBaxla6avbhGzb8sCTygUMhw=
|
||||
github.com/Antonboom/errname v1.1.0 h1:A+ucvdpMwlo/myWrkHEUEBWc/xuXdud23S8tmTb/oAE=
|
||||
github.com/Antonboom/errname v1.1.0/go.mod h1:O1NMrzgUcVBGIfi3xlVuvX8Q/VP/73sseCaAppfjqZw=
|
||||
github.com/Antonboom/nilnil v1.1.0 h1:jGxJxjgYS3VUUtOTNk8Z1icwT5ESpLH/426fjmQG+ng=
|
||||
github.com/Antonboom/nilnil v1.1.0/go.mod h1:b7sAlogQjFa1wV8jUW3o4PMzDVFLbTux+xnQdvzdcIE=
|
||||
github.com/Antonboom/testifylint v1.6.0 h1:6rdILVPt4+rqcvhid8w9wJNynKLUgqHNpFyM67UeXyc=
|
||||
github.com/Antonboom/testifylint v1.6.0/go.mod h1:k+nEkathI2NFjKO6HvwmSrbzUcQ6FAnbZV+ZRrnXPLI=
|
||||
github.com/BurntSushi/toml v1.5.0 h1:W5quZX/G/csjUnuI8SUYlsHs9M38FC7znL0lIO+DvMg=
|
||||
github.com/BurntSushi/toml v1.5.0/go.mod h1:ukJfTF/6rtPPRCnwkur4qwRxa8vTRFBF0uk2lLoLwho=
|
||||
github.com/Crocmagnon/fatcontext v0.7.1 h1:SC/VIbRRZQeQWj/TcQBS6JmrXcfA+BU4OGSVUt54PjM=
|
||||
github.com/Crocmagnon/fatcontext v0.7.1/go.mod h1:1wMvv3NXEBJucFGfwOJBxSVWcoIO6emV215SMkW9MFU=
|
||||
github.com/Djarvur/go-err113 v0.0.0-20210108212216-aea10b59be24 h1:sHglBQTwgx+rWPdisA5ynNEsoARbiCBOyGcJM4/OzsM=
|
||||
github.com/Djarvur/go-err113 v0.0.0-20210108212216-aea10b59be24/go.mod h1:4UJr5HIiMZrwgkSPdsjy2uOQExX/WEILpIrO9UPGuXs=
|
||||
github.com/GaijinEntertainment/go-exhaustruct/v3 v3.3.1 h1:Sz1JIXEcSfhz7fUi7xHnhpIE0thVASYjvosApmHuD2k=
|
||||
github.com/GaijinEntertainment/go-exhaustruct/v3 v3.3.1/go.mod h1:n/LSCXNuIYqVfBlVXyHfMQkZDdp1/mmxfSjADd3z1Zg=
|
||||
github.com/Masterminds/semver/v3 v3.3.1 h1:QtNSWtVZ3nBfk8mAOu/B6v7FMJ+NHTIgUPi7rj+4nv4=
|
||||
github.com/Masterminds/semver/v3 v3.3.1/go.mod h1:4V+yj/TJE1HU9XfppCwVMZq3I84lprf4nC11bSS5beM=
|
||||
github.com/OpenPeeDeeP/depguard/v2 v2.2.1 h1:vckeWVESWp6Qog7UZSARNqfu/cZqvki8zsuj3piCMx4=
|
||||
github.com/OpenPeeDeeP/depguard/v2 v2.2.1/go.mod h1:q4DKzC4UcVaAvcfd41CZh0PWpGgzrVxUYBlgKNGquUo=
|
||||
github.com/alecthomas/assert/v2 v2.11.0 h1:2Q9r3ki8+JYXvGsDyBXwH3LcJ+WK5D0gc5E8vS6K3D0=
|
||||
github.com/alecthomas/assert/v2 v2.11.0/go.mod h1:Bze95FyfUr7x34QZrjL+XP+0qgp/zg8yS+TtBj1WA3k=
|
||||
github.com/alecthomas/go-check-sumtype v0.3.1 h1:u9aUvbGINJxLVXiFvHUlPEaD7VDULsrxJb4Aq31NLkU=
|
||||
github.com/alecthomas/go-check-sumtype v0.3.1/go.mod h1:A8TSiN3UPRw3laIgWEUOHHLPa6/r9MtoigdlP5h3K/E=
|
||||
github.com/alecthomas/repr v0.4.0 h1:GhI2A8MACjfegCPVq9f1FLvIBS+DrQ2KQBFZP1iFzXc=
|
||||
github.com/alecthomas/repr v0.4.0/go.mod h1:Fr0507jx4eOXV7AlPV6AVZLYrLIuIeSOWtW57eE/O/4=
|
||||
github.com/alexkohler/nakedret/v2 v2.0.5 h1:fP5qLgtwbx9EJE8dGEERT02YwS8En4r9nnZ71RK+EVU=
|
||||
github.com/alexkohler/nakedret/v2 v2.0.5/go.mod h1:bF5i0zF2Wo2o4X4USt9ntUWve6JbFv02Ff4vlkmS/VU=
|
||||
github.com/alexkohler/prealloc v1.0.0 h1:Hbq0/3fJPQhNkN0dR95AVrr6R7tou91y0uHG5pOcUuw=
|
||||
github.com/alexkohler/prealloc v1.0.0/go.mod h1:VetnK3dIgFBBKmg0YnD9F9x6Icjd+9cvfHR56wJVlKE=
|
||||
github.com/alingse/asasalint v0.0.11 h1:SFwnQXJ49Kx/1GghOFz1XGqHYKp21Kq1nHad/0WQRnw=
|
||||
github.com/alingse/asasalint v0.0.11/go.mod h1:nCaoMhw7a9kSJObvQyVzNTPBDbNpdocqrSP7t/cW5+I=
|
||||
github.com/alingse/nilnesserr v0.1.2 h1:Yf8Iwm3z2hUUrP4muWfW83DF4nE3r1xZ26fGWUKCZlo=
|
||||
github.com/alingse/nilnesserr v0.1.2/go.mod h1:1xJPrXonEtX7wyTq8Dytns5P2hNzoWymVUIaKm4HNFg=
|
||||
github.com/ashanbrown/forbidigo v1.6.0 h1:D3aewfM37Yb3pxHujIPSpTf6oQk9sc9WZi8gerOIVIY=
|
||||
github.com/ashanbrown/forbidigo v1.6.0/go.mod h1:Y8j9jy9ZYAEHXdu723cUlraTqbzjKF1MUyfOKL+AjcU=
|
||||
github.com/ashanbrown/makezero v1.2.0 h1:/2Lp1bypdmK9wDIq7uWBlDF1iMUpIIS4A+pF6C9IEUU=
|
||||
github.com/ashanbrown/makezero v1.2.0/go.mod h1:dxlPhHbDMC6N6xICzFBSK+4njQDdK8euNO0qjQMtGY4=
|
||||
github.com/aymanbagabas/go-osc52/v2 v2.0.1 h1:HwpRHbFMcZLEVr42D4p7XBqjyuxQH5SMiErDT4WkJ2k=
|
||||
github.com/aymanbagabas/go-osc52/v2 v2.0.1/go.mod h1:uYgXzlJ7ZpABp8OJ+exZzJJhRNQ2ASbcXHWsFqH8hp8=
|
||||
github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM=
|
||||
github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw=
|
||||
github.com/bkielbasa/cyclop v1.2.3 h1:faIVMIGDIANuGPWH031CZJTi2ymOQBULs9H21HSMa5w=
|
||||
github.com/bkielbasa/cyclop v1.2.3/go.mod h1:kHTwA9Q0uZqOADdupvcFJQtp/ksSnytRMe8ztxG8Fuo=
|
||||
github.com/blizzy78/varnamelen v0.8.0 h1:oqSblyuQvFsW1hbBHh1zfwrKe3kcSj0rnXkKzsQ089M=
|
||||
github.com/blizzy78/varnamelen v0.8.0/go.mod h1:V9TzQZ4fLJ1DSrjVDfl89H7aMnTvKkApdHeyESmyR7k=
|
||||
github.com/bombsimon/wsl/v4 v4.6.0 h1:ew2R/N42su553DKTYqt3HSxaQN+uHQPv4xZ2MBmwaW4=
|
||||
github.com/bombsimon/wsl/v4 v4.6.0/go.mod h1:uV/+6BkffuzSAVYD+yGyld1AChO7/EuLrCF/8xTiapg=
|
||||
github.com/breml/bidichk v0.3.3 h1:WSM67ztRusf1sMoqH6/c4OBCUlRVTKq+CbSeo0R17sE=
|
||||
github.com/breml/bidichk v0.3.3/go.mod h1:ISbsut8OnjB367j5NseXEGGgO/th206dVa427kR8YTE=
|
||||
github.com/breml/errchkjson v0.4.1 h1:keFSS8D7A2T0haP9kzZTi7o26r7kE3vymjZNeNDRDwg=
|
||||
github.com/breml/errchkjson v0.4.1/go.mod h1:a23OvR6Qvcl7DG/Z4o0el6BRAjKnaReoPQFciAl9U3s=
|
||||
github.com/butuzov/ireturn v0.3.1 h1:mFgbEI6m+9W8oP/oDdfA34dLisRFCj2G6o/yiI1yZrY=
|
||||
github.com/butuzov/ireturn v0.3.1/go.mod h1:ZfRp+E7eJLC0NQmk1Nrm1LOrn/gQlOykv+cVPdiXH5M=
|
||||
github.com/butuzov/mirror v1.3.0 h1:HdWCXzmwlQHdVhwvsfBb2Au0r3HyINry3bDWLYXiKoc=
|
||||
github.com/butuzov/mirror v1.3.0/go.mod h1:AEij0Z8YMALaq4yQj9CPPVYOyJQyiexpQEQgihajRfI=
|
||||
github.com/catenacyber/perfsprint v0.9.1 h1:5LlTp4RwTooQjJCvGEFV6XksZvWE7wCOUvjD2z0vls0=
|
||||
github.com/catenacyber/perfsprint v0.9.1/go.mod h1:q//VWC2fWbcdSLEY1R3l8n0zQCDPdE4IjZwyY1HMunM=
|
||||
github.com/ccojocar/zxcvbn-go v1.0.2 h1:na/czXU8RrhXO4EZme6eQJLR4PzcGsahsBOAwU6I3Vg=
|
||||
github.com/ccojocar/zxcvbn-go v1.0.2/go.mod h1:g1qkXtUSvHP8lhHp5GrSmTz6uWALGRMQdw6Qnz/hi60=
|
||||
github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs=
|
||||
github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs=
|
||||
github.com/charithe/durationcheck v0.0.10 h1:wgw73BiocdBDQPik+zcEoBG/ob8uyBHf2iyoHGPf5w4=
|
||||
github.com/charithe/durationcheck v0.0.10/go.mod h1:bCWXb7gYRysD1CU3C+u4ceO49LoGOY1C1L6uouGNreQ=
|
||||
github.com/charmbracelet/colorprofile v0.2.3-0.20250311203215-f60798e515dc h1:4pZI35227imm7yK2bGPcfpFEmuY1gc2YSTShr4iJBfs=
|
||||
github.com/charmbracelet/colorprofile v0.2.3-0.20250311203215-f60798e515dc/go.mod h1:X4/0JoqgTIPSFcRA/P6INZzIuyqdFY5rm8tb41s9okk=
|
||||
github.com/charmbracelet/lipgloss v1.1.0 h1:vYXsiLHVkK7fp74RkV7b2kq9+zDLoEU4MZoFqR/noCY=
|
||||
github.com/charmbracelet/lipgloss v1.1.0/go.mod h1:/6Q8FR2o+kj8rz4Dq0zQc3vYf7X+B0binUUBwA0aL30=
|
||||
github.com/charmbracelet/x/ansi v0.8.0 h1:9GTq3xq9caJW8ZrBTe0LIe2fvfLR/bYXKTx2llXn7xE=
|
||||
github.com/charmbracelet/x/ansi v0.8.0/go.mod h1:wdYl/ONOLHLIVmQaxbIYEC/cRKOQyjTkowiI4blgS9Q=
|
||||
github.com/charmbracelet/x/cellbuf v0.0.13-0.20250311204145-2c3ea96c31dd h1:vy0GVL4jeHEwG5YOXDmi86oYw2yuYUGqz6a8sLwg0X8=
|
||||
github.com/charmbracelet/x/cellbuf v0.0.13-0.20250311204145-2c3ea96c31dd/go.mod h1:xe0nKWGd3eJgtqZRaN9RjMtK7xUYchjzPr7q6kcvCCs=
|
||||
github.com/charmbracelet/x/term v0.2.1 h1:AQeHeLZ1OqSXhrAWpYUtZyX1T3zVxfpZuEQMIQaGIAQ=
|
||||
github.com/charmbracelet/x/term v0.2.1/go.mod h1:oQ4enTYFV7QN4m0i9mzHrViD7TQKvNEEkHUMCmsxdUg=
|
||||
github.com/chavacava/garif v0.1.0 h1:2JHa3hbYf5D9dsgseMKAmc/MZ109otzgNFk5s87H9Pc=
|
||||
github.com/chavacava/garif v0.1.0/go.mod h1:XMyYCkEL58DF0oyW4qDjjnPWONs2HBqYKI+UIPD+Gww=
|
||||
github.com/ckaznocha/intrange v0.3.1 h1:j1onQyXvHUsPWujDH6WIjhyH26gkRt/txNlV7LspvJs=
|
||||
github.com/ckaznocha/intrange v0.3.1/go.mod h1:QVepyz1AkUoFQkpEqksSYpNpUo3c5W7nWh/s6SHIJJk=
|
||||
github.com/cpuguy83/go-md2man/v2 v2.0.6/go.mod h1:oOW0eioCTA6cOiMLiUPZOpcVxMig6NIQQ7OS05n1F4g=
|
||||
github.com/curioswitch/go-reassign v0.3.0 h1:dh3kpQHuADL3cobV/sSGETA8DOv457dwl+fbBAhrQPs=
|
||||
github.com/curioswitch/go-reassign v0.3.0/go.mod h1:nApPCCTtqLJN/s8HfItCcKV0jIPwluBOvZP+dsJGA88=
|
||||
github.com/daixiang0/gci v0.13.6 h1:RKuEOSkGpSadkGbvZ6hJ4ddItT3cVZ9Vn9Rybk6xjl8=
|
||||
github.com/daixiang0/gci v0.13.6/go.mod h1:12etP2OniiIdP4q+kjUGrC/rUagga7ODbqsom5Eo5Yk=
|
||||
github.com/dave/dst v0.27.3 h1:P1HPoMza3cMEquVf9kKy8yXsFirry4zEnWOdYPOoIzY=
|
||||
github.com/dave/dst v0.27.3/go.mod h1:jHh6EOibnHgcUW3WjKHisiooEkYwqpHLBSX1iOBhEyc=
|
||||
github.com/dave/jennifer v1.7.1 h1:B4jJJDHelWcDhlRQxWeo0Npa/pYKBLrirAQoTN45txo=
|
||||
github.com/dave/jennifer v1.7.1/go.mod h1:nXbxhEmQfOZhWml3D1cDK5M1FLnMSozpbFN/m3RmGZc=
|
||||
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
||||
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
||||
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM=
|
||||
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
||||
github.com/denis-tingaikin/go-header v0.5.0 h1:SRdnP5ZKvcO9KKRP1KJrhFR3RrlGuD+42t4429eC9k8=
|
||||
github.com/denis-tingaikin/go-header v0.5.0/go.mod h1:mMenU5bWrok6Wl2UsZjy+1okegmwQ3UgWl4V1D8gjlY=
|
||||
github.com/dlclark/regexp2 v1.11.0 h1:G/nrcoOa7ZXlpoa/91N3X7mM3r8eIlMBBJZvsz/mxKI=
|
||||
github.com/dlclark/regexp2 v1.11.0/go.mod h1:DHkYz0B9wPfa6wondMfaivmHpzrQ3v9q8cnmRbL6yW8=
|
||||
github.com/ettle/strcase v0.2.0 h1:fGNiVF21fHXpX1niBgk0aROov1LagYsOwV/xqKDKR/Q=
|
||||
github.com/ettle/strcase v0.2.0/go.mod h1:DajmHElDSaX76ITe3/VHVyMin4LWSJN5Z909Wp+ED1A=
|
||||
github.com/fatih/color v1.18.0 h1:S8gINlzdQ840/4pfAwic/ZE0djQEH3wM94VfqLTZcOM=
|
||||
github.com/fatih/color v1.18.0/go.mod h1:4FelSpRwEGDpQ12mAdzqdOukCy4u8WUtOY6lkT/6HfU=
|
||||
github.com/fatih/structtag v1.2.0 h1:/OdNE99OxoI/PqaW/SuSK9uxxT3f/tcSZgon/ssNSx4=
|
||||
github.com/fatih/structtag v1.2.0/go.mod h1:mBJUNpUnHmRKrKlQQlmCrh5PuhftFbNv8Ys4/aAZl94=
|
||||
github.com/firefart/nonamedreturns v1.0.5 h1:tM+Me2ZaXs8tfdDw3X6DOX++wMCOqzYUho6tUTYIdRA=
|
||||
github.com/firefart/nonamedreturns v1.0.5/go.mod h1:gHJjDqhGM4WyPt639SOZs+G89Ko7QKH5R5BhnO6xJhw=
|
||||
github.com/frankban/quicktest v1.14.6 h1:7Xjx+VpznH+oBnejlPUj8oUpdxnVs4f8XU8WnHkI4W8=
|
||||
github.com/frankban/quicktest v1.14.6/go.mod h1:4ptaffx2x8+WTWXmUCuVU6aPUX1/Mz7zb5vbUoiM6w0=
|
||||
github.com/fsnotify/fsnotify v1.8.0 h1:dAwr6QBTBZIkG8roQaJjGof0pp0EeF+tNV7YBP3F/8M=
|
||||
github.com/fsnotify/fsnotify v1.8.0/go.mod h1:8jBTzvmWwFyi3Pb8djgCCO5IBqzKJ/Jwo8TRcHyHii0=
|
||||
github.com/fzipp/gocyclo v0.6.0 h1:lsblElZG7d3ALtGMx9fmxeTKZaLLpU8mET09yN4BBLo=
|
||||
github.com/fzipp/gocyclo v0.6.0/go.mod h1:rXPyn8fnlpa0R2csP/31uerbiVBugk5whMdlyaLkLoA=
|
||||
github.com/ghostiam/protogetter v0.3.12 h1:xTPjH97iKph27vXRRKV0OCke5sAMoHPbVeVstdzmCLE=
|
||||
github.com/ghostiam/protogetter v0.3.12/go.mod h1:WZ0nw9pfzsgxuRsPOFQomgDVSWtDLJRfQJEhsGbmQMA=
|
||||
github.com/go-critic/go-critic v0.13.0 h1:kJzM7wzltQasSUXtYyTl6UaPVySO6GkaR1thFnJ6afY=
|
||||
github.com/go-critic/go-critic v0.13.0/go.mod h1:M/YeuJ3vOCQDnP2SU+ZhjgRzwzcBW87JqLpMJLrZDLI=
|
||||
github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY=
|
||||
github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY=
|
||||
github.com/go-quicktest/qt v1.101.0 h1:O1K29Txy5P2OK0dGo59b7b0LR6wKfIhttaAhHUyn7eI=
|
||||
github.com/go-quicktest/qt v1.101.0/go.mod h1:14Bz/f7NwaXPtdYEgzsx46kqSxVwTbzVZsDC26tQJow=
|
||||
github.com/go-task/slim-sprig/v3 v3.0.0 h1:sUs3vkvUymDpBKi3qH1YSqBQk9+9D/8M2mN1vB6EwHI=
|
||||
github.com/go-task/slim-sprig/v3 v3.0.0/go.mod h1:W848ghGpv3Qj3dhTPRyJypKRiqCdHZiAzKg9hl15HA8=
|
||||
github.com/go-toolsmith/astcast v1.1.0 h1:+JN9xZV1A+Re+95pgnMgDboWNVnIMMQXwfBwLRPgSC8=
|
||||
github.com/go-toolsmith/astcast v1.1.0/go.mod h1:qdcuFWeGGS2xX5bLM/c3U9lewg7+Zu4mr+xPwZIB4ZU=
|
||||
github.com/go-toolsmith/astcopy v1.1.0 h1:YGwBN0WM+ekI/6SS6+52zLDEf8Yvp3n2seZITCUBt5s=
|
||||
github.com/go-toolsmith/astcopy v1.1.0/go.mod h1:hXM6gan18VA1T/daUEHCFcYiW8Ai1tIwIzHY6srfEAw=
|
||||
github.com/go-toolsmith/astequal v1.0.3/go.mod h1:9Ai4UglvtR+4up+bAD4+hCj7iTo4m/OXVTSLnCyTAx4=
|
||||
github.com/go-toolsmith/astequal v1.1.0/go.mod h1:sedf7VIdCL22LD8qIvv7Nn9MuWJruQA/ysswh64lffQ=
|
||||
github.com/go-toolsmith/astequal v1.2.0 h1:3Fs3CYZ1k9Vo4FzFhwwewC3CHISHDnVUPC4x0bI2+Cw=
|
||||
github.com/go-toolsmith/astequal v1.2.0/go.mod h1:c8NZ3+kSFtFY/8lPso4v8LuJjdJiUFVnSuU3s0qrrDY=
|
||||
github.com/go-toolsmith/astfmt v1.1.0 h1:iJVPDPp6/7AaeLJEruMsBUlOYCmvg0MoCfJprsOmcco=
|
||||
github.com/go-toolsmith/astfmt v1.1.0/go.mod h1:OrcLlRwu0CuiIBp/8b5PYF9ktGVZUjlNMV634mhwuQ4=
|
||||
github.com/go-toolsmith/astp v1.1.0 h1:dXPuCl6u2llURjdPLLDxJeZInAeZ0/eZwFJmqZMnpQA=
|
||||
github.com/go-toolsmith/astp v1.1.0/go.mod h1:0T1xFGz9hicKs8Z5MfAqSUitoUYS30pDMsRVIDHs8CA=
|
||||
github.com/go-toolsmith/pkgload v1.2.2 h1:0CtmHq/02QhxcF7E9N5LIFcYFsMR5rdovfqTtRKkgIk=
|
||||
github.com/go-toolsmith/pkgload v1.2.2/go.mod h1:R2hxLNRKuAsiXCo2i5J6ZQPhnPMOVtU+f0arbFPWCus=
|
||||
github.com/go-toolsmith/strparse v1.0.0/go.mod h1:YI2nUKP9YGZnL/L1/DLFBfixrcjslWct4wyljWhSRy8=
|
||||
github.com/go-toolsmith/strparse v1.1.0 h1:GAioeZUK9TGxnLS+qfdqNbA4z0SSm5zVNtCQiyP2Bvw=
|
||||
github.com/go-toolsmith/strparse v1.1.0/go.mod h1:7ksGy58fsaQkGQlY8WVoBFNyEPMGuJin1rfoPS4lBSQ=
|
||||
github.com/go-toolsmith/typep v1.1.0 h1:fIRYDyF+JywLfqzyhdiHzRop/GQDxxNhLGQ6gFUNHus=
|
||||
github.com/go-toolsmith/typep v1.1.0/go.mod h1:fVIw+7zjdsMxDA3ITWnH1yOiw1rnTQKCsF/sk2H/qig=
|
||||
github.com/go-viper/mapstructure/v2 v2.3.0 h1:27XbWsHIqhbdR5TIC911OfYvgSaW93HM+dX7970Q7jk=
|
||||
github.com/go-viper/mapstructure/v2 v2.3.0/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM=
|
||||
github.com/go-xmlfmt/xmlfmt v1.1.3 h1:t8Ey3Uy7jDSEisW2K3somuMKIpzktkWptA0iFCnRUWY=
|
||||
github.com/go-xmlfmt/xmlfmt v1.1.3/go.mod h1:aUCEOzzezBEjDBbFBoSiya/gduyIiWYRP6CnSFIV8AM=
|
||||
github.com/gobwas/glob v0.2.3 h1:A4xDbljILXROh+kObIiy5kIaPYD8e96x1tgBhUI5J+Y=
|
||||
github.com/gobwas/glob v0.2.3/go.mod h1:d3Ez4x06l9bZtSvzIay5+Yzi0fmZzPgnTbPcKjJAkT8=
|
||||
github.com/gofrs/flock v0.12.1 h1:MTLVXXHf8ekldpJk3AKicLij9MdwOWkZ+a/jHHZby9E=
|
||||
github.com/gofrs/flock v0.12.1/go.mod h1:9zxTsyu5xtJ9DK+1tFZyibEV7y3uwDxPPfbxeeHCoD0=
|
||||
github.com/golangci/dupl v0.0.0-20250308024227-f665c8d69b32 h1:WUvBfQL6EW/40l6OmeSBYQJNSif4O11+bmWEz+C7FYw=
|
||||
github.com/golangci/dupl v0.0.0-20250308024227-f665c8d69b32/go.mod h1:NUw9Zr2Sy7+HxzdjIULge71wI6yEg1lWQr7Evcu8K0E=
|
||||
github.com/golangci/go-printf-func-name v0.1.0 h1:dVokQP+NMTO7jwO4bwsRwLWeudOVUPPyAKJuzv8pEJU=
|
||||
github.com/golangci/go-printf-func-name v0.1.0/go.mod h1:wqhWFH5mUdJQhweRnldEywnR5021wTdZSNgwYceV14s=
|
||||
github.com/golangci/gofmt v0.0.0-20250106114630-d62b90e6713d h1:viFft9sS/dxoYY0aiOTsLKO2aZQAPT4nlQCsimGcSGE=
|
||||
github.com/golangci/gofmt v0.0.0-20250106114630-d62b90e6713d/go.mod h1:ivJ9QDg0XucIkmwhzCDsqcnxxlDStoTl89jDMIoNxKY=
|
||||
github.com/golangci/golangci-lint/v2 v2.0.2 h1:dMCC8ikPiLDvHMFy3+XypSAuGDBOLzwWqqamer+bWsY=
|
||||
github.com/golangci/golangci-lint/v2 v2.0.2/go.mod h1:ptNNMeGBQrbves0Qq38xvfdJg18PzxmT+7KRCOpm6i8=
|
||||
github.com/golangci/golines v0.0.0-20250217134842-442fd0091d95 h1:AkK+w9FZBXlU/xUmBtSJN1+tAI4FIvy5WtnUnY8e4p8=
|
||||
github.com/golangci/golines v0.0.0-20250217134842-442fd0091d95/go.mod h1:k9mmcyWKSTMcPPvQUCfRWWQ9VHJ1U9Dc0R7kaXAgtnQ=
|
||||
github.com/golangci/misspell v0.6.0 h1:JCle2HUTNWirNlDIAUO44hUsKhOFqGPoC4LZxlaSXDs=
|
||||
github.com/golangci/misspell v0.6.0/go.mod h1:keMNyY6R9isGaSAu+4Q8NMBwMPkh15Gtc8UCVoDtAWo=
|
||||
github.com/golangci/plugin-module-register v0.1.1 h1:TCmesur25LnyJkpsVrupv1Cdzo+2f7zX0H6Jkw1Ol6c=
|
||||
github.com/golangci/plugin-module-register v0.1.1/go.mod h1:TTpqoB6KkwOJMV8u7+NyXMrkwwESJLOkfl9TxR1DGFc=
|
||||
github.com/golangci/revgrep v0.8.0 h1:EZBctwbVd0aMeRnNUsFogoyayvKHyxlV3CdUA46FX2s=
|
||||
github.com/golangci/revgrep v0.8.0/go.mod h1:U4R/s9dlXZsg8uJmaR1GrloUr14D7qDl8gi2iPXJH8k=
|
||||
github.com/golangci/unconvert v0.0.0-20240309020433-c5143eacb3ed h1:IURFTjxeTfNFP0hTEi1YKjB/ub8zkpaOqFFMApi2EAs=
|
||||
github.com/golangci/unconvert v0.0.0-20240309020433-c5143eacb3ed/go.mod h1:XLXN8bNw4CGRPaqgl3bv/lhz7bsGPh4/xSaMTbo2vkQ=
|
||||
github.com/google/go-cmp v0.5.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
|
||||
github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
|
||||
github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
|
||||
github.com/google/go-cmp v0.5.6/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
|
||||
github.com/google/go-cmp v0.5.8/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
|
||||
github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8=
|
||||
github.com/google/go-cmp v0.7.0/go.mod h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX3N/iU=
|
||||
github.com/google/pprof v0.0.0-20250317173921-a4b03ec1a45e h1:ijClszYn+mADRFY17kjQEVQ1XRhq2/JR1M3sGqeJoxs=
|
||||
github.com/google/pprof v0.0.0-20250317173921-a4b03ec1a45e/go.mod h1:boTsfXsheKC2y+lKOCMpSfarhxDeIzfZG1jqGcPl3cA=
|
||||
github.com/gordonklaus/ineffassign v0.1.0 h1:y2Gd/9I7MdY1oEIt+n+rowjBNDcLQq3RsH5hwJd0f9s=
|
||||
github.com/gordonklaus/ineffassign v0.1.0/go.mod h1:Qcp2HIAYhR7mNUVSIxZww3Guk4it82ghYcEXIAk+QT0=
|
||||
github.com/gostaticanalysis/analysisutil v0.7.1 h1:ZMCjoue3DtDWQ5WyU16YbjbQEQ3VuzwxALrpYd+HeKk=
|
||||
github.com/gostaticanalysis/analysisutil v0.7.1/go.mod h1:v21E3hY37WKMGSnbsw2S/ojApNWb6C1//mXO48CXbVc=
|
||||
github.com/gostaticanalysis/comment v1.4.1/go.mod h1:ih6ZxzTHLdadaiSnF5WY3dxUoXfXAlTaRzuaNDlSado=
|
||||
github.com/gostaticanalysis/comment v1.4.2/go.mod h1:KLUTGDv6HOCotCH8h2erHKmpci2ZoR8VPu34YA2uzdM=
|
||||
github.com/gostaticanalysis/comment v1.5.0 h1:X82FLl+TswsUMpMh17srGRuKaaXprTaytmEpgnKIDu8=
|
||||
github.com/gostaticanalysis/comment v1.5.0/go.mod h1:V6eb3gpCv9GNVqb6amXzEUX3jXLVK/AdA+IrAMSqvEc=
|
||||
github.com/gostaticanalysis/forcetypeassert v0.2.0 h1:uSnWrrUEYDr86OCxWa4/Tp2jeYDlogZiZHzGkWFefTk=
|
||||
github.com/gostaticanalysis/forcetypeassert v0.2.0/go.mod h1:M5iPavzE9pPqWyeiVXSFghQjljW1+l/Uke3PXHS6ILY=
|
||||
github.com/gostaticanalysis/nilerr v0.1.1 h1:ThE+hJP0fEp4zWLkWHWcRyI2Od0p7DlgYG3Uqrmrcpk=
|
||||
github.com/gostaticanalysis/nilerr v0.1.1/go.mod h1:wZYb6YI5YAxxq0i1+VJbY0s2YONW0HU0GPE3+5PWN4A=
|
||||
github.com/gostaticanalysis/testutil v0.3.1-0.20210208050101-bfb5c8eec0e4/go.mod h1:D+FIZ+7OahH3ePw/izIEeH5I06eKs1IKI4Xr64/Am3M=
|
||||
github.com/gostaticanalysis/testutil v0.5.0 h1:Dq4wT1DdTwTGCQQv3rl3IvD5Ld0E6HiY+3Zh0sUGqw8=
|
||||
github.com/gostaticanalysis/testutil v0.5.0/go.mod h1:OLQSbuM6zw2EvCcXTz1lVq5unyoNft372msDY0nY5Hs=
|
||||
github.com/hashicorp/go-immutable-radix/v2 v2.1.0 h1:CUW5RYIcysz+D3B+l1mDeXrQ7fUvGGCwJfdASSzbrfo=
|
||||
github.com/hashicorp/go-immutable-radix/v2 v2.1.0/go.mod h1:hgdqLXA4f6NIjRVisM1TJ9aOJVNRqKZj+xDGF6m7PBw=
|
||||
github.com/hashicorp/go-uuid v1.0.3 h1:2gKiV6YVmrJ1i2CKKa9obLvRieoRGviZFL26PcT/Co8=
|
||||
github.com/hashicorp/go-uuid v1.0.3/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro=
|
||||
github.com/hashicorp/go-version v1.2.1/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA=
|
||||
github.com/hashicorp/go-version v1.7.0 h1:5tqGy27NaOTB8yJKUZELlFAS/LTKJkrmONwQKeRZfjY=
|
||||
github.com/hashicorp/go-version v1.7.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA=
|
||||
github.com/hashicorp/golang-lru/v2 v2.0.7 h1:a+bsQ5rvGLjzHuww6tVxozPZFVghXaHOwFs4luLUK2k=
|
||||
github.com/hashicorp/golang-lru/v2 v2.0.7/go.mod h1:QeFd9opnmA6QUJc5vARoKUSoFhyfM2/ZepoAG6RGpeM=
|
||||
github.com/hexops/gotextdiff v1.0.3 h1:gitA9+qJrrTCsiCl7+kh75nPqQt1cx4ZkudSTLoUqJM=
|
||||
github.com/hexops/gotextdiff v1.0.3/go.mod h1:pSWU5MAI3yDq+fZBTazCSJysOMbxWL1BSow5/V2vxeg=
|
||||
github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8=
|
||||
github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw=
|
||||
github.com/jgautheron/goconst v1.7.1 h1:VpdAG7Ca7yvvJk5n8dMwQhfEZJh95kl/Hl9S1OI5Jkk=
|
||||
github.com/jgautheron/goconst v1.7.1/go.mod h1:aAosetZ5zaeC/2EfMeRswtxUFBpe2Hr7HzkgX4fanO4=
|
||||
github.com/jingyugao/rowserrcheck v1.1.1 h1:zibz55j/MJtLsjP1OF4bSdgXxwL1b+Vn7Tjzq7gFzUs=
|
||||
github.com/jingyugao/rowserrcheck v1.1.1/go.mod h1:4yvlZSDb3IyDTUZJUmpZfm2Hwok+Dtp+nu2qOq+er9c=
|
||||
github.com/jjti/go-spancheck v0.6.4 h1:Tl7gQpYf4/TMU7AT84MN83/6PutY21Nb9fuQjFTpRRc=
|
||||
github.com/jjti/go-spancheck v0.6.4/go.mod h1:yAEYdKJ2lRkDA8g7X+oKUHXOWVAXSBJRv04OhF+QUjk=
|
||||
github.com/julz/importas v0.2.0 h1:y+MJN/UdL63QbFJHws9BVC5RpA2iq0kpjrFajTGivjQ=
|
||||
github.com/julz/importas v0.2.0/go.mod h1:pThlt589EnCYtMnmhmRYY/qn9lCf/frPOK+WMx3xiJY=
|
||||
github.com/karamaru-alpha/copyloopvar v1.2.1 h1:wmZaZYIjnJ0b5UoKDjUHrikcV0zuPyyxI4SVplLd2CI=
|
||||
github.com/karamaru-alpha/copyloopvar v1.2.1/go.mod h1:nFmMlFNlClC2BPvNaHMdkirmTJxVCY0lhxBtlfOypMM=
|
||||
github.com/kisielk/errcheck v1.9.0 h1:9xt1zI9EBfcYBvdU1nVrzMzzUPUtPKs9bVSIM3TAb3M=
|
||||
github.com/kisielk/errcheck v1.9.0/go.mod h1:kQxWMMVZgIkDq7U8xtG/n2juOjbLgZtedi0D+/VL/i8=
|
||||
github.com/kkHAIKE/contextcheck v1.1.6 h1:7HIyRcnyzxL9Lz06NGhiKvenXq7Zw6Q0UQu/ttjfJCE=
|
||||
github.com/kkHAIKE/contextcheck v1.1.6/go.mod h1:3dDbMRNBFaq8HFXWC1JyvDSPm43CmE6IuHam8Wr0rkg=
|
||||
github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
|
||||
github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE=
|
||||
github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk=
|
||||
github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
|
||||
github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
|
||||
github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
|
||||
github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
|
||||
github.com/kulti/thelper v0.6.3 h1:ElhKf+AlItIu+xGnI990no4cE2+XaSu1ULymV2Yulxs=
|
||||
github.com/kulti/thelper v0.6.3/go.mod h1:DsqKShOvP40epevkFrvIwkCMNYxMeTNjdWL4dqWHZ6I=
|
||||
github.com/kunwardeep/paralleltest v1.0.10 h1:wrodoaKYzS2mdNVnc4/w31YaXFtsc21PCTdvWJ/lDDs=
|
||||
github.com/kunwardeep/paralleltest v1.0.10/go.mod h1:2C7s65hONVqY7Q5Efj5aLzRCNLjw2h4eMc9EcypGjcY=
|
||||
github.com/lasiar/canonicalheader v1.1.2 h1:vZ5uqwvDbyJCnMhmFYimgMZnJMjwljN5VGY0VKbMXb4=
|
||||
github.com/lasiar/canonicalheader v1.1.2/go.mod h1:qJCeLFS0G/QlLQ506T+Fk/fWMa2VmBUiEI2cuMK4djI=
|
||||
github.com/ldez/exptostd v0.4.2 h1:l5pOzHBz8mFOlbcifTxzfyYbgEmoUqjxLFHZkjlbHXs=
|
||||
github.com/ldez/exptostd v0.4.2/go.mod h1:iZBRYaUmcW5jwCR3KROEZ1KivQQp6PHXbDPk9hqJKCQ=
|
||||
github.com/ldez/gomoddirectives v0.6.1 h1:Z+PxGAY+217f/bSGjNZr/b2KTXcyYLgiWI6geMBN2Qc=
|
||||
github.com/ldez/gomoddirectives v0.6.1/go.mod h1:cVBiu3AHR9V31em9u2kwfMKD43ayN5/XDgr+cdaFaKs=
|
||||
github.com/ldez/grignotin v0.9.0 h1:MgOEmjZIVNn6p5wPaGp/0OKWyvq42KnzAt/DAb8O4Ow=
|
||||
github.com/ldez/grignotin v0.9.0/go.mod h1:uaVTr0SoZ1KBii33c47O1M8Jp3OP3YDwhZCmzT9GHEk=
|
||||
github.com/ldez/tagliatelle v0.7.1 h1:bTgKjjc2sQcsgPiT902+aadvMjCeMHrY7ly2XKFORIk=
|
||||
github.com/ldez/tagliatelle v0.7.1/go.mod h1:3zjxUpsNB2aEZScWiZTHrAXOl1x25t3cRmzfK1mlo2I=
|
||||
github.com/ldez/usetesting v0.4.2 h1:J2WwbrFGk3wx4cZwSMiCQQ00kjGR0+tuuyW0Lqm4lwA=
|
||||
github.com/ldez/usetesting v0.4.2/go.mod h1:eEs46T3PpQ+9RgN9VjpY6qWdiw2/QmfiDeWmdZdrjIQ=
|
||||
github.com/leonklingele/grouper v1.1.2 h1:o1ARBDLOmmasUaNDesWqWCIFH3u7hoFlM84YrjT3mIY=
|
||||
github.com/leonklingele/grouper v1.1.2/go.mod h1:6D0M/HVkhs2yRKRFZUoGjeDy7EZTfFBE9gl4kjmIGkA=
|
||||
github.com/lucasb-eyer/go-colorful v1.2.0 h1:1nnpGOrhyZZuNyfu1QjKiUICQ74+3FNCN69Aj6K7nkY=
|
||||
github.com/lucasb-eyer/go-colorful v1.2.0/go.mod h1:R4dSotOR9KMtayYi1e77YzuveK+i7ruzyGqttikkLy0=
|
||||
github.com/macabu/inamedparam v0.2.0 h1:VyPYpOc10nkhI2qeNUdh3Zket4fcZjEWe35poddBCpE=
|
||||
github.com/macabu/inamedparam v0.2.0/go.mod h1:+Pee9/YfGe5LJ62pYXqB89lJ+0k5bsR8Wgz/C0Zlq3U=
|
||||
github.com/maratori/testableexamples v1.0.0 h1:dU5alXRrD8WKSjOUnmJZuzdxWOEQ57+7s93SLMxb2vI=
|
||||
github.com/maratori/testableexamples v1.0.0/go.mod h1:4rhjL1n20TUTT4vdh3RDqSizKLyXp7K2u6HgraZCGzE=
|
||||
github.com/maratori/testpackage v1.1.1 h1:S58XVV5AD7HADMmD0fNnziNHqKvSdDuEKdPD1rNTU04=
|
||||
github.com/maratori/testpackage v1.1.1/go.mod h1:s4gRK/ym6AMrqpOa/kEbQTV4Q4jb7WeLZzVhVVVOQMc=
|
||||
github.com/matoous/godox v1.1.0 h1:W5mqwbyWrwZv6OQ5Z1a/DHGMOvXYCBP3+Ht7KMoJhq4=
|
||||
github.com/matoous/godox v1.1.0/go.mod h1:jgE/3fUXiTurkdHOLT5WEkThTSuE7yxHv5iWPa80afs=
|
||||
github.com/matryer/is v1.4.0/go.mod h1:8I/i5uYgLzgsgEloJE1U6xx5HkBQpAZvepWuujKwMRU=
|
||||
github.com/matryer/is v1.4.1 h1:55ehd8zaGABKLXQUe2awZ99BD/PTc2ls+KV/dXphgEQ=
|
||||
github.com/matryer/is v1.4.1/go.mod h1:8I/i5uYgLzgsgEloJE1U6xx5HkBQpAZvepWuujKwMRU=
|
||||
github.com/mattn/go-colorable v0.1.14 h1:9A9LHSqF/7dyVVX6g0U9cwm9pG3kP9gSzcuIPHPsaIE=
|
||||
github.com/mattn/go-colorable v0.1.14/go.mod h1:6LmQG8QLFO4G5z1gPvYEzlUgJ2wF+stgPZH1UqBm1s8=
|
||||
github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWEY=
|
||||
github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y=
|
||||
github.com/mattn/go-runewidth v0.0.9/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m2gUSrubnMI=
|
||||
github.com/mattn/go-runewidth v0.0.16 h1:E5ScNMtiwvlvB5paMFdw9p4kSQzbXFikJ5SQO6TULQc=
|
||||
github.com/mattn/go-runewidth v0.0.16/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w=
|
||||
github.com/mgechev/revive v1.7.0 h1:JyeQ4yO5K8aZhIKf5rec56u0376h8AlKNQEmjfkjKlY=
|
||||
github.com/mgechev/revive v1.7.0/go.mod h1:qZnwcNhoguE58dfi96IJeSTPeZQejNeoMQLUZGi4SW4=
|
||||
github.com/mitchellh/go-homedir v1.1.0 h1:lukF9ziXFxDFPkA1vsr5zpc1XuPDn/wFntq5mG+4E0Y=
|
||||
github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0=
|
||||
github.com/moricho/tparallel v0.3.2 h1:odr8aZVFA3NZrNybggMkYO3rgPRcqjeQUlBBFVxKHTI=
|
||||
github.com/moricho/tparallel v0.3.2/go.mod h1:OQ+K3b4Ln3l2TZveGCywybl68glfLEwFGqvnjok8b+U=
|
||||
github.com/muesli/termenv v0.16.0 h1:S5AlUN9dENB57rsbnkPyfdGuWIlkmzJjbFf0Tf5FWUc=
|
||||
github.com/muesli/termenv v0.16.0/go.mod h1:ZRfOIKPFDYQoDFF4Olj7/QJbW60Ol/kL1pU3VfY/Cnk=
|
||||
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA=
|
||||
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ=
|
||||
github.com/nakabonne/nestif v0.3.1 h1:wm28nZjhQY5HyYPx+weN3Q65k6ilSBxDb8v5S81B81U=
|
||||
github.com/nakabonne/nestif v0.3.1/go.mod h1:9EtoZochLn5iUprVDmDjqGKPofoUEBL8U4Ngq6aY7OE=
|
||||
github.com/nishanths/exhaustive v0.12.0 h1:vIY9sALmw6T/yxiASewa4TQcFsVYZQQRUQJhKRf3Swg=
|
||||
github.com/nishanths/exhaustive v0.12.0/go.mod h1:mEZ95wPIZW+x8kC4TgC+9YCUgiST7ecevsVDTgc2obs=
|
||||
github.com/nishanths/predeclared v0.2.2 h1:V2EPdZPliZymNAn79T8RkNApBjMmVKh5XRpLm/w98Vk=
|
||||
github.com/nishanths/predeclared v0.2.2/go.mod h1:RROzoN6TnGQupbC+lqggsOlcgysk3LMK/HI84Mp280c=
|
||||
github.com/nunnatsa/ginkgolinter v0.19.1 h1:mjwbOlDQxZi9Cal+KfbEJTCz327OLNfwNvoZ70NJ+c4=
|
||||
github.com/nunnatsa/ginkgolinter v0.19.1/go.mod h1:jkQ3naZDmxaZMXPWaS9rblH+i+GWXQCaS/JFIWcOH2s=
|
||||
github.com/olekukonko/tablewriter v0.0.5 h1:P2Ga83D34wi1o9J6Wh1mRuqd4mF/x/lgBS7N7AbDhec=
|
||||
github.com/olekukonko/tablewriter v0.0.5/go.mod h1:hPp6KlRPjbx+hW8ykQs1w3UBbZlj6HuIJcUGPhkA7kY=
|
||||
github.com/onsi/ginkgo/v2 v2.22.2 h1:/3X8Panh8/WwhU/3Ssa6rCKqPLuAkVY2I0RoyDLySlU=
|
||||
github.com/onsi/ginkgo/v2 v2.22.2/go.mod h1:oeMosUL+8LtarXBHu/c0bx2D/K9zyQ6uX3cTyztHwsk=
|
||||
github.com/onsi/gomega v1.36.2 h1:koNYke6TVk6ZmnyHrCXba/T/MoLBXFjeC1PtvYgw0A8=
|
||||
github.com/onsi/gomega v1.36.2/go.mod h1:DdwyADRjrc825LhMEkD76cHR5+pUnjhUN8GlHlRPHzY=
|
||||
github.com/otiai10/copy v1.2.0/go.mod h1:rrF5dJ5F0t/EWSYODDu4j9/vEeYHMkc8jt0zJChqQWw=
|
||||
github.com/otiai10/copy v1.14.0 h1:dCI/t1iTdYGtkvCuBG2BgR6KZa83PTclw4U5n2wAllU=
|
||||
github.com/otiai10/copy v1.14.0/go.mod h1:ECfuL02W+/FkTWZWgQqXPWZgW9oeKCSQ5qVfSc4qc4w=
|
||||
github.com/otiai10/curr v0.0.0-20150429015615-9b4961190c95/go.mod h1:9qAhocn7zKJG+0mI8eUu6xqkFDYS2kb2saOteoSB3cE=
|
||||
github.com/otiai10/curr v1.0.0/go.mod h1:LskTG5wDwr8Rs+nNQ+1LlxRjAtTZZjtJW4rMXl6j4vs=
|
||||
github.com/otiai10/mint v1.3.0/go.mod h1:F5AjcsTsWUqX+Na9fpHb52P8pcRX2CI6A3ctIT91xUo=
|
||||
github.com/otiai10/mint v1.3.1/go.mod h1:/yxELlJQ0ufhjUwhshSj+wFjZ78CnZ48/1wtmBH1OTc=
|
||||
github.com/pelletier/go-toml/v2 v2.2.3 h1:YmeHyLY8mFWbdkNWwpr+qIL2bEqT0o95WSdkNHvL12M=
|
||||
github.com/pelletier/go-toml/v2 v2.2.3/go.mod h1:MfCQTFTvCcUyyvvwm1+G6H/jORL20Xlb6rzQu9GuUkc=
|
||||
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
|
||||
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U=
|
||||
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
|
||||
github.com/polyfloyd/go-errorlint v1.7.1 h1:RyLVXIbosq1gBdk/pChWA8zWYLsq9UEw7a1L5TVMCnA=
|
||||
github.com/polyfloyd/go-errorlint v1.7.1/go.mod h1:aXjNb1x2TNhoLsk26iv1yl7a+zTnXPhwEMtEXukiLR8=
|
||||
github.com/prashantv/gostub v1.1.0 h1:BTyx3RfQjRHnUWaGF9oQos79AlQ5k8WNktv7VGvVH4g=
|
||||
github.com/prashantv/gostub v1.1.0/go.mod h1:A5zLQHz7ieHGG7is6LLXLz7I8+3LZzsrV0P1IAHhP5U=
|
||||
github.com/prometheus/client_golang v1.22.0 h1:rb93p9lokFEsctTys46VnV1kLCDpVZ0a/Y92Vm0Zc6Q=
|
||||
github.com/prometheus/client_golang v1.22.0/go.mod h1:R7ljNsLXhuQXYZYtw6GAE9AZg8Y7vEW5scdCXrWRXC0=
|
||||
github.com/prometheus/client_model v0.6.1 h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p8ais2e9E=
|
||||
github.com/prometheus/client_model v0.6.1/go.mod h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY=
|
||||
github.com/prometheus/common v0.63.0 h1:YR/EIY1o3mEFP/kZCD7iDMnLPlGyuU2Gb3HIcXnA98k=
|
||||
github.com/prometheus/common v0.63.0/go.mod h1:VVFF/fBIoToEnWRVkYoXEkq3R3paCoxG9PXP74SnV18=
|
||||
github.com/prometheus/procfs v0.16.1 h1:hZ15bTNuirocR6u0JZ6BAHHmwS1p8B4P6MRqxtzMyRg=
|
||||
github.com/prometheus/procfs v0.16.1/go.mod h1:teAbpZRB1iIAJYREa1LsoWUXykVXA1KlTmWl8x/U+Is=
|
||||
github.com/quasilyte/go-ruleguard v0.4.4 h1:53DncefIeLX3qEpjzlS1lyUmQoUEeOWPFWqaTJq9eAQ=
|
||||
github.com/quasilyte/go-ruleguard v0.4.4/go.mod h1:Vl05zJ538vcEEwu16V/Hdu7IYZWyKSwIy4c88Ro1kRE=
|
||||
github.com/quasilyte/go-ruleguard/dsl v0.3.22 h1:wd8zkOhSNr+I+8Qeciml08ivDt1pSXe60+5DqOpCjPE=
|
||||
github.com/quasilyte/go-ruleguard/dsl v0.3.22/go.mod h1:KeCP03KrjuSO0H1kTuZQCWlQPulDV6YMIXmpQss17rU=
|
||||
github.com/quasilyte/gogrep v0.5.0 h1:eTKODPXbI8ffJMN+W2aE0+oL0z/nh8/5eNdiO34SOAo=
|
||||
github.com/quasilyte/gogrep v0.5.0/go.mod h1:Cm9lpz9NZjEoL1tgZ2OgeUKPIxL1meE7eo60Z6Sk+Ng=
|
||||
github.com/quasilyte/regex/syntax v0.0.0-20210819130434-b3f0c404a727 h1:TCg2WBOl980XxGFEZSS6KlBGIV0diGdySzxATTWoqaU=
|
||||
github.com/quasilyte/regex/syntax v0.0.0-20210819130434-b3f0c404a727/go.mod h1:rlzQ04UMyJXu/aOvhd8qT+hvDrFpiwqp8MRXDY9szc0=
|
||||
github.com/quasilyte/stdinfo v0.0.0-20220114132959-f7386bf02567 h1:M8mH9eK4OUR4lu7Gd+PU1fV2/qnDNfzT635KRSObncs=
|
||||
github.com/quasilyte/stdinfo v0.0.0-20220114132959-f7386bf02567/go.mod h1:DWNGW8A4Y+GyBgPuaQJuWiy0XYftx4Xm/y5Jqk9I6VQ=
|
||||
github.com/raeperd/recvcheck v0.2.0 h1:GnU+NsbiCqdC2XX5+vMZzP+jAJC5fht7rcVTAhX74UI=
|
||||
github.com/raeperd/recvcheck v0.2.0/go.mod h1:n04eYkwIR0JbgD73wT8wL4JjPC3wm0nFtzBnWNocnYU=
|
||||
github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc=
|
||||
github.com/rivo/uniseg v0.4.7 h1:WUdvkW8uEhrYfLC4ZzdpI2ztxP1I582+49Oc5Mq64VQ=
|
||||
github.com/rivo/uniseg v0.4.7/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUcx88=
|
||||
github.com/rogpeppe/go-internal v1.14.1 h1:UQB4HGPB6osV0SQTLymcB4TgvyWu6ZyliaW0tI/otEQ=
|
||||
github.com/rogpeppe/go-internal v1.14.1/go.mod h1:MaRKkUm5W0goXpeCfT7UZI6fk/L7L7so1lCWt35ZSgc=
|
||||
github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
|
||||
github.com/ryancurrah/gomodguard v1.4.1 h1:eWC8eUMNZ/wM/PWuZBv7JxxqT5fiIKSIyTvjb7Elr+g=
|
||||
github.com/ryancurrah/gomodguard v1.4.1/go.mod h1:qnMJwV1hX9m+YJseXEBhd2s90+1Xn6x9dLz11ualI1I=
|
||||
github.com/ryanrolds/sqlclosecheck v0.5.1 h1:dibWW826u0P8jNLsLN+En7+RqWWTYrjCB9fJfSfdyCU=
|
||||
github.com/ryanrolds/sqlclosecheck v0.5.1/go.mod h1:2g3dUjoS6AL4huFdv6wn55WpLIDjY7ZgUR4J8HOO/XQ=
|
||||
github.com/sagikazarmark/locafero v0.7.0 h1:5MqpDsTGNDhY8sGp0Aowyf0qKsPrhewaLSsFaodPcyo=
|
||||
github.com/sagikazarmark/locafero v0.7.0/go.mod h1:2za3Cg5rMaTMoG/2Ulr9AwtFaIppKXTRYnozin4aB5k=
|
||||
github.com/sanposhiho/wastedassign/v2 v2.1.0 h1:crurBF7fJKIORrV85u9UUpePDYGWnwvv3+A96WvwXT0=
|
||||
github.com/sanposhiho/wastedassign/v2 v2.1.0/go.mod h1:+oSmSC+9bQ+VUAxA66nBb0Z7N8CK7mscKTDYC6aIek4=
|
||||
github.com/santhosh-tekuri/jsonschema/v6 v6.0.1 h1:PKK9DyHxif4LZo+uQSgXNqs0jj5+xZwwfKHgph2lxBw=
|
||||
github.com/santhosh-tekuri/jsonschema/v6 v6.0.1/go.mod h1:JXeL+ps8p7/KNMjDQk3TCwPpBy0wYklyWTfbkIzdIFU=
|
||||
github.com/sashamelentyev/interfacebloat v1.1.0 h1:xdRdJp0irL086OyW1H/RTZTr1h/tMEOsumirXcOJqAw=
|
||||
github.com/sashamelentyev/interfacebloat v1.1.0/go.mod h1:+Y9yU5YdTkrNvoX0xHc84dxiN1iBi9+G8zZIhPVoNjQ=
|
||||
github.com/sashamelentyev/usestdlibvars v1.28.0 h1:jZnudE2zKCtYlGzLVreNp5pmCdOxXUzwsMDBkR21cyQ=
|
||||
github.com/sashamelentyev/usestdlibvars v1.28.0/go.mod h1:9nl0jgOfHKWNFS43Ojw0i7aRoS4j6EBye3YBhmAIRF8=
|
||||
github.com/securego/gosec/v2 v2.22.2 h1:IXbuI7cJninj0nRpZSLCUlotsj8jGusohfONMrHoF6g=
|
||||
github.com/securego/gosec/v2 v2.22.2/go.mod h1:UEBGA+dSKb+VqM6TdehR7lnQtIIMorYJ4/9CW1KVQBE=
|
||||
github.com/sergi/go-diff v1.3.2-0.20230802210424-5b0b94c5c0d3 h1:n661drycOFuPLCN3Uc8sB6B/s6Z4t2xvBgU1htSHuq8=
|
||||
github.com/sergi/go-diff v1.3.2-0.20230802210424-5b0b94c5c0d3/go.mod h1:A0bzQcvG0E7Rwjx0REVgAGH58e96+X0MeOfepqsbeW4=
|
||||
github.com/shurcooL/go v0.0.0-20180423040247-9e1955d9fb6e/go.mod h1:TDJrrUr11Vxrven61rcy3hJMUqaf/CLWYhHNPmT14Lk=
|
||||
github.com/shurcooL/go-goon v0.0.0-20170922171312-37c2f522c041/go.mod h1:N5mDOmsrJOB+vfqUK+7DmDyjhSLIIBnXo9lvZJj3MWQ=
|
||||
github.com/sirupsen/logrus v1.9.3 h1:dueUQJ1C2q9oE3F7wvmSGAaVtTmUizReu6fjN8uqzbQ=
|
||||
github.com/sirupsen/logrus v1.9.3/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ=
|
||||
github.com/sivchari/containedctx v1.0.3 h1:x+etemjbsh2fB5ewm5FeLNi5bUjK0V8n0RB+Wwfd0XE=
|
||||
github.com/sivchari/containedctx v1.0.3/go.mod h1:c1RDvCbnJLtH4lLcYD/GqwiBSSf4F5Qk0xld2rBqzJ4=
|
||||
github.com/sonatard/noctx v0.1.0 h1:JjqOc2WN16ISWAjAk8M5ej0RfExEXtkEyExl2hLW+OM=
|
||||
github.com/sonatard/noctx v0.1.0/go.mod h1:0RvBxqY8D4j9cTTTWE8ylt2vqj2EPI8fHmrxHdsaZ2c=
|
||||
github.com/sourcegraph/conc v0.3.0 h1:OQTbbt6P72L20UqAkXXuLOj79LfEanQ+YQFNpLA9ySo=
|
||||
github.com/sourcegraph/conc v0.3.0/go.mod h1:Sdozi7LEKbFPqYX2/J+iBAM6HpqSLTASQIKqDmF7Mt0=
|
||||
github.com/sourcegraph/go-diff v0.7.0 h1:9uLlrd5T46OXs5qpp8L/MTltk0zikUGi0sNNyCpA8G0=
|
||||
github.com/sourcegraph/go-diff v0.7.0/go.mod h1:iBszgVvyxdc8SFZ7gm69go2KDdt3ag071iBaWPF6cjs=
|
||||
github.com/spf13/afero v1.12.0 h1:UcOPyRBYczmFn6yvphxkn9ZEOY65cpwGKb5mL36mrqs=
|
||||
github.com/spf13/afero v1.12.0/go.mod h1:ZTlWwG4/ahT8W7T0WQ5uYmjI9duaLQGy3Q2OAl4sk/4=
|
||||
github.com/spf13/cast v1.7.1 h1:cuNEagBQEHWN1FnbGEjCXL2szYEXqfJPbP2HNUaca9Y=
|
||||
github.com/spf13/cast v1.7.1/go.mod h1:ancEpBxwJDODSW/UG4rDrAqiKolqNNh2DX3mk86cAdo=
|
||||
github.com/spf13/cobra v1.9.1 h1:CXSaggrXdbHK9CF+8ywj8Amf7PBRmPCOJugH954Nnlo=
|
||||
github.com/spf13/cobra v1.9.1/go.mod h1:nDyEzZ8ogv936Cinf6g1RU9MRY64Ir93oCnqb9wxYW0=
|
||||
github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg=
|
||||
github.com/spf13/pflag v1.0.6 h1:jFzHGLGAlb3ruxLB8MhbI6A8+AQX/2eW4qeyNZXNp2o=
|
||||
github.com/spf13/pflag v1.0.6/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg=
|
||||
github.com/spf13/viper v1.20.1 h1:ZMi+z/lvLyPSCoNtFCpqjy0S4kPbirhpTMwl8BkW9X4=
|
||||
github.com/spf13/viper v1.20.1/go.mod h1:P9Mdzt1zoHIG8m2eZQinpiBjo6kCmZSKBClNNqjJvu4=
|
||||
github.com/ssgreg/nlreturn/v2 v2.2.1 h1:X4XDI7jstt3ySqGU86YGAURbxw3oTDPK9sPEi6YEwQ0=
|
||||
github.com/ssgreg/nlreturn/v2 v2.2.1/go.mod h1:E/iiPB78hV7Szg2YfRgyIrk1AD6JVMTRkkxBiELzh2I=
|
||||
github.com/stbenjam/no-sprintf-host-port v0.2.0 h1:i8pxvGrt1+4G0czLr/WnmyH7zbZ8Bg8etvARQ1rpyl4=
|
||||
github.com/stbenjam/no-sprintf-host-port v0.2.0/go.mod h1:eL0bQ9PasS0hsyTyfTjjG+E80QIyPnBVQbYZyv20Jfk=
|
||||
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
|
||||
github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw=
|
||||
github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo=
|
||||
github.com/stretchr/objx v0.5.2 h1:xuMeJ0Sdp5ZMRXx/aWO6RZxdr3beISkG5/G/aIRr3pY=
|
||||
github.com/stretchr/objx v0.5.2/go.mod h1:FRsXN1f5AsAjCGJKqEizvkpNtU+EGNCLh3NxZ/8L+MA=
|
||||
github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
|
||||
github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4=
|
||||
github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA=
|
||||
github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
|
||||
github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
|
||||
github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU=
|
||||
github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo=
|
||||
github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOfJA=
|
||||
github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
|
||||
github.com/subosito/gotenv v1.6.0 h1:9NlTDc1FTs4qu0DDq7AEtTPNw6SVm7uBMsUCUjABIf8=
|
||||
github.com/subosito/gotenv v1.6.0/go.mod h1:Dk4QP5c2W3ibzajGcXpNraDfq2IrhjMIvMSWPKKo0FU=
|
||||
github.com/tdakkota/asciicheck v0.4.1 h1:bm0tbcmi0jezRA2b5kg4ozmMuGAFotKI3RZfrhfovg8=
|
||||
github.com/tdakkota/asciicheck v0.4.1/go.mod h1:0k7M3rCfRXb0Z6bwgvkEIMleKH3kXNz9UqJ9Xuqopr8=
|
||||
github.com/tenntenn/modver v1.0.1 h1:2klLppGhDgzJrScMpkj9Ujy3rXPUspSjAcev9tSEBgA=
|
||||
github.com/tenntenn/modver v1.0.1/go.mod h1:bePIyQPb7UeioSRkw3Q0XeMhYZSMx9B8ePqg6SAMGH0=
|
||||
github.com/tenntenn/text/transform v0.0.0-20200319021203-7eef512accb3 h1:f+jULpRQGxTSkNYKJ51yaw6ChIqO+Je8UqsTKN/cDag=
|
||||
github.com/tenntenn/text/transform v0.0.0-20200319021203-7eef512accb3/go.mod h1:ON8b8w4BN/kE1EOhwT0o+d62W65a6aPw1nouo9LMgyY=
|
||||
github.com/tetafro/godot v1.5.0 h1:aNwfVI4I3+gdxjMgYPus9eHmoBeJIbnajOyqZYStzuw=
|
||||
github.com/tetafro/godot v1.5.0/go.mod h1:2oVxTBSftRTh4+MVfUaUXR6bn2GDXCaMcOG4Dk3rfio=
|
||||
github.com/timakin/bodyclose v0.0.0-20241222091800-1db5c5ca4d67 h1:9LPGD+jzxMlnk5r6+hJnar67cgpDIz/iyD+rfl5r2Vk=
|
||||
github.com/timakin/bodyclose v0.0.0-20241222091800-1db5c5ca4d67/go.mod h1:mkjARE7Yr8qU23YcGMSALbIxTQ9r9QBVahQOBRfU460=
|
||||
github.com/timonwong/loggercheck v0.10.1 h1:uVZYClxQFpw55eh+PIoqM7uAOHMrhVcDoWDery9R8Lg=
|
||||
github.com/timonwong/loggercheck v0.10.1/go.mod h1:HEAWU8djynujaAVX7QI65Myb8qgfcZ1uKbdpg3ZzKl8=
|
||||
github.com/tomarrell/wrapcheck/v2 v2.10.0 h1:SzRCryzy4IrAH7bVGG4cK40tNUhmVmMDuJujy4XwYDg=
|
||||
github.com/tomarrell/wrapcheck/v2 v2.10.0/go.mod h1:g9vNIyhb5/9TQgumxQyOEqDHsmGYcGsVMOx/xGkqdMo=
|
||||
github.com/tommy-muehle/go-mnd/v2 v2.5.1 h1:NowYhSdyE/1zwK9QCLeRb6USWdoif80Ie+v+yU8u1Zw=
|
||||
github.com/tommy-muehle/go-mnd/v2 v2.5.1/go.mod h1:WsUAkMJMYww6l/ufffCD3m+P7LEvr8TnZn9lwVDlgzw=
|
||||
github.com/ultraware/funlen v0.2.0 h1:gCHmCn+d2/1SemTdYMiKLAHFYxTYz7z9VIDRaTGyLkI=
|
||||
github.com/ultraware/funlen v0.2.0/go.mod h1:ZE0q4TsJ8T1SQcjmkhN/w+MceuatI6pBFSxxyteHIJA=
|
||||
github.com/ultraware/whitespace v0.2.0 h1:TYowo2m9Nfj1baEQBjuHzvMRbp19i+RCcRYrSWoFa+g=
|
||||
github.com/ultraware/whitespace v0.2.0/go.mod h1:XcP1RLD81eV4BW8UhQlpaR+SDc2givTvyI8a586WjW8=
|
||||
github.com/uudashr/gocognit v1.2.0 h1:3BU9aMr1xbhPlvJLSydKwdLN3tEUUrzPSSM8S4hDYRA=
|
||||
github.com/uudashr/gocognit v1.2.0/go.mod h1:k/DdKPI6XBZO1q7HgoV2juESI2/Ofj9AcHPZhBBdrTU=
|
||||
github.com/uudashr/iface v1.3.1 h1:bA51vmVx1UIhiIsQFSNq6GZ6VPTk3WNMZgRiCe9R29U=
|
||||
github.com/uudashr/iface v1.3.1/go.mod h1:4QvspiRd3JLPAEXBQ9AiZpLbJlrWWgRChOKDJEuQTdg=
|
||||
github.com/xen0n/gosmopolitan v1.3.0 h1:zAZI1zefvo7gcpbCOrPSHJZJYA9ZgLfJqtKzZ5pHqQM=
|
||||
github.com/xen0n/gosmopolitan v1.3.0/go.mod h1:rckfr5T6o4lBtM1ga7mLGKZmLxswUoH1zxHgNXOsEt4=
|
||||
github.com/xo/terminfo v0.0.0-20220910002029-abceb7e1c41e h1:JVG44RsyaB9T2KIHavMF/ppJZNG9ZpyihvCd0w101no=
|
||||
github.com/xo/terminfo v0.0.0-20220910002029-abceb7e1c41e/go.mod h1:RbqR21r5mrJuqunuUZ/Dhy/avygyECGrLceyNeo4LiM=
|
||||
github.com/yagipy/maintidx v1.0.0 h1:h5NvIsCz+nRDapQ0exNv4aJ0yXSI0420omVANTv3GJM=
|
||||
github.com/yagipy/maintidx v1.0.0/go.mod h1:0qNf/I/CCZXSMhsRsrEPDZ+DkekpKLXAJfsTACwgXLk=
|
||||
github.com/yeya24/promlinter v0.3.0 h1:JVDbMp08lVCP7Y6NP3qHroGAO6z2yGKQtS5JsjqtoFs=
|
||||
github.com/yeya24/promlinter v0.3.0/go.mod h1:cDfJQQYv9uYciW60QT0eeHlFodotkYZlL+YcPQN+mW4=
|
||||
github.com/ykadowak/zerologlint v0.1.5 h1:Gy/fMz1dFQN9JZTPjv1hxEk+sRWm05row04Yoolgdiw=
|
||||
github.com/ykadowak/zerologlint v0.1.5/go.mod h1:KaUskqF3e/v59oPmdq1U1DnKcuHokl2/K1U4pmIELKg=
|
||||
github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
|
||||
github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
|
||||
github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
|
||||
github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k=
|
||||
github.com/yuin/goldmark v1.4.1/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k=
|
||||
github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY=
|
||||
gitlab.com/bosi/decorder v0.4.2 h1:qbQaV3zgwnBZ4zPMhGLW4KZe7A7NwxEhJx39R3shffo=
|
||||
gitlab.com/bosi/decorder v0.4.2/go.mod h1:muuhHoaJkA9QLcYHq4Mj8FJUwDZ+EirSHRiaTcTf6T8=
|
||||
go-simpler.org/assert v0.9.0 h1:PfpmcSvL7yAnWyChSjOz6Sp6m9j5lyK8Ok9pEL31YkQ=
|
||||
go-simpler.org/assert v0.9.0/go.mod h1:74Eqh5eI6vCK6Y5l3PI8ZYFXG4Sa+tkr70OIPJAUr28=
|
||||
go-simpler.org/musttag v0.13.0 h1:Q/YAW0AHvaoaIbsPj3bvEI5/QFP7w696IMUpnKXQfCE=
|
||||
go-simpler.org/musttag v0.13.0/go.mod h1:FTzIGeK6OkKlUDVpj0iQUXZLUO1Js9+mvykDQy9C5yM=
|
||||
go-simpler.org/sloglint v0.9.0 h1:/40NQtjRx9txvsB/RN022KsUJU+zaaSb/9q9BSefSrE=
|
||||
go-simpler.org/sloglint v0.9.0/go.mod h1:G/OrAF6uxj48sHahCzrbarVMptL2kjWTaUeC8+fOGww=
|
||||
go.uber.org/automaxprocs v1.6.0 h1:O3y2/QNTOdbF+e/dpXNNW7Rx2hZ4sTIPyybbxyNqTUs=
|
||||
go.uber.org/automaxprocs v1.6.0/go.mod h1:ifeIMSnPZuznNm6jmdzmU3/bfk01Fe2fotchwEFJ8r8=
|
||||
go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto=
|
||||
go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE=
|
||||
go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0=
|
||||
go.uber.org/multierr v1.11.0/go.mod h1:20+QtiLqy0Nd6FdQB9TLXag12DsQkrbs3htMFfDN80Y=
|
||||
go.uber.org/zap v1.27.0 h1:aJMhYGrd5QSmlpLMr2MftRKl7t8J8PTZPA732ud/XR8=
|
||||
go.uber.org/zap v1.27.0/go.mod h1:GB2qFLM7cTU87MWRP2mPIjqfIDnGu+VIO4V/SdhGo2E=
|
||||
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
|
||||
golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
|
||||
golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
|
||||
golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
|
||||
golang.org/x/crypto v0.13.0/go.mod h1:y6Z2r+Rw4iayiXXAIxJIDAJ1zMW4yaTpebo8fPOliYc=
|
||||
golang.org/x/crypto v0.14.0/go.mod h1:MVFd36DqK4CsrnJYDkBA3VC4m2GkXAM0PvzMCn4JQf4=
|
||||
golang.org/x/exp v0.0.0-20250506013437-ce4c2cf36ca6 h1:y5zboxd6LQAqYIhHnB48p0ByQ/GnQx2BE33L8BOHQkI=
|
||||
golang.org/x/exp v0.0.0-20250506013437-ce4c2cf36ca6/go.mod h1:U6Lno4MTRCDY+Ba7aCcauB9T60gsv5s4ralQzP72ZoQ=
|
||||
golang.org/x/exp/typeparams v0.0.0-20220428152302-39d4317da171/go.mod h1:AbB0pIl9nAr9wVwH+Z2ZpaocVmF5I4GyWCDIsVjR0bk=
|
||||
golang.org/x/exp/typeparams v0.0.0-20230203172020-98cc5a0785f9/go.mod h1:AbB0pIl9nAr9wVwH+Z2ZpaocVmF5I4GyWCDIsVjR0bk=
|
||||
golang.org/x/exp/typeparams v0.0.0-20250210185358-939b2ce775ac h1:TSSpLIG4v+p0rPv1pNOQtl1I8knsO4S9trOxNMOLVP4=
|
||||
golang.org/x/exp/typeparams v0.0.0-20250210185358-939b2ce775ac/go.mod h1:AbB0pIl9nAr9wVwH+Z2ZpaocVmF5I4GyWCDIsVjR0bk=
|
||||
golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
|
||||
golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
|
||||
golang.org/x/mod v0.4.1/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
|
||||
golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
|
||||
golang.org/x/mod v0.6.0-dev.0.20220106191415-9b9b3d81d5e3/go.mod h1:3p9vT2HGsQu2K1YbXdKPJLVgG5VJdoTa1poYQBtP1AY=
|
||||
golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4=
|
||||
golang.org/x/mod v0.7.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs=
|
||||
golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs=
|
||||
golang.org/x/mod v0.9.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs=
|
||||
golang.org/x/mod v0.12.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs=
|
||||
golang.org/x/mod v0.13.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c=
|
||||
golang.org/x/mod v0.25.0 h1:n7a+ZbQKQA/Ysbyb0/6IbB1H/X41mKgbhfv7AfG/44w=
|
||||
golang.org/x/mod v0.25.0/go.mod h1:IXM97Txy2VM4PJ3gI61r1YEk/gAj6zAHN3AdZt6S9Ww=
|
||||
golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
|
||||
golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
|
||||
golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
|
||||
golang.org/x/net v0.0.0-20200625001655-4c5254603344/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA=
|
||||
golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
|
||||
golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
|
||||
golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM=
|
||||
golang.org/x/net v0.0.0-20211015210444-4f30a5c0130f/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
|
||||
golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c=
|
||||
golang.org/x/net v0.2.0/go.mod h1:KqCZLdyyvdV855qA2rE3GC2aiw5xGR5TEjj8smXukLY=
|
||||
golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs=
|
||||
golang.org/x/net v0.8.0/go.mod h1:QVkue5JL9kW//ek3r6jTKnTFis1tRmNAW2P1shuFdJc=
|
||||
golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg=
|
||||
golang.org/x/net v0.15.0/go.mod h1:idbUs1IY1+zTqbi8yxTbhexhEEk5ur9LInksu6HrEpk=
|
||||
golang.org/x/net v0.16.0/go.mod h1:NxSsAGuq816PNPmqtQdLE42eU2Fs7NoRIZrHJAlaCOE=
|
||||
golang.org/x/net v0.41.0 h1:vBTly1HeNPEn3wtREYfy4GZ/NECgw2Cnl+nK6Nz3uvw=
|
||||
golang.org/x/net v0.41.0/go.mod h1:B/K4NNqkfmg07DQYrbwvSluqCJOOXwUjeb/5lOisjbA=
|
||||
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||
golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||
golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||
golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||
golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||
golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||
golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||
golang.org/x/sync v0.3.0/go.mod h1:FU7BRWz2tNW+3quACPkgCx/L+uEAv1htQ0V83Z9Rj+Y=
|
||||
golang.org/x/sync v0.4.0/go.mod h1:FU7BRWz2tNW+3quACPkgCx/L+uEAv1htQ0V83Z9Rj+Y=
|
||||
golang.org/x/sync v0.15.0 h1:KWH3jNZsfyT6xfAfKiz6MRNmd46ByHDYaZ7KSkCtdW8=
|
||||
golang.org/x/sync v0.15.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA=
|
||||
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||
golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.0.0-20211019181941-9d821ace8654/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.0.0-20211105183446-c75c47738b0c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.2.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.12.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.13.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.33.0 h1:q3i8TbbEz+JRD9ywIRlyRAQbM0qF7hu24q3teo2hbuw=
|
||||
golang.org/x/sys v0.33.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k=
|
||||
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
|
||||
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
|
||||
golang.org/x/term v0.2.0/go.mod h1:TVmDHMZPmdnySmBfhjOoOdhjzdE1h4u1VwSiw2l1Nuc=
|
||||
golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k=
|
||||
golang.org/x/term v0.6.0/go.mod h1:m6U89DPEgQRMq3DNkDClhWw02AUbt2daBVO4cn4Hv9U=
|
||||
golang.org/x/term v0.8.0/go.mod h1:xPskH00ivmX89bAKVGSKKtLOWNx2+17Eiy94tnKShWo=
|
||||
golang.org/x/term v0.12.0/go.mod h1:owVbMEjm3cBLCHdkQu9b1opXd4ETQWc3BhuQGKgXgvU=
|
||||
golang.org/x/term v0.13.0/go.mod h1:LTmsnFJwVN6bCy1rVCoS+qHT1HhALEFxKncY3WNNh4U=
|
||||
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
|
||||
golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk=
|
||||
golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
|
||||
golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
|
||||
golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
|
||||
golang.org/x/text v0.4.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
|
||||
golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
|
||||
golang.org/x/text v0.8.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8=
|
||||
golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8=
|
||||
golang.org/x/text v0.13.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE=
|
||||
golang.org/x/text v0.26.0 h1:P42AVeLghgTYr4+xUnTRKDMqpar+PtX7KWuNQL21L8M=
|
||||
golang.org/x/text v0.26.0/go.mod h1:QK15LZJUUQVJxhz7wXgxSy/CJaTFjd0G+YLonydOVQA=
|
||||
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
||||
golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
|
||||
golang.org/x/tools v0.0.0-20200324003944-a576cf524670/go.mod h1:Sl4aGygMT6LrqrWclx+PTx3U+LnKx/seiNR+3G19Ar8=
|
||||
golang.org/x/tools v0.0.0-20200329025819-fd4102a86c65/go.mod h1:Sl4aGygMT6LrqrWclx+PTx3U+LnKx/seiNR+3G19Ar8=
|
||||
golang.org/x/tools v0.0.0-20200724022722-7017fd6b1305/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA=
|
||||
golang.org/x/tools v0.0.0-20200820010801-b793a1359eac/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA=
|
||||
golang.org/x/tools v0.0.0-20201023174141-c8cfbd0f21e6/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
|
||||
golang.org/x/tools v0.1.1-0.20210205202024-ef80cdb6ec6d/go.mod h1:9bzcO0MWcOuT0tm1iBGzDVPshzfwoVvREIui8C+MHqU=
|
||||
golang.org/x/tools v0.1.1-0.20210302220138-2ac05c832e1a/go.mod h1:9bzcO0MWcOuT0tm1iBGzDVPshzfwoVvREIui8C+MHqU=
|
||||
golang.org/x/tools v0.1.1/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk=
|
||||
golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk=
|
||||
golang.org/x/tools v0.1.10/go.mod h1:Uh6Zz+xoGYZom868N8YTex3t7RhtHDBrE8Gzo9bV56E=
|
||||
golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc=
|
||||
golang.org/x/tools v0.3.0/go.mod h1:/rWhSS2+zyEVwoJf8YAX6L2f0ntZ7Kn/mGgAWcipA5k=
|
||||
golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU=
|
||||
golang.org/x/tools v0.7.0/go.mod h1:4pg6aUX35JBAogB10C9AtvVL+qowtN4pT3CGSQex14s=
|
||||
golang.org/x/tools v0.13.0/go.mod h1:HvlwmtVNQAhOuCjW7xxvovg8wbNq7LwfXh/k7wXUl58=
|
||||
golang.org/x/tools v0.14.0/go.mod h1:uYBEerGOWcJyEORxN+Ek8+TT266gXkNlHdJBwexUsBg=
|
||||
golang.org/x/tools v0.34.0 h1:qIpSLOxeCYGg9TrcJokLBG4KFA6d795g0xkBkiESGlo=
|
||||
golang.org/x/tools v0.34.0/go.mod h1:pAP9OwEaY1CAW3HOmg3hLZC5Z0CCmzjAF2UQMSqNARg=
|
||||
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
||||
golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
||||
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
||||
golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
||||
google.golang.org/protobuf v1.36.6 h1:z1NpPI8ku2WgiWnf+t9wTPsn6eP1L7ksHUlkfLvd9xY=
|
||||
google.golang.org/protobuf v1.36.6/go.mod h1:jduwjTPXsFjZGTmRluh+L6NjiWu7pchiJ2/5YcXBHnY=
|
||||
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
||||
gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
||||
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk=
|
||||
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q=
|
||||
gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
|
||||
gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY=
|
||||
gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ=
|
||||
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
|
||||
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
|
||||
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
|
||||
honnef.co/go/tools v0.6.1 h1:R094WgE8K4JirYjBaOpz/AvTyUu/3wbmAoskKN/pxTI=
|
||||
honnef.co/go/tools v0.6.1/go.mod h1:3puzxxljPCe8RGJX7BIy1plGbxEOZni5mR2aXe3/uk4=
|
||||
mvdan.cc/gofumpt v0.7.0 h1:bg91ttqXmi9y2xawvkuMXyvAA/1ZGJqYAEGjXuP0JXU=
|
||||
mvdan.cc/gofumpt v0.7.0/go.mod h1:txVFJy/Sc/mvaycET54pV8SW8gWxTlUuGHVEcncmNUo=
|
||||
mvdan.cc/unparam v0.0.0-20250301125049-0df0534333a4 h1:WjUu4yQoT5BHT1w8Zu56SP8367OuBV5jvo+4Ulppyf8=
|
||||
mvdan.cc/unparam v0.0.0-20250301125049-0df0534333a4/go.mod h1:rthT7OuvRbaGcd5ginj6dA2oLE7YNlta9qhBNNdCaLE=
|
||||
20
.citools/jb/go.mod
Normal file
20
.citools/jb/go.mod
Normal file
@@ -0,0 +1,20 @@
|
||||
module jb
|
||||
|
||||
go 1.24.5
|
||||
|
||||
tool github.com/jsonnet-bundler/jsonnet-bundler/cmd/jb
|
||||
|
||||
require (
|
||||
github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751 // indirect
|
||||
github.com/alecthomas/units v0.0.0-20240927000941-0f3dac36c52b // indirect
|
||||
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect
|
||||
github.com/fatih/color v1.18.0 // indirect
|
||||
github.com/jsonnet-bundler/jsonnet-bundler v0.5.1 // indirect
|
||||
github.com/mattn/go-colorable v0.1.14 // indirect
|
||||
github.com/mattn/go-isatty v0.0.20 // indirect
|
||||
github.com/pkg/errors v0.9.1 // indirect
|
||||
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect
|
||||
github.com/stretchr/testify v1.10.0 // indirect
|
||||
golang.org/x/sys v0.33.0 // indirect
|
||||
gopkg.in/alecthomas/kingpin.v2 v2.2.6 // indirect
|
||||
)
|
||||
68
.citools/jb/go.sum
Normal file
68
.citools/jb/go.sum
Normal file
@@ -0,0 +1,68 @@
|
||||
github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751 h1:JYp7IbQjafoB+tBA3gMyHYHrpOtNuDiK/uB5uXxq5wM=
|
||||
github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc=
|
||||
github.com/alecthomas/units v0.0.0-20211218093645-b94a6e3cc137/go.mod h1:OMCwj8VM1Kc9e19TLln2VL61YJF0x1XFtfdL4JdbSyE=
|
||||
github.com/alecthomas/units v0.0.0-20240927000941-0f3dac36c52b h1:mimo19zliBX/vSQ6PWWSL9lK8qwHozUj03+zLoEB8O0=
|
||||
github.com/alecthomas/units v0.0.0-20240927000941-0f3dac36c52b/go.mod h1:fvzegU4vN3H1qMT+8wDmzjAcDONcgo2/SZ/TyfdUOFs=
|
||||
github.com/campoy/embedmd v1.0.0/go.mod h1:oxyr9RCiSXg0M3VJ3ks0UGfp98BpSSGr0kpiX3MzVl8=
|
||||
github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E=
|
||||
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
||||
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
||||
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM=
|
||||
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
||||
github.com/fatih/color v1.13.0/go.mod h1:kLAiJbzzSOZDVNGyDpeOxJ47H46qBXwg5ILebYFFOfk=
|
||||
github.com/fatih/color v1.18.0 h1:S8gINlzdQ840/4pfAwic/ZE0djQEH3wM94VfqLTZcOM=
|
||||
github.com/fatih/color v1.18.0/go.mod h1:4FelSpRwEGDpQ12mAdzqdOukCy4u8WUtOY6lkT/6HfU=
|
||||
github.com/jsonnet-bundler/jsonnet-bundler v0.5.1 h1:eUd6EA1Qzz73Q4NLNLOrNkMb96+6NTTERbX9lqaxVwk=
|
||||
github.com/jsonnet-bundler/jsonnet-bundler v0.5.1/go.mod h1:Qrdw/7mOFS2SKCOALKFfEH8gdvXJi8XZjw9g5ilpf4I=
|
||||
github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
|
||||
github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI=
|
||||
github.com/kr/pretty v0.3.0/go.mod h1:640gp4NfQd8pI5XOwp5fnNeVWj67G7CFk/SaSQn7NBk=
|
||||
github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
|
||||
github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
|
||||
github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
|
||||
github.com/mattn/go-colorable v0.1.9/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc=
|
||||
github.com/mattn/go-colorable v0.1.12/go.mod h1:u5H1YNBxpqRaxsYJYSkiCWKzEfiAb1Gb520KVy5xxl4=
|
||||
github.com/mattn/go-colorable v0.1.14 h1:9A9LHSqF/7dyVVX6g0U9cwm9pG3kP9gSzcuIPHPsaIE=
|
||||
github.com/mattn/go-colorable v0.1.14/go.mod h1:6LmQG8QLFO4G5z1gPvYEzlUgJ2wF+stgPZH1UqBm1s8=
|
||||
github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU=
|
||||
github.com/mattn/go-isatty v0.0.14/go.mod h1:7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27kJ6hsGG94=
|
||||
github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWEY=
|
||||
github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y=
|
||||
github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e/go.mod h1:pJLUxLENpZxwdsKMEsNbx1VGcRFpLqf3715MtcvvzbA=
|
||||
github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4=
|
||||
github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
|
||||
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
|
||||
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U=
|
||||
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
|
||||
github.com/rogpeppe/go-internal v1.6.1/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc=
|
||||
github.com/rogpeppe/go-internal v1.8.1/go.mod h1:JeRgkft04UBgHMgCIwADu4Pn6Mtm5d4nPKWu0nJ5d+o=
|
||||
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
|
||||
github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw=
|
||||
github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo=
|
||||
github.com/stretchr/objx v0.5.2/go.mod h1:FRsXN1f5AsAjCGJKqEizvkpNtU+EGNCLh3NxZ/8L+MA=
|
||||
github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4=
|
||||
github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
|
||||
github.com/stretchr/testify v1.7.4/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU=
|
||||
github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU=
|
||||
github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo=
|
||||
github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
|
||||
github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOfJA=
|
||||
github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
|
||||
golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.0.0-20210927094055-39ccf1dd6fa6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.0.0-20220615213510-4f61da869c0c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.33.0 h1:q3i8TbbEz+JRD9ywIRlyRAQbM0qF7hu24q3teo2hbuw=
|
||||
golang.org/x/sys v0.33.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k=
|
||||
gopkg.in/alecthomas/kingpin.v2 v2.2.6 h1:jMFz6MfLP0/4fUyZle81rXUoxOBFi19VUFKVDOQfozc=
|
||||
gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw=
|
||||
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
||||
gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
||||
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q=
|
||||
gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI=
|
||||
gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
|
||||
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
|
||||
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
|
||||
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
|
||||
53
.citools/lefthook/go.mod
Normal file
53
.citools/lefthook/go.mod
Normal file
@@ -0,0 +1,53 @@
|
||||
module lefthook
|
||||
|
||||
go 1.24.5
|
||||
|
||||
tool github.com/evilmartians/lefthook
|
||||
|
||||
require (
|
||||
github.com/MakeNowJust/heredoc v1.0.0 // indirect
|
||||
github.com/aymanbagabas/go-osc52/v2 v2.0.1 // indirect
|
||||
github.com/briandowns/spinner v1.23.0 // 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/creack/pty v1.1.18 // indirect
|
||||
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect
|
||||
github.com/evilmartians/lefthook v1.4.8 // indirect
|
||||
github.com/fatih/color v1.18.0 // indirect
|
||||
github.com/fsnotify/fsnotify v1.8.0 // indirect
|
||||
github.com/go-viper/mapstructure/v2 v2.3.0 // indirect
|
||||
github.com/gobwas/glob v0.2.3 // indirect
|
||||
github.com/google/go-cmp v0.7.0 // indirect
|
||||
github.com/inconshreveable/mousetrap v1.1.0 // indirect
|
||||
github.com/lucasb-eyer/go-colorful v1.2.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/mitchellh/mapstructure v1.5.1-0.20231216201459-8508981c8b6c // indirect
|
||||
github.com/muesli/termenv v0.16.0 // indirect
|
||||
github.com/pelletier/go-toml/v2 v2.2.3 // indirect
|
||||
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect
|
||||
github.com/rivo/uniseg v0.4.7 // indirect
|
||||
github.com/rogpeppe/go-internal v1.14.1 // indirect
|
||||
github.com/sagikazarmark/locafero v0.7.0 // indirect
|
||||
github.com/sourcegraph/conc v0.3.0 // indirect
|
||||
github.com/spf13/afero v1.12.0 // indirect
|
||||
github.com/spf13/cast v1.7.1 // indirect
|
||||
github.com/spf13/cobra v1.9.1 // indirect
|
||||
github.com/spf13/pflag v1.0.6 // indirect
|
||||
github.com/spf13/viper v1.20.1 // indirect
|
||||
github.com/subosito/gotenv v1.6.0 // indirect
|
||||
github.com/xo/terminfo v0.0.0-20220910002029-abceb7e1c41e // indirect
|
||||
go.uber.org/multierr v1.11.0 // indirect
|
||||
golang.org/x/exp v0.0.0-20250506013437-ce4c2cf36ca6 // indirect
|
||||
golang.org/x/sys v0.33.0 // indirect
|
||||
golang.org/x/term v0.32.0 // indirect
|
||||
golang.org/x/text v0.26.0 // indirect
|
||||
golang.org/x/tools v0.34.0 // indirect
|
||||
gopkg.in/alessio/shellescape.v1 v1.0.0-20170105083845-52074bc9df61 // indirect
|
||||
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c // indirect
|
||||
gopkg.in/yaml.v3 v3.0.1 // indirect
|
||||
)
|
||||
108
.citools/lefthook/go.sum
Normal file
108
.citools/lefthook/go.sum
Normal file
@@ -0,0 +1,108 @@
|
||||
github.com/MakeNowJust/heredoc v1.0.0 h1:cXCdzVdstXyiTqTvfqk9SDHpKNjxuom+DOlyEeQ4pzQ=
|
||||
github.com/MakeNowJust/heredoc v1.0.0/go.mod h1:mG5amYoWBHf8vpLOuehzbGGw0EHxpZZ6lCpQ4fNJ8LE=
|
||||
github.com/alessio/shellescape v1.4.1 h1:V7yhSDDn8LP4lc4jS8pFkt0zCnzVJlG5JXy9BVKJUX0=
|
||||
github.com/alessio/shellescape v1.4.1/go.mod h1:PZAiSCk0LJaZkiCSkPv8qIobYglO3FPpyFjDCtHLS30=
|
||||
github.com/aymanbagabas/go-osc52/v2 v2.0.1 h1:HwpRHbFMcZLEVr42D4p7XBqjyuxQH5SMiErDT4WkJ2k=
|
||||
github.com/aymanbagabas/go-osc52/v2 v2.0.1/go.mod h1:uYgXzlJ7ZpABp8OJ+exZzJJhRNQ2ASbcXHWsFqH8hp8=
|
||||
github.com/briandowns/spinner v1.23.0 h1:alDF2guRWqa/FOZZYWjlMIx2L6H0wyewPxo/CH4Pt2A=
|
||||
github.com/briandowns/spinner v1.23.0/go.mod h1:rPG4gmXeN3wQV/TsAY4w8lPdIM6RX3yqeBQJSrbXjuE=
|
||||
github.com/charmbracelet/colorprofile v0.2.3-0.20250311203215-f60798e515dc h1:4pZI35227imm7yK2bGPcfpFEmuY1gc2YSTShr4iJBfs=
|
||||
github.com/charmbracelet/colorprofile v0.2.3-0.20250311203215-f60798e515dc/go.mod h1:X4/0JoqgTIPSFcRA/P6INZzIuyqdFY5rm8tb41s9okk=
|
||||
github.com/charmbracelet/lipgloss v1.1.0 h1:vYXsiLHVkK7fp74RkV7b2kq9+zDLoEU4MZoFqR/noCY=
|
||||
github.com/charmbracelet/lipgloss v1.1.0/go.mod h1:/6Q8FR2o+kj8rz4Dq0zQc3vYf7X+B0binUUBwA0aL30=
|
||||
github.com/charmbracelet/x/ansi v0.8.0 h1:9GTq3xq9caJW8ZrBTe0LIe2fvfLR/bYXKTx2llXn7xE=
|
||||
github.com/charmbracelet/x/ansi v0.8.0/go.mod h1:wdYl/ONOLHLIVmQaxbIYEC/cRKOQyjTkowiI4blgS9Q=
|
||||
github.com/charmbracelet/x/cellbuf v0.0.13-0.20250311204145-2c3ea96c31dd h1:vy0GVL4jeHEwG5YOXDmi86oYw2yuYUGqz6a8sLwg0X8=
|
||||
github.com/charmbracelet/x/cellbuf v0.0.13-0.20250311204145-2c3ea96c31dd/go.mod h1:xe0nKWGd3eJgtqZRaN9RjMtK7xUYchjzPr7q6kcvCCs=
|
||||
github.com/charmbracelet/x/term v0.2.1 h1:AQeHeLZ1OqSXhrAWpYUtZyX1T3zVxfpZuEQMIQaGIAQ=
|
||||
github.com/charmbracelet/x/term v0.2.1/go.mod h1:oQ4enTYFV7QN4m0i9mzHrViD7TQKvNEEkHUMCmsxdUg=
|
||||
github.com/cpuguy83/go-md2man/v2 v2.0.6/go.mod h1:oOW0eioCTA6cOiMLiUPZOpcVxMig6NIQQ7OS05n1F4g=
|
||||
github.com/creack/pty v1.1.18 h1:n56/Zwd5o6whRC5PMGretI4IdRLlmBXYNjScPaBgsbY=
|
||||
github.com/creack/pty v1.1.18/go.mod h1:MOBLtS5ELjhRRrroQr9kyvTxUAFNvYEK993ew/Vr4O4=
|
||||
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM=
|
||||
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
||||
github.com/evilmartians/lefthook v1.4.8 h1:8FmXWtfFiEZw3w18JbhVrp3g+Iy/j2XEo6gcC25+4KA=
|
||||
github.com/evilmartians/lefthook v1.4.8/go.mod h1:anwwu2QiCEnsOCBHfRgGOB3/sd9FMVNhmY8l9DDQAG8=
|
||||
github.com/fatih/color v1.18.0 h1:S8gINlzdQ840/4pfAwic/ZE0djQEH3wM94VfqLTZcOM=
|
||||
github.com/fatih/color v1.18.0/go.mod h1:4FelSpRwEGDpQ12mAdzqdOukCy4u8WUtOY6lkT/6HfU=
|
||||
github.com/frankban/quicktest v1.14.6 h1:7Xjx+VpznH+oBnejlPUj8oUpdxnVs4f8XU8WnHkI4W8=
|
||||
github.com/frankban/quicktest v1.14.6/go.mod h1:4ptaffx2x8+WTWXmUCuVU6aPUX1/Mz7zb5vbUoiM6w0=
|
||||
github.com/fsnotify/fsnotify v1.8.0 h1:dAwr6QBTBZIkG8roQaJjGof0pp0EeF+tNV7YBP3F/8M=
|
||||
github.com/fsnotify/fsnotify v1.8.0/go.mod h1:8jBTzvmWwFyi3Pb8djgCCO5IBqzKJ/Jwo8TRcHyHii0=
|
||||
github.com/go-viper/mapstructure/v2 v2.3.0 h1:27XbWsHIqhbdR5TIC911OfYvgSaW93HM+dX7970Q7jk=
|
||||
github.com/go-viper/mapstructure/v2 v2.3.0/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM=
|
||||
github.com/gobwas/glob v0.2.3 h1:A4xDbljILXROh+kObIiy5kIaPYD8e96x1tgBhUI5J+Y=
|
||||
github.com/gobwas/glob v0.2.3/go.mod h1:d3Ez4x06l9bZtSvzIay5+Yzi0fmZzPgnTbPcKjJAkT8=
|
||||
github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8=
|
||||
github.com/google/go-cmp v0.7.0/go.mod h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX3N/iU=
|
||||
github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8=
|
||||
github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw=
|
||||
github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI=
|
||||
github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE=
|
||||
github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk=
|
||||
github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
|
||||
github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
|
||||
github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
|
||||
github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
|
||||
github.com/lucasb-eyer/go-colorful v1.2.0 h1:1nnpGOrhyZZuNyfu1QjKiUICQ74+3FNCN69Aj6K7nkY=
|
||||
github.com/lucasb-eyer/go-colorful v1.2.0/go.mod h1:R4dSotOR9KMtayYi1e77YzuveK+i7ruzyGqttikkLy0=
|
||||
github.com/mattn/go-colorable v0.1.14 h1:9A9LHSqF/7dyVVX6g0U9cwm9pG3kP9gSzcuIPHPsaIE=
|
||||
github.com/mattn/go-colorable v0.1.14/go.mod h1:6LmQG8QLFO4G5z1gPvYEzlUgJ2wF+stgPZH1UqBm1s8=
|
||||
github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWEY=
|
||||
github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y=
|
||||
github.com/mattn/go-runewidth v0.0.16 h1:E5ScNMtiwvlvB5paMFdw9p4kSQzbXFikJ5SQO6TULQc=
|
||||
github.com/mattn/go-runewidth v0.0.16/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w=
|
||||
github.com/mitchellh/mapstructure v1.5.1-0.20231216201459-8508981c8b6c h1:cqn374mizHuIWj+OSJCajGr/phAmuMug9qIX3l9CflE=
|
||||
github.com/mitchellh/mapstructure v1.5.1-0.20231216201459-8508981c8b6c/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo=
|
||||
github.com/muesli/termenv v0.16.0 h1:S5AlUN9dENB57rsbnkPyfdGuWIlkmzJjbFf0Tf5FWUc=
|
||||
github.com/muesli/termenv v0.16.0/go.mod h1:ZRfOIKPFDYQoDFF4Olj7/QJbW60Ol/kL1pU3VfY/Cnk=
|
||||
github.com/pelletier/go-toml/v2 v2.2.3 h1:YmeHyLY8mFWbdkNWwpr+qIL2bEqT0o95WSdkNHvL12M=
|
||||
github.com/pelletier/go-toml/v2 v2.2.3/go.mod h1:MfCQTFTvCcUyyvvwm1+G6H/jORL20Xlb6rzQu9GuUkc=
|
||||
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U=
|
||||
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
|
||||
github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc=
|
||||
github.com/rivo/uniseg v0.4.7 h1:WUdvkW8uEhrYfLC4ZzdpI2ztxP1I582+49Oc5Mq64VQ=
|
||||
github.com/rivo/uniseg v0.4.7/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUcx88=
|
||||
github.com/rogpeppe/go-internal v1.14.1 h1:UQB4HGPB6osV0SQTLymcB4TgvyWu6ZyliaW0tI/otEQ=
|
||||
github.com/rogpeppe/go-internal v1.14.1/go.mod h1:MaRKkUm5W0goXpeCfT7UZI6fk/L7L7so1lCWt35ZSgc=
|
||||
github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
|
||||
github.com/sagikazarmark/locafero v0.7.0 h1:5MqpDsTGNDhY8sGp0Aowyf0qKsPrhewaLSsFaodPcyo=
|
||||
github.com/sagikazarmark/locafero v0.7.0/go.mod h1:2za3Cg5rMaTMoG/2Ulr9AwtFaIppKXTRYnozin4aB5k=
|
||||
github.com/sourcegraph/conc v0.3.0 h1:OQTbbt6P72L20UqAkXXuLOj79LfEanQ+YQFNpLA9ySo=
|
||||
github.com/sourcegraph/conc v0.3.0/go.mod h1:Sdozi7LEKbFPqYX2/J+iBAM6HpqSLTASQIKqDmF7Mt0=
|
||||
github.com/spf13/afero v1.12.0 h1:UcOPyRBYczmFn6yvphxkn9ZEOY65cpwGKb5mL36mrqs=
|
||||
github.com/spf13/afero v1.12.0/go.mod h1:ZTlWwG4/ahT8W7T0WQ5uYmjI9duaLQGy3Q2OAl4sk/4=
|
||||
github.com/spf13/cast v1.7.1 h1:cuNEagBQEHWN1FnbGEjCXL2szYEXqfJPbP2HNUaca9Y=
|
||||
github.com/spf13/cast v1.7.1/go.mod h1:ancEpBxwJDODSW/UG4rDrAqiKolqNNh2DX3mk86cAdo=
|
||||
github.com/spf13/cobra v1.9.1 h1:CXSaggrXdbHK9CF+8ywj8Amf7PBRmPCOJugH954Nnlo=
|
||||
github.com/spf13/cobra v1.9.1/go.mod h1:nDyEzZ8ogv936Cinf6g1RU9MRY64Ir93oCnqb9wxYW0=
|
||||
github.com/spf13/pflag v1.0.6 h1:jFzHGLGAlb3ruxLB8MhbI6A8+AQX/2eW4qeyNZXNp2o=
|
||||
github.com/spf13/pflag v1.0.6/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg=
|
||||
github.com/spf13/viper v1.20.1 h1:ZMi+z/lvLyPSCoNtFCpqjy0S4kPbirhpTMwl8BkW9X4=
|
||||
github.com/spf13/viper v1.20.1/go.mod h1:P9Mdzt1zoHIG8m2eZQinpiBjo6kCmZSKBClNNqjJvu4=
|
||||
github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOfJA=
|
||||
github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
|
||||
github.com/subosito/gotenv v1.6.0 h1:9NlTDc1FTs4qu0DDq7AEtTPNw6SVm7uBMsUCUjABIf8=
|
||||
github.com/subosito/gotenv v1.6.0/go.mod h1:Dk4QP5c2W3ibzajGcXpNraDfq2IrhjMIvMSWPKKo0FU=
|
||||
github.com/xo/terminfo v0.0.0-20220910002029-abceb7e1c41e h1:JVG44RsyaB9T2KIHavMF/ppJZNG9ZpyihvCd0w101no=
|
||||
github.com/xo/terminfo v0.0.0-20220910002029-abceb7e1c41e/go.mod h1:RbqR21r5mrJuqunuUZ/Dhy/avygyECGrLceyNeo4LiM=
|
||||
go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0=
|
||||
go.uber.org/multierr v1.11.0/go.mod h1:20+QtiLqy0Nd6FdQB9TLXag12DsQkrbs3htMFfDN80Y=
|
||||
golang.org/x/exp v0.0.0-20250506013437-ce4c2cf36ca6 h1:y5zboxd6LQAqYIhHnB48p0ByQ/GnQx2BE33L8BOHQkI=
|
||||
golang.org/x/exp v0.0.0-20250506013437-ce4c2cf36ca6/go.mod h1:U6Lno4MTRCDY+Ba7aCcauB9T60gsv5s4ralQzP72ZoQ=
|
||||
golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.33.0 h1:q3i8TbbEz+JRD9ywIRlyRAQbM0qF7hu24q3teo2hbuw=
|
||||
golang.org/x/sys v0.33.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k=
|
||||
golang.org/x/term v0.32.0 h1:DR4lr0TjUs3epypdhTOkMmuF5CDFJ/8pOnbzMZPQ7bg=
|
||||
golang.org/x/term v0.32.0/go.mod h1:uZG1FhGx848Sqfsq4/DlJr3xGGsYMu/L5GW4abiaEPQ=
|
||||
golang.org/x/text v0.26.0 h1:P42AVeLghgTYr4+xUnTRKDMqpar+PtX7KWuNQL21L8M=
|
||||
golang.org/x/text v0.26.0/go.mod h1:QK15LZJUUQVJxhz7wXgxSy/CJaTFjd0G+YLonydOVQA=
|
||||
golang.org/x/tools v0.34.0 h1:qIpSLOxeCYGg9TrcJokLBG4KFA6d795g0xkBkiESGlo=
|
||||
golang.org/x/tools v0.34.0/go.mod h1:pAP9OwEaY1CAW3HOmg3hLZC5Z0CCmzjAF2UQMSqNARg=
|
||||
gopkg.in/alessio/shellescape.v1 v1.0.0-20170105083845-52074bc9df61 h1:8ajkpB4hXVftY5ko905id+dOnmorcS2CHNxxHLLDcFM=
|
||||
gopkg.in/alessio/shellescape.v1 v1.0.0-20170105083845-52074bc9df61/go.mod h1:IfMagxm39Ys4ybJrDb7W3Ob8RwxftP0Yy+or/NVz1O8=
|
||||
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
||||
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk=
|
||||
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q=
|
||||
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
|
||||
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
|
||||
62
.citools/swagger/go.mod
Normal file
62
.citools/swagger/go.mod
Normal file
@@ -0,0 +1,62 @@
|
||||
module swagger
|
||||
|
||||
go 1.24.5
|
||||
|
||||
tool github.com/go-swagger/go-swagger/cmd/swagger
|
||||
|
||||
require (
|
||||
dario.cat/mergo v1.0.1 // indirect
|
||||
github.com/Masterminds/goutils v1.1.1 // indirect
|
||||
github.com/Masterminds/semver/v3 v3.3.1 // indirect
|
||||
github.com/Masterminds/sprig/v3 v3.3.0 // indirect
|
||||
github.com/asaskevich/govalidator v0.0.0-20230301143203-a9d515a09cc2 // indirect
|
||||
github.com/felixge/httpsnoop v1.0.4 // indirect
|
||||
github.com/fsnotify/fsnotify v1.8.0 // indirect
|
||||
github.com/go-openapi/analysis v0.23.0 // indirect
|
||||
github.com/go-openapi/errors v0.22.0 // indirect
|
||||
github.com/go-openapi/inflect v0.21.0 // indirect
|
||||
github.com/go-openapi/jsonpointer v0.21.0 // indirect
|
||||
github.com/go-openapi/jsonreference v0.21.0 // indirect
|
||||
github.com/go-openapi/loads v0.22.0 // indirect
|
||||
github.com/go-openapi/runtime v0.28.0 // indirect
|
||||
github.com/go-openapi/spec v0.21.0 // indirect
|
||||
github.com/go-openapi/strfmt v0.23.0 // indirect
|
||||
github.com/go-openapi/swag v0.23.0 // indirect
|
||||
github.com/go-openapi/validate v0.24.0 // indirect
|
||||
github.com/go-swagger/go-swagger v0.30.6-0.20240310114303-db51e79a0e37 // indirect
|
||||
github.com/go-viper/mapstructure/v2 v2.3.0 // indirect
|
||||
github.com/google/go-cmp v0.7.0 // indirect
|
||||
github.com/google/uuid v1.6.0 // indirect
|
||||
github.com/gorilla/handlers v1.5.2 // indirect
|
||||
github.com/huandu/xstrings v1.5.0 // indirect
|
||||
github.com/jessevdk/go-flags v1.5.0 // indirect
|
||||
github.com/josharian/intern v1.0.0 // indirect
|
||||
github.com/kr/pretty v0.3.1 // indirect
|
||||
github.com/kr/text v0.2.0 // indirect
|
||||
github.com/mailru/easyjson v0.7.7 // indirect
|
||||
github.com/mitchellh/copystructure v1.2.0 // indirect
|
||||
github.com/mitchellh/mapstructure v1.5.1-0.20231216201459-8508981c8b6c // indirect
|
||||
github.com/mitchellh/reflectwalk v1.0.2 // indirect
|
||||
github.com/oklog/ulid v1.3.1 // indirect
|
||||
github.com/pelletier/go-toml/v2 v2.2.3 // indirect
|
||||
github.com/rogpeppe/go-internal v1.14.1 // indirect
|
||||
github.com/sagikazarmark/locafero v0.7.0 // indirect
|
||||
github.com/shopspring/decimal v1.4.0 // indirect
|
||||
github.com/sourcegraph/conc v0.3.0 // indirect
|
||||
github.com/spf13/afero v1.12.0 // indirect
|
||||
github.com/spf13/cast v1.7.1 // indirect
|
||||
github.com/spf13/pflag v1.0.6 // indirect
|
||||
github.com/spf13/viper v1.20.1 // indirect
|
||||
github.com/subosito/gotenv v1.6.0 // indirect
|
||||
github.com/toqueteos/webbrowser v1.2.0 // indirect
|
||||
go.mongodb.org/mongo-driver v1.16.1 // indirect
|
||||
go.uber.org/multierr v1.11.0 // indirect
|
||||
golang.org/x/crypto v0.39.0 // indirect
|
||||
golang.org/x/mod v0.25.0 // indirect
|
||||
golang.org/x/sync v0.15.0 // indirect
|
||||
golang.org/x/sys v0.33.0 // indirect
|
||||
golang.org/x/text v0.26.0 // indirect
|
||||
golang.org/x/tools v0.34.0 // indirect
|
||||
gopkg.in/yaml.v2 v2.4.0 // indirect
|
||||
gopkg.in/yaml.v3 v3.0.1 // indirect
|
||||
)
|
||||
123
.citools/swagger/go.sum
Normal file
123
.citools/swagger/go.sum
Normal file
@@ -0,0 +1,123 @@
|
||||
dario.cat/mergo v1.0.1 h1:Ra4+bf83h2ztPIQYNP99R6m+Y7KfnARDfID+a+vLl4s=
|
||||
dario.cat/mergo v1.0.1/go.mod h1:uNxQE+84aUszobStD9th8a29P2fMDhsBdgRYvZOxGmk=
|
||||
github.com/Masterminds/goutils v1.1.1 h1:5nUrii3FMTL5diU80unEVvNevw1nH4+ZV4DSLVJLSYI=
|
||||
github.com/Masterminds/goutils v1.1.1/go.mod h1:8cTjp+g8YejhMuvIA5y2vz3BpJxksy863GQaJW2MFNU=
|
||||
github.com/Masterminds/semver/v3 v3.3.1 h1:QtNSWtVZ3nBfk8mAOu/B6v7FMJ+NHTIgUPi7rj+4nv4=
|
||||
github.com/Masterminds/semver/v3 v3.3.1/go.mod h1:4V+yj/TJE1HU9XfppCwVMZq3I84lprf4nC11bSS5beM=
|
||||
github.com/Masterminds/sprig/v3 v3.3.0 h1:mQh0Yrg1XPo6vjYXgtf5OtijNAKJRNcTdOOGZe3tPhs=
|
||||
github.com/Masterminds/sprig/v3 v3.3.0/go.mod h1:Zy1iXRYNqNLUolqCpL4uhk6SHUMAOSCzdgBfDb35Lz0=
|
||||
github.com/asaskevich/govalidator v0.0.0-20230301143203-a9d515a09cc2 h1:DklsrG3dyBCFEj5IhUbnKptjxatkF07cF2ak3yi77so=
|
||||
github.com/asaskevich/govalidator v0.0.0-20230301143203-a9d515a09cc2/go.mod h1:WaHUgvxTVq04UNunO+XhnAqY/wQc+bxr74GqbsZ/Jqw=
|
||||
github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E=
|
||||
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM=
|
||||
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
||||
github.com/felixge/httpsnoop v1.0.4 h1:NFTV2Zj1bL4mc9sqWACXbQFVBBg2W3GPvqp8/ESS2Wg=
|
||||
github.com/felixge/httpsnoop v1.0.4/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U=
|
||||
github.com/frankban/quicktest v1.14.6 h1:7Xjx+VpznH+oBnejlPUj8oUpdxnVs4f8XU8WnHkI4W8=
|
||||
github.com/frankban/quicktest v1.14.6/go.mod h1:4ptaffx2x8+WTWXmUCuVU6aPUX1/Mz7zb5vbUoiM6w0=
|
||||
github.com/fsnotify/fsnotify v1.8.0 h1:dAwr6QBTBZIkG8roQaJjGof0pp0EeF+tNV7YBP3F/8M=
|
||||
github.com/fsnotify/fsnotify v1.8.0/go.mod h1:8jBTzvmWwFyi3Pb8djgCCO5IBqzKJ/Jwo8TRcHyHii0=
|
||||
github.com/go-openapi/analysis v0.23.0 h1:aGday7OWupfMs+LbmLZG4k0MYXIANxcuBTYUC03zFCU=
|
||||
github.com/go-openapi/analysis v0.23.0/go.mod h1:9mz9ZWaSlV8TvjQHLl2mUW2PbZtemkE8yA5v22ohupo=
|
||||
github.com/go-openapi/errors v0.22.0 h1:c4xY/OLxUBSTiepAg3j/MHuAv5mJhnf53LLMWFB+u/w=
|
||||
github.com/go-openapi/errors v0.22.0/go.mod h1:J3DmZScxCDufmIMsdOuDHxJbdOGC0xtUynjIx092vXE=
|
||||
github.com/go-openapi/inflect v0.21.0 h1:FoBjBTQEcbg2cJUWX6uwL9OyIW8eqc9k4KhN4lfbeYk=
|
||||
github.com/go-openapi/inflect v0.21.0/go.mod h1:INezMuUu7SJQc2AyR3WO0DqqYUJSj8Kb4hBd7WtjlAw=
|
||||
github.com/go-openapi/jsonpointer v0.21.0 h1:YgdVicSA9vH5RiHs9TZW5oyafXZFc6+2Vc1rr/O9oNQ=
|
||||
github.com/go-openapi/jsonpointer v0.21.0/go.mod h1:IUyH9l/+uyhIYQ/PXVA41Rexl+kOkAPDdXEYns6fzUY=
|
||||
github.com/go-openapi/jsonreference v0.21.0 h1:Rs+Y7hSXT83Jacb7kFyjn4ijOuVGSvOdF2+tg1TRrwQ=
|
||||
github.com/go-openapi/jsonreference v0.21.0/go.mod h1:LmZmgsrTkVg9LG4EaHeY8cBDslNPMo06cago5JNLkm4=
|
||||
github.com/go-openapi/loads v0.22.0 h1:ECPGd4jX1U6NApCGG1We+uEozOAvXvJSF4nnwHZ8Aco=
|
||||
github.com/go-openapi/loads v0.22.0/go.mod h1:yLsaTCS92mnSAZX5WWoxszLj0u+Ojl+Zs5Stn1oF+rs=
|
||||
github.com/go-openapi/runtime v0.28.0 h1:gpPPmWSNGo214l6n8hzdXYhPuJcGtziTOgUpvsFWGIQ=
|
||||
github.com/go-openapi/runtime v0.28.0/go.mod h1:QN7OzcS+XuYmkQLw05akXk0jRH/eZ3kb18+1KwW9gyc=
|
||||
github.com/go-openapi/spec v0.21.0 h1:LTVzPc3p/RzRnkQqLRndbAzjY0d0BCL72A6j3CdL9ZY=
|
||||
github.com/go-openapi/spec v0.21.0/go.mod h1:78u6VdPw81XU44qEWGhtr982gJ5BWg2c0I5XwVMotYk=
|
||||
github.com/go-openapi/strfmt v0.23.0 h1:nlUS6BCqcnAk0pyhi9Y+kdDVZdZMHfEKQiS4HaMgO/c=
|
||||
github.com/go-openapi/strfmt v0.23.0/go.mod h1:NrtIpfKtWIygRkKVsxh7XQMDQW5HKQl6S5ik2elW+K4=
|
||||
github.com/go-openapi/swag v0.23.0 h1:vsEVJDUo2hPJ2tu0/Xc+4noaxyEffXNIs3cOULZ+GrE=
|
||||
github.com/go-openapi/swag v0.23.0/go.mod h1:esZ8ITTYEsH1V2trKHjAN8Ai7xHb8RV+YSZ577vPjgQ=
|
||||
github.com/go-openapi/validate v0.24.0 h1:LdfDKwNbpB6Vn40xhTdNZAnfLECL81w+VX3BumrGD58=
|
||||
github.com/go-openapi/validate v0.24.0/go.mod h1:iyeX1sEufmv3nPbBdX3ieNviWnOZaJ1+zquzJEf2BAQ=
|
||||
github.com/go-swagger/go-swagger v0.30.6-0.20240310114303-db51e79a0e37 h1:KFcZmKdZmapAog2+eL1buervAYrYolBZk7fMecPPDmo=
|
||||
github.com/go-swagger/go-swagger v0.30.6-0.20240310114303-db51e79a0e37/go.mod h1:i1/E+d8iPNReSE7y04FaVu5OPKB3il5cn+T1Egogg3I=
|
||||
github.com/go-viper/mapstructure/v2 v2.3.0 h1:27XbWsHIqhbdR5TIC911OfYvgSaW93HM+dX7970Q7jk=
|
||||
github.com/go-viper/mapstructure/v2 v2.3.0/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM=
|
||||
github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8=
|
||||
github.com/google/go-cmp v0.7.0/go.mod h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX3N/iU=
|
||||
github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0=
|
||||
github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
|
||||
github.com/gorilla/handlers v1.5.2 h1:cLTUSsNkgcwhgRqvCNmdbRWG0A3N4F+M2nWKdScwyEE=
|
||||
github.com/gorilla/handlers v1.5.2/go.mod h1:dX+xVpaxdSw+q0Qek8SSsl3dfMk3jNddUkMzo0GtH0w=
|
||||
github.com/huandu/xstrings v1.5.0 h1:2ag3IFq9ZDANvthTwTiqSSZLjDc+BedvHPAp5tJy2TI=
|
||||
github.com/huandu/xstrings v1.5.0/go.mod h1:y5/lhBue+AyNmUVz9RLU9xbLR0o4KIIExikq4ovT0aE=
|
||||
github.com/jessevdk/go-flags v1.5.0 h1:1jKYvbxEjfUl0fmqTCOfonvskHHXMjBySTLW4y9LFvc=
|
||||
github.com/jessevdk/go-flags v1.5.0/go.mod h1:Fw0T6WPc1dYxT4mKEZRfG5kJhaTDP9pj1c2EWnYs/m4=
|
||||
github.com/josharian/intern v1.0.0 h1:vlS4z54oSdjm0bgjRigI+G1HpF+tI+9rE5LLzOg8HmY=
|
||||
github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y=
|
||||
github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE=
|
||||
github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk=
|
||||
github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
|
||||
github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
|
||||
github.com/mailru/easyjson v0.7.7 h1:UGYAvKxe3sBsEDzO8ZeWOSlIQfWFlxbzLZe7hwFURr0=
|
||||
github.com/mailru/easyjson v0.7.7/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc=
|
||||
github.com/mitchellh/copystructure v1.2.0 h1:vpKXTN4ewci03Vljg/q9QvCGUDttBOGBIa15WveJJGw=
|
||||
github.com/mitchellh/copystructure v1.2.0/go.mod h1:qLl+cE2AmVv+CoeAwDPye/v+N2HKCj9FbZEVFJRxO9s=
|
||||
github.com/mitchellh/mapstructure v1.5.1-0.20231216201459-8508981c8b6c h1:cqn374mizHuIWj+OSJCajGr/phAmuMug9qIX3l9CflE=
|
||||
github.com/mitchellh/mapstructure v1.5.1-0.20231216201459-8508981c8b6c/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo=
|
||||
github.com/mitchellh/reflectwalk v1.0.2 h1:G2LzWKi524PWgd3mLHV8Y5k7s6XUvT0Gef6zxSIeXaQ=
|
||||
github.com/mitchellh/reflectwalk v1.0.2/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw=
|
||||
github.com/oklog/ulid v1.3.1 h1:EGfNDEx6MqHz8B3uNV6QAib1UR2Lm97sHi3ocA6ESJ4=
|
||||
github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn4U=
|
||||
github.com/pelletier/go-toml/v2 v2.2.3 h1:YmeHyLY8mFWbdkNWwpr+qIL2bEqT0o95WSdkNHvL12M=
|
||||
github.com/pelletier/go-toml/v2 v2.2.3/go.mod h1:MfCQTFTvCcUyyvvwm1+G6H/jORL20Xlb6rzQu9GuUkc=
|
||||
github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e/go.mod h1:pJLUxLENpZxwdsKMEsNbx1VGcRFpLqf3715MtcvvzbA=
|
||||
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U=
|
||||
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
|
||||
github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs=
|
||||
github.com/rogpeppe/go-internal v1.14.1 h1:UQB4HGPB6osV0SQTLymcB4TgvyWu6ZyliaW0tI/otEQ=
|
||||
github.com/rogpeppe/go-internal v1.14.1/go.mod h1:MaRKkUm5W0goXpeCfT7UZI6fk/L7L7so1lCWt35ZSgc=
|
||||
github.com/sagikazarmark/locafero v0.7.0 h1:5MqpDsTGNDhY8sGp0Aowyf0qKsPrhewaLSsFaodPcyo=
|
||||
github.com/sagikazarmark/locafero v0.7.0/go.mod h1:2za3Cg5rMaTMoG/2Ulr9AwtFaIppKXTRYnozin4aB5k=
|
||||
github.com/shopspring/decimal v1.4.0 h1:bxl37RwXBklmTi0C79JfXCEBD1cqqHt0bbgBAGFp81k=
|
||||
github.com/shopspring/decimal v1.4.0/go.mod h1:gawqmDU56v4yIKSwfBSFip1HdCCXN8/+DMd9qYNcwME=
|
||||
github.com/sourcegraph/conc v0.3.0 h1:OQTbbt6P72L20UqAkXXuLOj79LfEanQ+YQFNpLA9ySo=
|
||||
github.com/sourcegraph/conc v0.3.0/go.mod h1:Sdozi7LEKbFPqYX2/J+iBAM6HpqSLTASQIKqDmF7Mt0=
|
||||
github.com/spf13/afero v1.12.0 h1:UcOPyRBYczmFn6yvphxkn9ZEOY65cpwGKb5mL36mrqs=
|
||||
github.com/spf13/afero v1.12.0/go.mod h1:ZTlWwG4/ahT8W7T0WQ5uYmjI9duaLQGy3Q2OAl4sk/4=
|
||||
github.com/spf13/cast v1.7.1 h1:cuNEagBQEHWN1FnbGEjCXL2szYEXqfJPbP2HNUaca9Y=
|
||||
github.com/spf13/cast v1.7.1/go.mod h1:ancEpBxwJDODSW/UG4rDrAqiKolqNNh2DX3mk86cAdo=
|
||||
github.com/spf13/pflag v1.0.6 h1:jFzHGLGAlb3ruxLB8MhbI6A8+AQX/2eW4qeyNZXNp2o=
|
||||
github.com/spf13/pflag v1.0.6/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg=
|
||||
github.com/spf13/viper v1.20.1 h1:ZMi+z/lvLyPSCoNtFCpqjy0S4kPbirhpTMwl8BkW9X4=
|
||||
github.com/spf13/viper v1.20.1/go.mod h1:P9Mdzt1zoHIG8m2eZQinpiBjo6kCmZSKBClNNqjJvu4=
|
||||
github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOfJA=
|
||||
github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
|
||||
github.com/subosito/gotenv v1.6.0 h1:9NlTDc1FTs4qu0DDq7AEtTPNw6SVm7uBMsUCUjABIf8=
|
||||
github.com/subosito/gotenv v1.6.0/go.mod h1:Dk4QP5c2W3ibzajGcXpNraDfq2IrhjMIvMSWPKKo0FU=
|
||||
github.com/toqueteos/webbrowser v1.2.0 h1:tVP/gpK69Fx+qMJKsLE7TD8LuGWPnEV71wBN9rrstGQ=
|
||||
github.com/toqueteos/webbrowser v1.2.0/go.mod h1:XWoZq4cyp9WeUeak7w7LXRUQf1F1ATJMir8RTqb4ayM=
|
||||
go.mongodb.org/mongo-driver v1.16.1 h1:rIVLL3q0IHM39dvE+z2ulZLp9ENZKThVfuvN/IiN4l8=
|
||||
go.mongodb.org/mongo-driver v1.16.1/go.mod h1:oB6AhJQvFQL4LEHyXi6aJzQJtBiTQHiAd83l0GdFaiw=
|
||||
go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0=
|
||||
go.uber.org/multierr v1.11.0/go.mod h1:20+QtiLqy0Nd6FdQB9TLXag12DsQkrbs3htMFfDN80Y=
|
||||
golang.org/x/crypto v0.39.0 h1:SHs+kF4LP+f+p14esP5jAoDpHU8Gu/v9lFRK6IT5imM=
|
||||
golang.org/x/crypto v0.39.0/go.mod h1:L+Xg3Wf6HoL4Bn4238Z6ft6KfEpN0tJGo53AAPC632U=
|
||||
golang.org/x/mod v0.25.0 h1:n7a+ZbQKQA/Ysbyb0/6IbB1H/X41mKgbhfv7AfG/44w=
|
||||
golang.org/x/mod v0.25.0/go.mod h1:IXM97Txy2VM4PJ3gI61r1YEk/gAj6zAHN3AdZt6S9Ww=
|
||||
golang.org/x/sync v0.15.0 h1:KWH3jNZsfyT6xfAfKiz6MRNmd46ByHDYaZ7KSkCtdW8=
|
||||
golang.org/x/sync v0.15.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA=
|
||||
golang.org/x/sys v0.0.0-20210320140829-1e4c9ba3b0c4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.33.0 h1:q3i8TbbEz+JRD9ywIRlyRAQbM0qF7hu24q3teo2hbuw=
|
||||
golang.org/x/sys v0.33.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k=
|
||||
golang.org/x/text v0.26.0 h1:P42AVeLghgTYr4+xUnTRKDMqpar+PtX7KWuNQL21L8M=
|
||||
golang.org/x/text v0.26.0/go.mod h1:QK15LZJUUQVJxhz7wXgxSy/CJaTFjd0G+YLonydOVQA=
|
||||
golang.org/x/tools v0.34.0 h1:qIpSLOxeCYGg9TrcJokLBG4KFA6d795g0xkBkiESGlo=
|
||||
golang.org/x/tools v0.34.0/go.mod h1:pAP9OwEaY1CAW3HOmg3hLZC5Z0CCmzjAF2UQMSqNARg=
|
||||
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
||||
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk=
|
||||
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q=
|
||||
gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY=
|
||||
gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ=
|
||||
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
|
||||
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
|
||||
17
.drone.star
17
.drone.star
@@ -12,23 +12,15 @@ load("scripts/drone/events/main.star", "main_pipelines")
|
||||
load("scripts/drone/events/pr.star", "pr_pipelines")
|
||||
load(
|
||||
"scripts/drone/events/release.star",
|
||||
"integration_test_pipelines",
|
||||
"publish_artifacts_pipelines",
|
||||
"publish_npm_pipelines",
|
||||
"publish_packages_pipeline",
|
||||
)
|
||||
load(
|
||||
"scripts/drone/pipelines/ci_images.star",
|
||||
"publish_ci_windows_test_image_pipeline",
|
||||
)
|
||||
load("scripts/drone/events/rrc-patch.star", "rrc_patch_pipelines")
|
||||
load(
|
||||
"scripts/drone/pipelines/publish_images.star",
|
||||
"publish_image_pipelines_public",
|
||||
)
|
||||
load(
|
||||
"scripts/drone/pipelines/windows.star",
|
||||
"windows_test_backend",
|
||||
)
|
||||
load(
|
||||
"scripts/drone/rgm.star",
|
||||
"rgm",
|
||||
@@ -39,17 +31,12 @@ def main(_ctx):
|
||||
return (
|
||||
pr_pipelines() +
|
||||
main_pipelines() +
|
||||
rrc_patch_pipelines() +
|
||||
publish_image_pipelines_public() +
|
||||
publish_artifacts_pipelines("public") +
|
||||
publish_npm_pipelines() +
|
||||
publish_packages_pipeline() +
|
||||
rgm() +
|
||||
[windows_test_backend({
|
||||
"event": ["promote"],
|
||||
"target": ["test-windows"],
|
||||
}, "oss", "testing")] +
|
||||
integration_test_pipelines() +
|
||||
publish_ci_windows_test_image_pipeline() +
|
||||
cronjobs() +
|
||||
secrets()
|
||||
)
|
||||
|
||||
3338
.drone.yml
3338
.drone.yml
File diff suppressed because it is too large
Load Diff
@@ -1,25 +0,0 @@
|
||||
.git
|
||||
.github
|
||||
.yarn
|
||||
build
|
||||
compiled
|
||||
/data
|
||||
deployment_tools_config.json
|
||||
/devenv
|
||||
dist
|
||||
/e2e/tmp
|
||||
node_modules
|
||||
/pkg
|
||||
/public/lib/monaco
|
||||
/scripts/grafana-server/tmp
|
||||
vendor
|
||||
|
||||
# TS generate from cue by cuetsy
|
||||
**/*.gen.ts
|
||||
|
||||
# Auto-generated internationalization files
|
||||
/public/locales/_build/
|
||||
/public/locales/**/*.js
|
||||
|
||||
# Auto-generated icon file
|
||||
/packages/grafana-ui/src/components/Icon/iconBundle.ts
|
||||
151
.eslintrc
151
.eslintrc
@@ -1,151 +0,0 @@
|
||||
{
|
||||
"extends": ["@grafana/eslint-config"],
|
||||
"root": true,
|
||||
"plugins": ["@emotion", "lodash", "jest", "import", "jsx-a11y", "@grafana", "no-barrel-files"],
|
||||
"settings": {
|
||||
"import/internal-regex": "^(app/)|(@grafana)",
|
||||
"import/external-module-folders": ["node_modules", ".yarn"],
|
||||
},
|
||||
"rules": {
|
||||
"@grafana/no-border-radius-literal": "error",
|
||||
"@grafana/no-unreduced-motion": "error",
|
||||
"react/prop-types": "off",
|
||||
// need to ignore emotion's `css` prop, see https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/no-unknown-property.md#rule-options
|
||||
"react/no-unknown-property": ["error", { "ignore": ["css"] }],
|
||||
"@emotion/jsx-import": "error",
|
||||
"lodash/import-scope": [2, "member"],
|
||||
"jest/no-focused-tests": "error",
|
||||
"import/order": [
|
||||
"error",
|
||||
{
|
||||
"groups": [["builtin", "external"], "internal", "parent", "sibling", "index"],
|
||||
"newlines-between": "always",
|
||||
"alphabetize": { "order": "asc" },
|
||||
},
|
||||
],
|
||||
"no-restricted-imports": [
|
||||
"error",
|
||||
{
|
||||
"paths": [
|
||||
{
|
||||
"name": "react-redux",
|
||||
"importNames": ["useDispatch", "useSelector"],
|
||||
"message": "Please import from app/types instead.",
|
||||
},
|
||||
{
|
||||
"name": "react-i18next",
|
||||
"importNames": ["Trans", "t"],
|
||||
"message": "Please import from app/core/internationalization instead",
|
||||
},
|
||||
],
|
||||
},
|
||||
],
|
||||
|
||||
// Use typescript's no-redeclare for compatibility with overrides
|
||||
"no-redeclare": "off",
|
||||
"@typescript-eslint/no-redeclare": ["error"],
|
||||
},
|
||||
"overrides": [
|
||||
{
|
||||
"files": ["packages/grafana-ui/src/components/uPlot/**/*.{ts,tsx}"],
|
||||
"rules": {
|
||||
"react-hooks/rules-of-hooks": "off",
|
||||
"react-hooks/exhaustive-deps": "off",
|
||||
},
|
||||
},
|
||||
{
|
||||
"files": ["packages/grafana-ui/src/components/ThemeDemos/**/*.{ts,tsx}"],
|
||||
"rules": {
|
||||
"@emotion/jsx-import": "off",
|
||||
"react/jsx-uses-react": "off",
|
||||
"react/react-in-jsx-scope": "off",
|
||||
},
|
||||
},
|
||||
{
|
||||
"files": ["public/dashboards/scripted*.js"],
|
||||
"rules": {
|
||||
"no-redeclare": "error",
|
||||
"@typescript-eslint/no-redeclare": "off",
|
||||
},
|
||||
},
|
||||
{
|
||||
"extends": ["plugin:jsx-a11y/recommended"],
|
||||
"files": ["**/*.tsx"],
|
||||
"excludedFiles": ["**/*.{spec,test}.tsx"],
|
||||
"rules": {
|
||||
// rules marked "off" are those left in the recommended preset we need to fix
|
||||
// we should remove the corresponding line and fix them one by one
|
||||
// any marked "error" contain specific overrides we'll need to keep
|
||||
"jsx-a11y/no-autofocus": [
|
||||
"error",
|
||||
{
|
||||
"ignoreNonDOM": true,
|
||||
},
|
||||
],
|
||||
"jsx-a11y/label-has-associated-control": [
|
||||
"error",
|
||||
{
|
||||
"controlComponents": ["NumberInput"],
|
||||
"depth": 2,
|
||||
},
|
||||
],
|
||||
},
|
||||
},
|
||||
{
|
||||
"files": [
|
||||
"public/app/plugins/datasource/azuremonitor/*.{ts,tsx}",
|
||||
"public/app/plugins/datasource/azuremonitor/**/*.{ts,tsx}",
|
||||
"public/app/plugins/datasource/cloud-monitoring/*.{ts,tsx}",
|
||||
"public/app/plugins/datasource/cloud-monitoring/**/*.{ts,tsx}",
|
||||
"public/app/plugins/datasource/elasticsearch/*.{ts,tsx}",
|
||||
"public/app/plugins/datasource/elasticsearch/**/*.{ts,tsx}",
|
||||
"public/app/plugins/datasource/grafana-postgresql-datasource/*.{ts,tsx}",
|
||||
"public/app/plugins/datasource/grafana-postgresql-datasource/**/*.{ts,tsx}",
|
||||
"public/app/plugins/datasource/grafana-pyroscope-datasource/*.{ts,tsx}",
|
||||
"public/app/plugins/datasource/grafana-pyroscope-datasource/**/*.{ts,tsx}",
|
||||
"public/app/plugins/datasource/grafana-testdata-datasource/*.{ts,tsx}",
|
||||
"public/app/plugins/datasource/grafana-testdata-datasource/**/*.{ts,tsx}",
|
||||
"public/app/plugins/datasource/jaeger/*.{ts,tsx}",
|
||||
"public/app/plugins/datasource/jaeger/**/*.{ts,tsx}",
|
||||
"public/app/plugins/datasource/loki/*.{ts,tsx}",
|
||||
"public/app/plugins/datasource/loki/**/*.{ts,tsx}",
|
||||
"public/app/plugins/datasource/mysql/*.{ts,tsx}",
|
||||
"public/app/plugins/datasource/mysql/**/*.{ts,tsx}",
|
||||
"public/app/plugins/datasource/parca/*.{ts,tsx}",
|
||||
"public/app/plugins/datasource/parca/**/*.{ts,tsx}",
|
||||
"public/app/plugins/datasource/tempo/*.{ts,tsx}",
|
||||
"public/app/plugins/datasource/tempo/**/*.{ts,tsx}",
|
||||
"public/app/plugins/datasource/loki/*.{ts,tsx}",
|
||||
"public/app/plugins/datasource/loki/**/*.{ts,tsx}",
|
||||
"public/app/plugins/datasource/elasticsearch/*.{ts,tsx}",
|
||||
"public/app/plugins/datasource/elasticsearch/**/*.{ts,tsx}",
|
||||
"public/app/plugins/datasource/cloudwatch/*.{ts,tsx}",
|
||||
"public/app/plugins/datasource/cloudwatch/**/*.{ts,tsx}",
|
||||
"public/app/plugins/datasource/zipkin/*.{ts,tsx}",
|
||||
"public/app/plugins/datasource/zipkin/**/*.{ts,tsx}",
|
||||
],
|
||||
"settings": {
|
||||
"import/resolver": {
|
||||
"node": {
|
||||
"extensions": [".ts", ".tsx"],
|
||||
},
|
||||
},
|
||||
},
|
||||
"rules": {
|
||||
"import/no-restricted-paths": [
|
||||
"error",
|
||||
{
|
||||
"zones": [
|
||||
{
|
||||
"target": "./public/app/plugins",
|
||||
"from": "./public",
|
||||
"except": ["./app/plugins"],
|
||||
"message": "Core plugins are not allowed to depend on Grafana core packages",
|
||||
},
|
||||
],
|
||||
},
|
||||
],
|
||||
},
|
||||
},
|
||||
],
|
||||
}
|
||||
510
.github/CODEOWNERS
vendored
510
.github/CODEOWNERS
vendored
@@ -12,8 +12,8 @@
|
||||
# This should make it easy to add new rules without breaking existing ones.
|
||||
|
||||
# Documentation
|
||||
/.changelog-archive @grafana/grafana-release-guild
|
||||
/CHANGELOG.md @grafana/grafana-release-guild
|
||||
/.changelog-archive @grafana/grafana-developer-enablement-squad
|
||||
/CHANGELOG.md @grafana/grafana-developer-enablement-squad
|
||||
/CODE_OF_CONDUCT.md @grafana/grafana-community-support
|
||||
/CONTRIBUTING.md @grafana/grafana-community-support
|
||||
/GOVERNANCE.md @RichiH
|
||||
@@ -32,27 +32,21 @@
|
||||
/devenv/README.md @grafana/docs-grafana
|
||||
|
||||
# START Technical documentation
|
||||
/.vale.ini @grafana/docs-tooling
|
||||
# `make docs` procedure and related workflows are owned @grafana/docs-tooling. Slack #docs.
|
||||
/docs/ @grafana/docs-tooling
|
||||
|
||||
/docs/.codespellignore @grafana/docs-tooling
|
||||
/docs/sources/ @Eve832
|
||||
/docs/sources/ @irenerl24
|
||||
|
||||
/docs/sources/administration/ @jdbaldry
|
||||
/docs/sources/alerting/ @brendamuir
|
||||
/docs/sources/alerting/ @JohnnyK-Grafana
|
||||
/docs/sources/dashboards/ @imatwawana
|
||||
/docs/sources/datasources/ @jdbaldry
|
||||
/docs/sources/explore/ @grafana/explore-squad @lwandz13
|
||||
/docs/sources/fundamentals @chri2547
|
||||
/docs/sources/getting-started/ @chri2547
|
||||
/docs/sources/introduction/ @chri2547
|
||||
/docs/sources/datasources/ @lwandz13
|
||||
/docs/sources/panels-visualizations/ @imatwawana
|
||||
/docs/sources/release-notes/ @Eve832 @GrafanaWriter
|
||||
/docs/sources/setup-grafana/ @chri2547
|
||||
/docs/sources/release-notes/ @irenerl24 @GrafanaWriter
|
||||
/docs/sources/upgrade-guide/ @imatwawana
|
||||
/docs/sources/whatsnew/ @imatwawana
|
||||
|
||||
/docs/sources/developers/plugins/ @Eve832 @josmperez @grafana/plugins-platform-frontend @grafana/plugins-platform-backend
|
||||
/docs/sources/developers/plugins/ @grafana/plugins-platform-frontend @grafana/plugins-platform-backend
|
||||
|
||||
/docs/sources/panels-visualizations/query-transform-data/transform-data/index.md @imatwawana @baldm0mma
|
||||
# END Technical documentation
|
||||
@@ -63,30 +57,50 @@
|
||||
/go.work @grafana/grafana-app-platform-squad
|
||||
/go.work.sum @grafana/grafana-app-platform-squad
|
||||
/.bingo/ @grafana/grafana-backend-group
|
||||
/.citools @grafana/grafana-developer-enablement-squad
|
||||
/pkg/README.md @grafana/grafana-backend-group
|
||||
/pkg/ruleguard.rules.go @grafana/grafana-backend-group
|
||||
/.bra.toml @grafana/grafana-backend-group
|
||||
/.golangci.toml @grafana/grafana-backend-group
|
||||
/.golangci.yml @grafana/grafana-backend-group
|
||||
/build.go @grafana/grafana-backend-services-squad
|
||||
/scripts/modowners/ @grafana/grafana-backend-services-squad
|
||||
/scripts/go-workspace @grafana/grafana-app-platform-squad
|
||||
/hack/ @grafana/grafana-app-platform-squad
|
||||
|
||||
/pkg/apis/provisioning @grafana/grafana-git-ui-sync-team
|
||||
/public/app/features/provisioning @grafana/grafana-git-ui-sync-team
|
||||
/pkg/registry/apis/provisioning @grafana/grafana-git-ui-sync-team
|
||||
|
||||
/apps/alerting/ @grafana/alerting-backend
|
||||
/apps/playlist/ @grafana/grafana-app-platform-squad
|
||||
/apps/investigations/ @fcjack @matryer @svennergr
|
||||
/apps/advisor/ @grafana/plugins-platform-backend
|
||||
/pkg/api/ @grafana/grafana-backend-group
|
||||
/pkg/apis/ @grafana/grafana-app-platform-squad
|
||||
/pkg/apis/query @grafana/grafana-datasources-core-services
|
||||
/pkg/apis/userstorage @grafana/grafana-app-platform-squad @grafana/plugins-platform-backend
|
||||
/pkg/bus/ @grafana/grafana-search-and-storage
|
||||
/pkg/cmd/ @grafana/grafana-backend-group
|
||||
/pkg/cmd/grafana/apiserver @grafana/grafana-app-platform-squad
|
||||
/pkg/components/apikeygen/ @grafana/identity-access-team
|
||||
/pkg/components/satokengen/ @grafana/identity-access-team
|
||||
/pkg/cmd/grafana-cli/commands/install_command.go @grafana/plugins-platform-backend
|
||||
/pkg/cmd/grafana-cli/commands/install_command_test.go @grafana/plugins-platform-backend
|
||||
/pkg/cmd/grafana-cli/commands/listremote_command.go @grafana/plugins-platform-backend
|
||||
/pkg/cmd/grafana-cli/commands/listversions_command.go @grafana/plugins-platform-backend
|
||||
/pkg/cmd/grafana-cli/commands/ls_command_test.go @grafana/plugins-platform-backend
|
||||
/pkg/cmd/grafana-cli/commands/ls_command.go @grafana/plugins-platform-backend
|
||||
/pkg/cmd/grafana-cli/commands/remove_command.go @grafana/plugins-platform-backend
|
||||
/pkg/cmd/grafana-cli/commands/upgrade_command.go @grafana/plugins-platform-backend
|
||||
/pkg/cmd/grafana-cli/commands/upgrade_all_command.go @grafana/plugins-platform-backend
|
||||
/pkg/cmd/grafana-cli/commands/upgrade_all_command_test.go @grafana/plugins-platform-backend
|
||||
/pkg/components/apikeygen/ @grafana/identity-squad
|
||||
/pkg/components/satokengen/ @grafana/identity-squad
|
||||
/pkg/components/dashdiffs/ @grafana/grafana-app-platform-squad
|
||||
/pkg/components/imguploader/ @grafana/grafana-backend-group
|
||||
/pkg/components/imguploader/ @grafana/alerting-backend
|
||||
/pkg/components/loki/ @grafana/grafana-backend-group
|
||||
/pkg/components/null/ @grafana/grafana-backend-group
|
||||
/pkg/components/simplejson/ @grafana/grafana-backend-group
|
||||
/pkg/events/ @grafana/grafana-backend-group
|
||||
/pkg/extensions/ @grafana/grafana-backend-group
|
||||
/pkg/ifaces/ @grafana/grafana-backend-group
|
||||
/pkg/infra/appcontext/ @grafana/grafana-backend-group
|
||||
/pkg/infra/db/ @grafana/grafana-backend-group
|
||||
/pkg/infra/localcache/ @grafana/grafana-backend-group
|
||||
/pkg/infra/log/ @grafana/grafana-backend-group
|
||||
@@ -101,15 +115,20 @@
|
||||
/pkg/middleware/ @grafana/grafana-backend-group
|
||||
/pkg/mocks/ @grafana/grafana-backend-group
|
||||
/pkg/models/ @grafana/grafana-backend-group
|
||||
/pkg/semconv/ @grafana/grafana-backend-group
|
||||
/pkg/server/ @grafana/grafana-backend-group
|
||||
/pkg/apiserver @grafana/grafana-app-platform-squad
|
||||
/pkg/aggregator @grafana/grafana-app-platform-squad
|
||||
/pkg/apimachinery @grafana/grafana-app-platform-squad
|
||||
/pkg/promlib @grafana/observability-metrics
|
||||
/pkg/apimachinery/identity/ @grafana/identity-squad
|
||||
/pkg/apimachinery/errutil/ @grafana/grafana-backend-group
|
||||
/pkg/promlib @grafana/oss-big-tent
|
||||
/pkg/storage/ @grafana/grafana-search-and-storage
|
||||
/pkg/services/annotations/ @grafana/grafana-search-and-storage
|
||||
/pkg/services/apikey/ @grafana/identity-access-team
|
||||
/pkg/services/apikey/ @grafana/identity-squad
|
||||
/pkg/services/cleanup/ @grafana/grafana-backend-group
|
||||
/pkg/services/contexthandler/ @grafana/grafana-backend-group
|
||||
/pkg/services/correlations/ @grafana/explore-squad
|
||||
/pkg/services/contexthandler/ @grafana/grafana-backend-group @grafana/grafana-app-platform-squad
|
||||
/pkg/services/correlations/ @grafana/dataviz-squad
|
||||
/pkg/services/dashboardimport/ @grafana/grafana-backend-group
|
||||
/pkg/services/dashboards/ @grafana/grafana-app-platform-squad
|
||||
/pkg/services/dashboardversion/ @grafana/grafana-backend-group
|
||||
@@ -125,8 +144,9 @@
|
||||
/pkg/services/playlist/ @grafana/grafana-app-platform-squad
|
||||
/pkg/services/preference/ @grafana/grafana-backend-group
|
||||
/pkg/services/provisioning/ @grafana/grafana-search-and-storage
|
||||
/pkg/services/provisioning/alerting/ @grafana/alerting-backend
|
||||
/pkg/services/query/ @grafana/grafana-app-platform-squad
|
||||
/pkg/services/queryhistory/ @grafana/grafana-app-platform-squad
|
||||
/pkg/services/queryhistory/ @grafana/observability-traces-and-profiling
|
||||
/pkg/services/quota/ @grafana/grafana-search-and-storage
|
||||
/pkg/services/screenshot/ @grafana/grafana-backend-group
|
||||
/pkg/services/search/ @grafana/grafana-search-and-storage
|
||||
@@ -134,28 +154,28 @@
|
||||
/pkg/services/secrets/ @grafana/grafana-operator-experience-squad
|
||||
/pkg/services/shorturls/ @grafana/grafana-backend-group
|
||||
/pkg/services/sqlstore/ @grafana/grafana-search-and-storage
|
||||
/pkg/services/ssosettings/ @grafana/identity-access-team
|
||||
/pkg/services/ssosettings/ @grafana/identity-squad
|
||||
/pkg/services/star/ @grafana/grafana-search-and-storage
|
||||
/pkg/services/stats/ @grafana/grafana-backend-group
|
||||
/pkg/services/tag/ @grafana/grafana-search-and-storage
|
||||
/pkg/services/team/ @grafana/identity-access-team
|
||||
/pkg/services/team/ @grafana/access-squad
|
||||
/pkg/services/temp_user/ @grafana/grafana-backend-group
|
||||
/pkg/services/updatechecker/ @grafana/grafana-backend-group
|
||||
/pkg/services/user/ @grafana/identity-access-team
|
||||
/pkg/services/user/ @grafana/access-squad
|
||||
/pkg/services/validations/ @grafana/grafana-backend-group
|
||||
/pkg/setting/ @grafana/grafana-backend-services-squad
|
||||
/pkg/tests/ @grafana/grafana-backend-services-squad
|
||||
/pkg/tests/apis/ @grafana/grafana-app-platform-squad
|
||||
/pkg/tests/api/correlations/ @grafana/explore-squad
|
||||
/pkg/tests/apis/query @grafana/grafana-datasources-core-services
|
||||
/pkg/tests/apis/alerting @grafana/grafana-app-platform-squad @grafana/alerting-backend
|
||||
/pkg/tests/api/correlations/ @grafana/dataviz-squad
|
||||
/pkg/tsdb/grafanads/ @grafana/grafana-backend-group
|
||||
/pkg/tsdb/opentsdb/ @grafana/grafana-backend-group
|
||||
/pkg/tsdb/opentsdb/ @grafana/partner-datasources
|
||||
/pkg/util/ @grafana/grafana-backend-group
|
||||
/pkg/web/ @grafana/grafana-backend-group
|
||||
|
||||
/pkg/infra/kvstore/ @grafana/grafana-backend-group
|
||||
/pkg/infra/fs/ @grafana/grafana-backend-group
|
||||
/pkg/infra/x/ @grafana/grafana-backend-group
|
||||
|
||||
|
||||
# devenv
|
||||
# Backend code, developers environment
|
||||
@@ -163,33 +183,83 @@
|
||||
|
||||
# Logs code, developers environment
|
||||
/devenv/docker/blocks/loki* @grafana/observability-logs
|
||||
/devenv/docker/blocks/elastic* @grafana/observability-logs
|
||||
/devenv/docker/blocks/self-instrumentation* @grafana/observability-metrics
|
||||
/devenv/docker/blocks/elastic* @grafana/aws-datasources
|
||||
/devenv/docker/blocks/self-instrumentation* @grafana/oss-big-tent
|
||||
|
||||
/devenv/bulk-dashboards/ @grafana/dashboards-squad
|
||||
/devenv/bulk-folders/ @grafana/grafana-frontend-platform
|
||||
/devenv/create_docker_compose.sh @grafana/grafana-backend-services-squad
|
||||
/devenv/alert_rules.yaml @grafana/alerting-backend-product
|
||||
/devenv/alert_rules.yaml @grafana/alerting-backend
|
||||
/devenv/dashboards.yaml @grafana/dashboards-squad
|
||||
/devenv/datasources.yaml @grafana/grafana-backend-group
|
||||
/devenv/datasources_docker.yaml @grafana/grafana-backend-group
|
||||
/devenv/dev-dashboards-without-uid/ @grafana/dashboards-squad
|
||||
/devenv/dev-dashboards/ @grafana/dashboards-squad
|
||||
/devenv/docker/blocks/alert_webhook_listener/ @grafana/alerting-backend-product
|
||||
|
||||
/devenv/dev-dashboards/annotations @grafana/dataviz-squad
|
||||
/devenv/dev-dashboards/migrations @grafana/dataviz-squad
|
||||
/devenv/dev-dashboards/panel-barchart @grafana/dataviz-squad
|
||||
/devenv/dev-dashboards/panel-bargauge @grafana/dataviz-squad
|
||||
/devenv/dev-dashboards/panel-candlestick @grafana/dataviz-squad
|
||||
/devenv/dev-dashboards/panel-canvas @grafana/dataviz-squad
|
||||
/devenv/dev-dashboards/panel-datagrid @grafana/dataviz-squad
|
||||
/devenv/dev-dashboards/panel-gauge @grafana/dataviz-squad
|
||||
/devenv/dev-dashboards/panel-geomap @grafana/dataviz-squad
|
||||
/devenv/dev-dashboards/panel-graph @grafana/dataviz-squad
|
||||
/devenv/dev-dashboards/panel-heatmap @grafana/dataviz-squad
|
||||
/devenv/dev-dashboards/panel-histogram @grafana/dataviz-squad
|
||||
/devenv/dev-dashboards/panel-library @grafana/dataviz-squad
|
||||
/devenv/dev-dashboards/panel-piechart @grafana/dataviz-squad
|
||||
/devenv/dev-dashboards/panel-stat @grafana/dataviz-squad
|
||||
/devenv/dev-dashboards/panel-table @grafana/dataviz-squad
|
||||
/devenv/dev-dashboards/panel-timeline @grafana/dataviz-squad
|
||||
/devenv/dev-dashboards/panel-timeseries @grafana/dataviz-squad
|
||||
/devenv/dev-dashboards/panel-trend @grafana/dataviz-squad
|
||||
/devenv/dev-dashboards/panel-xychart @grafana/dataviz-squad
|
||||
/devenv/dev-dashboards/transforms @grafana/dataviz-squad
|
||||
/devenv/dev-dashboards/all-panels.json @grafana/dataviz-squad
|
||||
/devenv/dev-dashboards/dashboards.go @grafana/dataviz-squad
|
||||
/devenv/dev-dashboards/home.json @grafana/dataviz-squad
|
||||
|
||||
/devenv/dev-dashboards/datasource-elasticsearch/ @grafana/aws-datasources
|
||||
/devenv/dev-dashboards/datasource-opentsdb/ @grafana/partner-datasources
|
||||
/devenv/dev-dashboards/datasource-influxdb/ @grafana/partner-datasources
|
||||
/devenv/dev-dashboards/datasource-mssql/ @grafana/partner-datasources
|
||||
/devenv/dev-dashboards/datasource-loki/ @grafana/plugins-platform-frontend
|
||||
/devenv/dev-dashboards/datasource-testdata/ @grafana/plugins-platform-frontend
|
||||
/devenv/dev-dashboards/datasource-mysql/ @grafana/oss-big-tent
|
||||
/devenv/dev-dashboards/datasource-postgres/ @grafana/oss-big-tent
|
||||
|
||||
/devenv/dev-dashboards/e2e-repeats/ @grafana/grafana-frontend-platform
|
||||
/devenv/dev-dashboards/panel-text @grafana/grafana-frontend-platform
|
||||
/devenv/dev-dashboards/scenarios @grafana/grafana-frontend-platform
|
||||
|
||||
/devenv/dev-dashboards/feature-templating/ @grafana/dashboards-squad
|
||||
/devenv/dev-dashboards/panel-common @grafana/dashboards-squad
|
||||
/devenv/dev-dashboards/panel-dashlist @grafana/dashboards-squad
|
||||
/devenv/dev-dashboards/live @grafana/dashboards-squad
|
||||
|
||||
/devenv/dev-dashboards/panel-flamegraph/ @grafana/observability-traces-and-profiling
|
||||
/devenv/dev-dashboards/panel-polystat @grafana/plugins-platform-frontend
|
||||
/devenv/dev-dashboards/extensions/ @grafana/plugins-platform-frontend
|
||||
|
||||
/devenv/docker/blocks/alert_webhook_listener/ @grafana/alerting-backend
|
||||
/devenv/docker/blocks/stateful_webhook/ @grafana/alerting-backend
|
||||
/devenv/docker/blocks/caddy_tls/ @grafana/alerting-backend
|
||||
/devenv/docker/blocks/clickhouse/ @grafana/partner-datasources
|
||||
/devenv/docker/blocks/collectd/ @grafana/observability-metrics
|
||||
/devenv/docker/blocks/etcd @grafana/grafana-app-platform-squad
|
||||
/devenv/docker/blocks/grafana/ @grafana/grafana-as-code
|
||||
/devenv/docker/blocks/graphite/ @grafana/observability-metrics
|
||||
/devenv/docker/blocks/graphite09/ @grafana/observability-metrics
|
||||
/devenv/docker/blocks/graphite1/ @grafana/observability-metrics
|
||||
/devenv/docker/blocks/influxdb/ @grafana/observability-metrics
|
||||
/devenv/docker/blocks/influxdb1/ @grafana/observability-metrics
|
||||
/devenv/docker/blocks/jaeger/ @grafana/observability-traces-and-profiling
|
||||
/devenv/docker/blocks/graphite/ @grafana/partner-datasources
|
||||
/devenv/docker/blocks/graphite09/ @grafana/partner-datasources
|
||||
/devenv/docker/blocks/graphite1/ @grafana/partner-datasources
|
||||
/devenv/docker/blocks/influxdb/ @grafana/partner-datasources
|
||||
/devenv/docker/blocks/influxdb1/ @grafana/partner-datasources
|
||||
/devenv/docker/blocks/jaeger/ @grafana/oss-big-tent
|
||||
/devenv/docker/blocks/maildev/ @grafana/alerting-frontend
|
||||
/devenv/docker/blocks/mariadb/ @grafana/oss-big-tent
|
||||
/devenv/docker/blocks/memcached/ @grafana/grafana-backend-group
|
||||
/devenv/docker/blocks/mimir_backend/ @grafana/alerting-backend-product
|
||||
/devenv/docker/blocks/mimir_backend/ @grafana/alerting-backend
|
||||
/devenv/docker/blocks/mqtt/ @grafana/alerting-backend
|
||||
/devenv/docker/blocks/mssql/ @grafana/partner-datasources
|
||||
/devenv/docker/blocks/mssql_arm64/ @grafana/partner-datasources
|
||||
/devenv/docker/blocks/mssql_tests/ @grafana/partner-datasources
|
||||
@@ -198,11 +268,13 @@
|
||||
/devenv/docker/blocks/mysql_exporter/ @grafana/oss-big-tent
|
||||
/devenv/docker/blocks/mysql_opendata/ @grafana/oss-big-tent
|
||||
/devenv/docker/blocks/mysql_tests/ @grafana/oss-big-tent
|
||||
/devenv/docker/blocks/opentsdb/ @grafana/observability-metrics
|
||||
/devenv/docker/blocks/opentsdb/ @grafana/partner-datasources
|
||||
/devenv/docker/blocks/postgres/ @grafana/oss-big-tent
|
||||
/devenv/docker/blocks/postgres_tests/ @grafana/oss-big-tent
|
||||
/devenv/docker/blocks/prometheus/ @grafana/observability-metrics
|
||||
/devenv/docker/blocks/prometheus_random_data/ @grafana/observability-metrics
|
||||
/devenv/docker/blocks/prometheus/ @grafana/oss-big-tent
|
||||
/devenv/docker/blocks/prometheus_random_data/ @grafana/oss-big-tent
|
||||
/devenv/docker/blocks/prometheus_high_card/ @grafana/oss-big-tent
|
||||
/devenv/docker/blocks/prometheus_utf8/ @grafana/oss-big-tent
|
||||
/devenv/docker/blocks/pyroscope/ @grafana/observability-traces-and-profiling
|
||||
/devenv/docker/blocks/redis/ @bergquist
|
||||
/devenv/docker/blocks/sensugo/ @grafana/grafana-backend-group
|
||||
@@ -210,19 +282,20 @@
|
||||
/devenv/docker/blocks/smtp/ @bergquist
|
||||
/devenv/docker/blocks/tempo/ @grafana/observability-traces-and-profiling
|
||||
/devenv/docker/blocks/traefik/ @mckn
|
||||
/devenv/docker/blocks/zipkin/ @grafana/observability-traces-and-profiling
|
||||
/devenv/docker/blocks/webdav/ @grafana/alerting-backend-product
|
||||
/devenv/docker/blocks/zipkin/ @grafana/oss-big-tent
|
||||
/devenv/docker/blocks/webdav/ @grafana/alerting-backend
|
||||
/devenv/docker/buildcontainer/ @bergquist
|
||||
/devenv/docker/compose_header.yml @grafana/grafana-backend-services-squad
|
||||
/devenv/docker/debtest/ @bergquist
|
||||
/devenv/docker/ha-test-unified-alerting/ @grafana/alerting-backend-product
|
||||
/devenv/docker/ha-test-unified-alerting/ @grafana/alerting-backend
|
||||
/devenv/docker/ha_test/ @grafana/grafana-backend-services-squad
|
||||
/devenv/docker/loadtest/ @grafana/grafana-backend-services-squad
|
||||
/devenv/docker/rpmtest/ @grafana/grafana-backend-services-squad
|
||||
/devenv/jsonnet/ @grafana/dataviz-squad
|
||||
/devenv/local_cdn/ @grafana/frontend-ops
|
||||
/devenv/local-npm/ @grafana/frontend-ops
|
||||
/devenv/vscode/ @grafana/frontend-ops
|
||||
/devenv/setup.sh @grafana/grafana-backend-services-squad
|
||||
/devenv/plugins.yaml @grafana/plugins-platform-frontend
|
||||
|
||||
# Emails
|
||||
/emails/ @grafana/alerting-frontend
|
||||
@@ -232,15 +305,17 @@
|
||||
|
||||
|
||||
# Continuous Integration
|
||||
.drone.yml @grafana/grafana-release-guild
|
||||
.drone.star @grafana/grafana-release-guild
|
||||
/scripts/drone/ @grafana/grafana-release-guild
|
||||
/pkg/build/ @grafana/grafana-release-guild
|
||||
/.dockerignore @grafana/grafana-release-guild
|
||||
/Dockerfile @grafana/grafana-release-guild
|
||||
/Makefile @grafana/grafana-release-guild
|
||||
/scripts/build/ @grafana/grafana-release-guild
|
||||
/scripts/list-release-artifacts.sh @grafana/grafana-release-guild
|
||||
.drone.yml @grafana/grafana-developer-enablement-squad
|
||||
.drone.star @grafana/grafana-developer-enablement-squad
|
||||
/scripts/drone/ @grafana/grafana-developer-enablement-squad
|
||||
/pkg/build/ @grafana/grafana-developer-enablement-squad
|
||||
/.dockerignore @grafana/grafana-developer-enablement-squad
|
||||
/Dockerfile @grafana/grafana-developer-enablement-squad
|
||||
/Makefile @grafana/grafana-developer-enablement-squad
|
||||
/scripts/build/ @grafana/grafana-developer-enablement-squad
|
||||
/scripts/list-release-artifacts.sh @grafana/grafana-developer-enablement-squad
|
||||
/scripts/releasefinder.sh @baldm0mma
|
||||
/.trivyignore @grafana/grafana-backend-services-squad
|
||||
|
||||
# OSS Plugin Partnerships backend code
|
||||
/pkg/tsdb/cloudwatch/ @grafana/aws-datasources
|
||||
@@ -248,21 +323,23 @@
|
||||
/pkg/tsdb/cloud-monitoring/ @grafana/partner-datasources
|
||||
|
||||
# Observability backend code
|
||||
/pkg/tsdb/prometheus/ @grafana/observability-metrics
|
||||
/pkg/tsdb/influxdb/ @grafana/observability-metrics
|
||||
/pkg/tsdb/elasticsearch/ @grafana/observability-logs
|
||||
/pkg/tsdb/graphite/ @grafana/observability-metrics
|
||||
/pkg/tsdb/prometheus/ @grafana/oss-big-tent
|
||||
/pkg/tsdb/elasticsearch/ @grafana/aws-datasources
|
||||
/pkg/tsdb/loki/ @grafana/observability-logs
|
||||
/pkg/tsdb/tempo/ @grafana/observability-traces-and-profiling
|
||||
/pkg/tsdb/grafana-pyroscope-datasource/ @grafana/observability-traces-and-profiling
|
||||
/pkg/tsdb/parca/ @grafana/observability-traces-and-profiling
|
||||
/pkg/tsdb/parca/ @grafana/oss-big-tent
|
||||
|
||||
# OSS Big Tent backend code
|
||||
/pkg/tsdb/mysql/ @grafana/oss-big-tent
|
||||
/pkg/tsdb/grafana-postgresql-datasource/ @grafana/oss-big-tent
|
||||
/pkg/tsdb/zipkin/ @grafana/oss-big-tent
|
||||
/pkg/tsdb/jaeger/ @grafana/oss-big-tent
|
||||
|
||||
# Partner Datasources backend code
|
||||
/pkg/tsdb/mssql/ @grafana/partner-datasources
|
||||
/pkg/tsdb/influxdb/ @grafana/partner-datasources
|
||||
/pkg/tsdb/graphite/ @grafana/partner-datasources
|
||||
|
||||
# Database migrations
|
||||
/pkg/services/sqlstore/migrations/ @grafana/grafana-search-and-storage
|
||||
@@ -278,9 +355,9 @@
|
||||
/pkg/generated @grafana/grafana-app-platform-squad
|
||||
|
||||
# Alerting
|
||||
/pkg/services/ngalert/ @grafana/alerting-backend-product
|
||||
/pkg/services/sqlstore/migrations/ualert/ @grafana/alerting-backend-product
|
||||
/pkg/tests/api/alerting/ @grafana/alerting-backend-product
|
||||
/pkg/services/ngalert/ @grafana/alerting-backend
|
||||
/pkg/services/sqlstore/migrations/ualert/ @grafana/alerting-backend
|
||||
/pkg/tests/api/alerting/ @grafana/alerting-backend
|
||||
/public/app/features/alerting/ @grafana/alerting-frontend
|
||||
/public/app/features/gops/ @grafana/alerting-frontend
|
||||
|
||||
@@ -295,7 +372,7 @@
|
||||
/pkg/services/datasourceproxy/ @grafana/plugins-platform-backend
|
||||
/pkg/services/datasources/ @grafana/plugins-platform-backend
|
||||
/pkg/services/pluginsintegration/ @grafana/plugins-platform-backend
|
||||
/pkg/plugins/pfs/ @grafana/plugins-platform-backend @grafana/grafana-as-code
|
||||
/pkg/plugins/codegen/pfs/ @grafana/plugins-platform-backend @grafana/grafana-as-code
|
||||
/pkg/tsdb/grafana-testdata-datasource/ @grafana/plugins-platform-backend
|
||||
/pkg/tsdb/Magefile.go @grafana/plugins-platform-backend
|
||||
/pkg/services/pluginsintegration/pluginsettings/ @grafana/plugins-platform-backend
|
||||
@@ -306,53 +383,67 @@
|
||||
|
||||
|
||||
/crowdin.yml @grafana/grafana-frontend-platform
|
||||
/public/locales/ @grafana/grafana-frontend-platform
|
||||
/public/locales/ @grafanabot
|
||||
/public/locales/i18next-parser.config.cjs @grafana/grafana-frontend-platform
|
||||
/public/locales/i18next-parser-enterprise.config.cjs @grafana/grafana-frontend-platform
|
||||
/public/app/core/internationalization/ @grafana/grafana-frontend-platform
|
||||
/e2e/ @grafana/grafana-frontend-platform
|
||||
/e2e/cloud-plugins-suite/ @grafana/partner-datasources
|
||||
/e2e/plugin-e2e/plugin-e2e-api-tests/ @grafana/plugins-platform-frontend
|
||||
/e2e/test-plugins/grafana-extensionstest-app/ @grafana/plugins-platform-frontend
|
||||
|
||||
# Packages
|
||||
/packages/ @grafana/grafana-frontend-platform @grafana/plugins-platform-frontend
|
||||
/packages/grafana-data/src/**/*logs* @grafana/observability-logs
|
||||
/packages/grafana-data/src/transformations/ @grafana/dataviz-squad
|
||||
/packages/grafana-e2e-selectors/ @grafana/grafana-frontend-platform
|
||||
/packages/grafana-ui/.storybook/ @grafana/plugins-platform-frontend
|
||||
/packages/grafana-flamegraph/ @grafana/observability-traces-and-profiling
|
||||
/packages/grafana-o11y-ds-frontend/ @grafana/observability-logs
|
||||
/packages/grafana-o11y-ds-frontend/src/IntervalInput/ @grafana/observability-traces-and-profiling
|
||||
/packages/grafana-o11y-ds-frontend/src/NodeGraph/ @grafana/observability-traces-and-profiling
|
||||
/packages/grafana-o11y-ds-frontend/src/pyroscope/ @grafana/observability-traces-and-profiling
|
||||
/packages/grafana-o11y-ds-frontend/src/SpanBar/ @grafana/observability-traces-and-profiling
|
||||
/packages/grafana-o11y-ds-frontend/src/TraceToLogs/ @grafana/observability-traces-and-profiling
|
||||
/packages/grafana-o11y-ds-frontend/src/TraceToMetrics/ @grafana/observability-traces-and-profiling
|
||||
/packages/grafana-o11y-ds-frontend/src/TraceToProfiles/ @grafana/observability-traces-and-profiling
|
||||
/packages/grafana-plugin-configs/ @grafana/plugins-platform-frontend
|
||||
/packages/grafana-prometheus/ @grafana/oss-big-tent
|
||||
/packages/grafana-schema/src/**/*canvas* @grafana/dataviz-squad
|
||||
/packages/grafana-schema/src/**/*tempo* @grafana/observability-traces-and-profiling
|
||||
/packages/grafana-sql/ @grafana/partner-datasources @grafana/oss-big-tent
|
||||
/packages/grafana-ui/.storybook/ @grafana/grafana-frontend-platform
|
||||
/packages/grafana-ui/src/components/ @grafana/grafana-frontend-platform
|
||||
/packages/grafana-ui/src/components/DateTimePickers/ @grafana/grafana-frontend-platform
|
||||
/packages/grafana-ui/src/components/Table/ @grafana/dataviz-squad
|
||||
/packages/grafana-ui/src/components/Table/SparklineCell.tsx @grafana/dataviz-squad @grafana/app-o11y-visualizations
|
||||
/packages/grafana-ui/src/components/Gauge/ @grafana/dataviz-squad
|
||||
/packages/grafana-ui/src/components/BarGauge/ @grafana/dataviz-squad
|
||||
/packages/grafana-ui/src/components/uPlot/ @grafana/dataviz-squad
|
||||
/packages/grafana-ui/src/components/DataLinks/ @grafana/dataviz-squad
|
||||
/packages/grafana-ui/src/components/DateTimePickers/ @grafana/grafana-frontend-platform
|
||||
/packages/grafana-ui/src/components/Gauge/ @grafana/dataviz-squad
|
||||
/packages/grafana-ui/src/components/PluginSignatureBadge/ @grafana/plugins-platform-frontend
|
||||
/packages/grafana-ui/src/components/Sparkline/ @grafana/grafana-frontend-platform @grafana/app-o11y-visualizations
|
||||
/packages/grafana-ui/src/components/Table/ @grafana/dataviz-squad
|
||||
/packages/grafana-ui/src/components/uPlot/ @grafana/dataviz-squad
|
||||
/packages/grafana-ui/src/components/ValuePicker/ @grafana/dataviz-squad
|
||||
/packages/grafana-ui/src/components/VizLayout/ @grafana/dataviz-squad
|
||||
/packages/grafana-ui/src/components/VizLegend/ @grafana/dataviz-squad
|
||||
/packages/grafana-ui/src/components/VizRepeater/ @grafana/dataviz-squad
|
||||
/packages/grafana-ui/src/components/VizTooltip/ @grafana/dataviz-squad
|
||||
/packages/grafana-ui/src/components/Sparkline/ @grafana/grafana-frontend-platform @grafana/app-o11y-visualizations
|
||||
/packages/grafana-ui/src/graveyard/Graph/ @grafana/dataviz-squad
|
||||
/packages/grafana-ui/src/graveyard/GraphNG/ @grafana/dataviz-squad
|
||||
/packages/grafana-ui/src/graveyard/TimeSeries/ @grafana/dataviz-squad
|
||||
/packages/grafana-ui/src/utils/storybook/ @grafana/plugins-platform-frontend
|
||||
/packages/grafana-data/src/transformations/ @grafana/dataviz-squad
|
||||
/packages/grafana-data/src/**/*logs* @grafana/observability-logs
|
||||
/packages/grafana-schema/src/**/*tempo* @grafana/observability-traces-and-profiling
|
||||
/packages/grafana-schema/src/**/*canvas* @grafana/dataviz-squad
|
||||
/packages/grafana-flamegraph/ @grafana/observability-traces-and-profiling
|
||||
/plugins-bundled/ @grafana/plugins-platform-frontend
|
||||
/packages/grafana-plugin-configs/ @grafana/plugins-platform-frontend
|
||||
/packages/grafana-prometheus/ @grafana/observability-metrics
|
||||
/packages/grafana-o11y-ds-frontend/ @grafana/observability-logs @grafana/observability-traces-and-profiling
|
||||
/packages/grafana-sql/ @grafana/partner-datasources @grafana/oss-big-tent
|
||||
/packages/grafana-ui/src/utils/storybook/ @grafana/grafana-frontend-platform
|
||||
|
||||
# root files, mostly frontend
|
||||
/.browserslistrc @grafana/frontend-ops
|
||||
/package.json @grafana/frontend-ops
|
||||
/nx.json @grafana/frontend-ops
|
||||
/project.json @grafana/frontend-ops
|
||||
/.nxignore @grafana/frontend-ops
|
||||
/tsconfig.json @grafana/frontend-ops
|
||||
/.editorconfig @grafana/frontend-ops
|
||||
/.eslintignore @grafana/frontend-ops
|
||||
/eslint.config.js @grafana/frontend-ops
|
||||
/.betterer.eslint.config.js @grafana/frontend-ops
|
||||
/.gitattributes @grafana/frontend-ops
|
||||
/.gitignore @grafana/frontend-ops
|
||||
/.ignore @grafana/frontend-ops
|
||||
/.nvmrc @grafana/frontend-ops
|
||||
/.prettierignore @grafana/frontend-ops
|
||||
/.yarn @grafana/frontend-ops
|
||||
@@ -360,20 +451,19 @@
|
||||
/yarn.lock @grafana/frontend-ops
|
||||
/lerna.json @grafana/frontend-ops
|
||||
/.prettierrc.js @grafana/frontend-ops
|
||||
/.eslintrc @grafana/frontend-ops
|
||||
/.vim @zoltanbedi
|
||||
/jest.config.js @grafana/frontend-ops
|
||||
/latest.json @grafana/frontend-ops
|
||||
/stylelint.config.js @grafana/frontend-ops
|
||||
/tools/ @grafana/frontend-ops
|
||||
/lefthook.yml @grafana/frontend-ops
|
||||
/lefthook.rc @grafana/frontend-ops
|
||||
/.husky/pre-commit @grafana/frontend-ops
|
||||
/cypress.config.js @grafana/grafana-frontend-platform
|
||||
/.levignore.js @grafana/plugins-platform-frontend
|
||||
playwright.config.ts @grafana/plugins-platform-frontend
|
||||
|
||||
# public folder
|
||||
/public/app/api/ @grafana/grafana-frontend-platform
|
||||
/public/app/core/ @grafana/grafana-frontend-platform
|
||||
/public/app/core/components/TimePicker/ @grafana/grafana-frontend-platform
|
||||
/public/app/core/components/Layers/ @grafana/dataviz-squad
|
||||
@@ -381,60 +471,63 @@ playwright.config.ts @grafana/plugins-platform-frontend
|
||||
/public/app/core/components/TimeSeries/ @grafana/dataviz-squad
|
||||
/public/app/core/components/TimelineChart/ @grafana/dataviz-squad
|
||||
/public/app/core/components/Form/ @grafana/grafana-frontend-platform
|
||||
/public/app/core/history/ @grafana/explore-squad
|
||||
/public/app/features/all.ts @grafana/grafana-frontend-platform
|
||||
/public/app/core/components/OptionsUI/ @grafana/dashboards-squad @grafana/dataviz-squad
|
||||
|
||||
|
||||
/public/app/core/history/ @grafana/observability-traces-and-profiling
|
||||
/public/app/features/admin/ @grafana/identity-access-team
|
||||
|
||||
# Temp owners until Enterprise team takes over
|
||||
/public/app/features/migrate-to-cloud @grafana/grafana-frontend-platform
|
||||
|
||||
/public/app/features/auth-config/ @grafana/identity-access-team
|
||||
/public/app/features/actions/ @grafana/dataviz-squad
|
||||
/public/app/features/auth-config/ @grafana/identity-squad
|
||||
/public/app/features/annotations/ @grafana/dashboards-squad
|
||||
/public/app/features/api-keys/ @grafana/identity-access-team
|
||||
/public/app/features/api-keys/ @grafana/identity-squad
|
||||
/public/app/features/canvas/ @grafana/dataviz-squad
|
||||
/public/app/features/geo/ @grafana/dataviz-squad
|
||||
/public/app/features/visualization/data-hover/ @grafana/dataviz-squad
|
||||
/public/app/features/commandPalette/ @grafana/grafana-frontend-platform
|
||||
/public/app/features/connections/ @grafana/plugins-platform-frontend @mikkancso
|
||||
/public/app/features/correlations/ @grafana/explore-squad
|
||||
/public/app/features/connections/ @grafana/plugins-platform-frontend
|
||||
/public/app/features/correlations/ @grafana/dataviz-squad
|
||||
/public/app/features/dashboard/ @grafana/dashboards-squad
|
||||
/public/app/features/dashboard/components/TransformationsEditor/ @grafana/dataviz-squad
|
||||
/public/app/features/dashboard-scene/ @grafana/dashboards-squad
|
||||
/public/app/features/datasources/ @grafana/plugins-platform-frontend @mikkancso
|
||||
/public/app/features/scopes/ @grafana/dashboards-squad
|
||||
/public/app/features/datasources/ @grafana/plugins-platform-frontend
|
||||
/public/app/features/dimensions/ @grafana/dataviz-squad
|
||||
/public/app/features/dataframe-import/ @grafana/dataviz-squad
|
||||
/public/app/features/explore/ @grafana/explore-squad
|
||||
/public/app/features/expressions/ @grafana/observability-metrics
|
||||
/public/app/features/explore/ @grafana/observability-traces-and-profiling
|
||||
/public/app/features/expressions/ @grafana/grafana-datasources-core-services
|
||||
/public/app/features/folders/ @grafana/grafana-frontend-platform
|
||||
/public/app/features/inspector/ @grafana/dashboards-squad
|
||||
/public/app/features/invites/ @grafana/grafana-frontend-platform
|
||||
/public/app/features/library-panels/ @grafana/dashboards-squad
|
||||
/public/app/features/logs/ @grafana/observability-logs
|
||||
/public/app/features/live/ @grafana/grafana-app-platform-squad
|
||||
/public/app/features/live/ @grafana/dashboards-squad
|
||||
/public/app/features/apiserver/ @grafana/grafana-app-platform-squad
|
||||
/public/app/features/manage-dashboards/ @grafana/dashboards-squad
|
||||
/public/app/features/manage-dashboards/RecentlyDeletedPage.tsx @grafana/grafana-frontend-platform
|
||||
/public/app/features/notifications/ @grafana/grafana-frontend-platform
|
||||
/public/app/features/org/ @grafana/grafana-frontend-platform
|
||||
/public/app/features/panel/ @grafana/dashboards-squad
|
||||
/public/app/features/playlist/ @grafana/dashboards-squad
|
||||
/public/app/features/plugins/ @grafana/plugins-platform-frontend
|
||||
/public/app/features/profile/ @grafana/grafana-frontend-platform
|
||||
/public/app/features/query-library/ @grafana/explore-squad
|
||||
/public/app/features/runtime/ @ryantxu
|
||||
/public/app/features/query/ @grafana/dashboards-squad
|
||||
/public/app/features/sandbox/ @grafana/grafana-frontend-platform
|
||||
/public/app/features/browse-dashboards/ @grafana/grafana-frontend-platform
|
||||
/public/app/features/search/ @grafana/grafana-frontend-platform
|
||||
/public/app/features/serviceaccounts/ @grafana/identity-access-team
|
||||
/public/app/features/storage/ @grafana/grafana-app-platform-squad
|
||||
/public/app/features/teams/ @grafana/identity-access-team
|
||||
/public/app/features/serviceaccounts/ @grafana/identity-squad
|
||||
/public/app/features/teams/ @grafana/access-squad
|
||||
/public/app/features/templating/ @grafana/dashboards-squad
|
||||
/public/app/features/trails/ @torkelo
|
||||
/public/app/features/trails/ @grafana/observability-metrics
|
||||
/public/app/features/transformers/ @grafana/dataviz-squad
|
||||
/public/app/features/transformers/timeSeriesTable/ @grafana/dataviz-squad @grafana/app-o11y-visualizations
|
||||
/public/app/features/users/ @grafana/identity-access-team
|
||||
/public/app/features/users/ @grafana/access-squad
|
||||
/public/app/features/variables/ @grafana/dashboards-squad
|
||||
/public/app/features/preferences/ @grafana/grafana-frontend-platform
|
||||
/public/app/features/bookmarks/ @grafana/grafana-frontend-platform
|
||||
/public/app/plugins/panel/alertlist/ @grafana/alerting-frontend
|
||||
/public/app/plugins/panel/annolist/ @grafana/grafana-frontend-platform
|
||||
/public/app/plugins/panel/barchart/ @grafana/dataviz-squad
|
||||
@@ -444,10 +537,10 @@ playwright.config.ts @grafana/plugins-platform-frontend
|
||||
/public/app/plugins/panel/datagrid/ @grafana/dataviz-squad
|
||||
/public/app/plugins/panel/gauge/ @grafana/dataviz-squad
|
||||
/public/app/plugins/panel/gettingstarted/ @grafana/grafana-frontend-platform
|
||||
/public/app/plugins/panel/graph/ @grafana/dataviz-squad
|
||||
/public/app/plugins/panel/heatmap/ @grafana/dataviz-squad
|
||||
/public/app/plugins/panel/histogram/ @grafana/dataviz-squad
|
||||
/public/app/plugins/panel/logs/ @grafana/observability-logs
|
||||
/public/app/plugins/panel/logs-new/ @grafana/observability-logs
|
||||
/public/app/plugins/panel/nodeGraph/ @grafana/observability-traces-and-profiling @grafana/app-o11y-visualizations
|
||||
/public/app/plugins/panel/traces/ @grafana/observability-traces-and-profiling
|
||||
/public/app/plugins/panel/flamegraph/ @grafana/observability-traces-and-profiling
|
||||
@@ -456,24 +549,23 @@ playwright.config.ts @grafana/plugins-platform-frontend
|
||||
/public/app/plugins/panel/status-history/ @grafana/dataviz-squad
|
||||
/public/app/plugins/panel/table/ @grafana/dataviz-squad
|
||||
/public/app/plugins/panel/table/cells/SparklineCellOptionsEditor.tsx @grafana/dataviz-squad @grafana/app-o11y-visualizations
|
||||
/public/app/plugins/panel/table-old/ @grafana/dataviz-squad
|
||||
/public/app/plugins/panel/timeseries/ @grafana/dataviz-squad
|
||||
/public/app/plugins/panel/trend/ @grafana/dataviz-squad
|
||||
/public/app/plugins/panel/geomap/ @grafana/dataviz-squad
|
||||
/public/app/plugins/panel/canvas/ @grafana/dataviz-squad
|
||||
/public/app/plugins/panel/candlestick/ @grafana/dataviz-squad
|
||||
/public/app/plugins/panel/live/ @grafana/grafana-app-platform-squad
|
||||
/public/app/plugins/panel/live/ @grafana/dashboards-squad
|
||||
/public/app/plugins/panel/news/ @grafana/grafana-frontend-platform
|
||||
/public/app/plugins/panel/stat/ @grafana/dataviz-squad
|
||||
/public/app/plugins/panel/text/ @grafana/grafana-frontend-platform
|
||||
/public/app/plugins/panel/welcome/ @grafana/grafana-frontend-platform
|
||||
/public/app/plugins/panel/xychart/ @grafana/dataviz-squad
|
||||
/public/app/plugins/sdk.ts @grafana/plugins-platform-frontend
|
||||
/public/app/routes/ @grafana/grafana-frontend-platform
|
||||
/public/app/store/ @grafana/grafana-frontend-platform
|
||||
/public/app/types/ @grafana/grafana-frontend-platform
|
||||
/public/app/types/alerting.ts @grafana/alerting-frontend
|
||||
/public/app/types/unified-alerting-dto.ts @grafana/alerting-frontend
|
||||
/public/app/types/unified-alerting.ts @grafana/alerting-frontend
|
||||
/public/dashboards/ @grafana/dashboards-squad
|
||||
/public/gazetteer/ @ryantxu
|
||||
/public/img/ @grafana/grafana-frontend-platform
|
||||
@@ -486,20 +578,21 @@ playwright.config.ts @grafana/plugins-platform-frontend
|
||||
/public/test/ @grafana/grafana-frontend-platform
|
||||
/public/test/helpers/alertingRuleEditor.tsx @grafana/alerting-frontend
|
||||
/public/views/ @grafana/grafana-frontend-platform
|
||||
/public/views/swagger.html @grafana/grafana-backend-group
|
||||
/public/views/swagger.html @grafana/grafana-app-platform-squad
|
||||
/public/swagger/ @grafana/grafana-app-platform-squad
|
||||
|
||||
/public/app/features/explore/Logs/ @grafana/observability-logs
|
||||
|
||||
/public/app/features/explore/RawPrometheus/ @grafana/observability-metrics
|
||||
/public/app/features/explore/RawPrometheus/ @grafana/oss-big-tent
|
||||
|
||||
/public/app/features/explore/NodeGraph/ @grafana/observability-traces-and-profiling
|
||||
/public/app/features/explore/FlameGraph/ @grafana/observability-traces-and-profiling
|
||||
/public/app/features/explore/TraceView/ @grafana/observability-traces-and-profiling
|
||||
/public/app/features/explore/QueryLibrary/ @grafana/grafana-frontend-platform
|
||||
|
||||
/public/api-merged.json @grafana/grafana-backend-group
|
||||
/public/api-enterprise-spec.json @grafana/grafana-backend-group
|
||||
/public/openapi3.json @grafana/grafana-backend-group
|
||||
/public/app/angular/ @torkelo
|
||||
/public/app/app.ts @grafana/frontend-ops
|
||||
/public/app/dev.ts @grafana/frontend-ops
|
||||
/public/app/core/utils/metrics.ts @grafana/plugins-platform-frontend
|
||||
@@ -507,35 +600,34 @@ playwright.config.ts @grafana/plugins-platform-frontend
|
||||
/public/app/AppWrapper.tsx @grafana/frontend-ops
|
||||
/public/app/partials/ @grafana/grafana-frontend-platform
|
||||
|
||||
|
||||
|
||||
|
||||
/scripts/benchmark-access-control.sh @grafana/identity-access-team
|
||||
/scripts/benchmark-access-control.sh @grafana/access-squad
|
||||
/scripts/check-breaking-changes.sh @grafana/plugins-platform-frontend
|
||||
/scripts/ci-* @grafana/grafana-release-guild
|
||||
/scripts/circle-* @grafana/grafana-release-guild
|
||||
/scripts/publish-npm-packages.sh @grafana/grafana-release-guild @grafana/plugins-platform-frontend
|
||||
/scripts/validate-npm-packages.sh @grafana/grafana-release-guild @grafana/plugins-platform-frontend
|
||||
/scripts/ci-* @grafana/grafana-developer-enablement-squad
|
||||
/scripts/circle-* @grafana/grafana-developer-enablement-squad
|
||||
/scripts/publish-npm-packages.sh @grafana/grafana-developer-enablement-squad @grafana/plugins-platform-frontend
|
||||
/scripts/validate-npm-packages.sh @grafana/grafana-developer-enablement-squad @grafana/plugins-platform-frontend
|
||||
/scripts/ci-frontend-metrics.sh @grafana/grafana-frontend-platform @grafana/plugins-platform-frontend @grafana/dataviz-squad
|
||||
/scripts/cli/ @grafana/grafana-frontend-platform
|
||||
/scripts/clean-git-or-error.sh @grafana/grafana-as-code
|
||||
/scripts/grafana-server/ @grafana/grafana-frontend-platform
|
||||
/scripts/helpers/ @grafana/grafana-release-guild
|
||||
/scripts/helpers/ @grafana/grafana-developer-enablement-squad
|
||||
/scripts/import_many_dashboards.sh @torkelo
|
||||
/scripts/mixin-check.sh @bergquist
|
||||
/scripts/openapi3/ @grafana/grafana-operator-experience-squad
|
||||
/scripts/prepare-packagejson.js @grafana/frontend-ops
|
||||
/scripts/prepare-npm-package.js @grafana/frontend-ops
|
||||
/scripts/protobuf-check.sh @grafana/plugins-platform-backend
|
||||
/scripts/stripnulls.sh @grafana/grafana-as-code
|
||||
/scripts/tag_release.sh @grafana/grafana-release-guild
|
||||
/scripts/trigger_docker_build.sh @grafana/grafana-release-guild
|
||||
/scripts/trigger_grafana_packer.sh @grafana/grafana-release-guild
|
||||
/scripts/trigger_windows_build.sh @grafana/grafana-release-guild
|
||||
/scripts/tag_release.sh @grafana/grafana-developer-enablement-squad
|
||||
/scripts/trigger_docker_build.sh @grafana/grafana-developer-enablement-squad
|
||||
/scripts/trigger_grafana_packer.sh @grafana/grafana-developer-enablement-squad
|
||||
/scripts/trigger_windows_build.sh @grafana/grafana-developer-enablement-squad
|
||||
/scripts/cleanup-husky.sh @grafana/frontend-ops
|
||||
/scripts/verify-repo-update/ @grafana/grafana-release-guild
|
||||
/scripts/generate-icon-bundle.js @grafana/plugins-platform-frontend @grafana/grafana-frontend-platform
|
||||
/scripts/verify-repo-update/ @grafana/grafana-developer-enablement-squad
|
||||
/scripts/generate-rtk-apis.ts @grafana/grafana-frontend-platform
|
||||
/scripts/process-specs.ts @grafana/grafana-frontend-platform
|
||||
/scripts/generate-alerting-rtk-apis.ts @grafana/alerting-frontend
|
||||
/scripts/levitate-parse-json-report.js @grafana/plugins-platform-frontend
|
||||
/scripts/levitate-show-affected-plugins.js @grafana/plugins-platform-frontend
|
||||
/scripts/codemods/explicit-barrel-imports.cjs @grafana/frontend-ops
|
||||
|
||||
/scripts/**/generate-transformations* @grafana/dataviz-squad
|
||||
@@ -544,40 +636,37 @@ playwright.config.ts @grafana/plugins-platform-frontend
|
||||
.pa11yci.conf.js @grafana/grafana-frontend-platform
|
||||
.pa11yci-pr.conf.js @grafana/grafana-frontend-platform
|
||||
.betterer.results @grafanabot
|
||||
.betterer.results.json @grafanabot
|
||||
.betterer.ts @grafana/grafana-frontend-platform
|
||||
|
||||
# @grafana/ui component documentation
|
||||
*.mdx @grafana/plugins-platform-frontend
|
||||
|
||||
# Design system
|
||||
/public/img/icons/unicons/ @grafana/design-system
|
||||
|
||||
# Core datasources
|
||||
/public/app/plugins/datasource/dashboard/ @grafana/dashboards-squad
|
||||
/public/app/plugins/datasource/cloudwatch/ @grafana/aws-datasources
|
||||
/public/app/plugins/datasource/elasticsearch/ @grafana/observability-logs
|
||||
/public/app/plugins/datasource/elasticsearch/ @grafana/aws-datasources
|
||||
/public/app/plugins/datasource/grafana/ @grafana/grafana-frontend-platform
|
||||
/public/app/plugins/datasource/grafana-testdata-datasource/ @grafana/plugins-platform-frontend
|
||||
/public/app/plugins/datasource/azuremonitor/ @grafana/partner-datasources
|
||||
/public/app/plugins/datasource/graphite/ @grafana/observability-metrics
|
||||
/public/app/plugins/datasource/influxdb/ @grafana/observability-metrics
|
||||
/public/app/plugins/datasource/jaeger/ @grafana/observability-traces-and-profiling
|
||||
/public/app/plugins/datasource/graphite/ @grafana/partner-datasources
|
||||
/public/app/plugins/datasource/influxdb/ @grafana/partner-datasources
|
||||
/public/app/plugins/datasource/jaeger/ @grafana/oss-big-tent
|
||||
/public/app/plugins/datasource/loki/ @grafana/observability-logs
|
||||
/public/app/plugins/datasource/mixed/ @grafana/dashboards-squad
|
||||
/public/app/plugins/datasource/mssql/ @grafana/partner-datasources
|
||||
/public/app/plugins/datasource/mysql/ @grafana/oss-big-tent
|
||||
/public/app/plugins/datasource/opentsdb/ @grafana/observability-metrics
|
||||
/public/app/plugins/datasource/opentsdb/ @grafana/partner-datasources
|
||||
/public/app/plugins/datasource/grafana-postgresql-datasource/ @grafana/oss-big-tent
|
||||
/public/app/plugins/datasource/prometheus/ @grafana/observability-metrics
|
||||
/public/app/plugins/datasource/prometheus/ @grafana/oss-big-tent
|
||||
/public/app/plugins/datasource/cloud-monitoring/ @grafana/partner-datasources
|
||||
/public/app/plugins/datasource/zipkin/ @grafana/observability-traces-and-profiling
|
||||
/public/app/plugins/datasource/zipkin/ @grafana/oss-big-tent
|
||||
/public/app/plugins/datasource/tempo/ @grafana/observability-traces-and-profiling
|
||||
/public/app/plugins/datasource/grafana-pyroscope-datasource/ @grafana/observability-traces-and-profiling
|
||||
/public/app/plugins/datasource/parca/ @grafana/observability-traces-and-profiling
|
||||
/public/app/plugins/datasource/parca/ @grafana/oss-big-tent
|
||||
/public/app/plugins/datasource/alertmanager/ @grafana/alerting-squad
|
||||
|
||||
# Grafana Sharing Squad
|
||||
/public/app/features/dashboard-scene/sharing/ @grafana/sharing-squad
|
||||
/public/app/features/dashboard/components/ShareModal/ @grafana/sharing-squad
|
||||
/public/app/features/manage-dashboards/components/PublicDashboardListTable/ @grafana/sharing-squad
|
||||
/public/app/features/dashboard/containers/PublicDashboardPage.tsx @grafana/sharing-squad
|
||||
@@ -588,28 +677,29 @@ playwright.config.ts @grafana/plugins-platform-frontend
|
||||
/pkg/services/rendering/ @grafana/sharing-squad
|
||||
|
||||
# SSE - Server Side Expressions
|
||||
/pkg/expr/ @grafana/observability-metrics
|
||||
/pkg/expr/ @grafana/grafana-datasources-core-services
|
||||
|
||||
# Cloud middleware
|
||||
/grafana-mixin/ @grafana/grafana-backend-services-squad
|
||||
|
||||
# Grafana authentication and authorization
|
||||
/pkg/login/ @grafana/identity-access-team
|
||||
/pkg/services/accesscontrol/ @grafana/identity-access-team
|
||||
/pkg/login/ @grafana/identity-squad
|
||||
/pkg/services/accesscontrol/ @grafana/access-squad
|
||||
/pkg/services/anonymous/ @grafana/identity-access-team
|
||||
/pkg/services/auth/ @grafana/identity-access-team
|
||||
/pkg/services/authn/ @grafana/identity-access-team
|
||||
/pkg/services/signingkeys/ @grafana/identity-access-team
|
||||
/pkg/services/dashboards/accesscontrol.go @grafana/identity-access-team
|
||||
/pkg/services/datasources/guardian/ @grafana/identity-access-team
|
||||
/pkg/services/guardian/ @grafana/identity-access-team
|
||||
/pkg/services/ldap/ @grafana/identity-access-team
|
||||
/pkg/services/login/ @grafana/identity-access-team
|
||||
/pkg/services/loginattempt/ @grafana/identity-access-team
|
||||
/pkg/services/auth/ @grafana/identity-squad
|
||||
/pkg/services/authn/ @grafana/identity-squad
|
||||
/pkg/services/authz/ @grafana/access-squad
|
||||
/pkg/services/signingkeys/ @grafana/identity-squad
|
||||
/pkg/services/dashboards/accesscontrol.go @grafana/access-squad
|
||||
/pkg/services/datasources/guardian/ @grafana/access-squad
|
||||
/pkg/services/guardian/ @grafana/access-squad
|
||||
/pkg/services/ldap/ @grafana/identity-squad
|
||||
/pkg/services/login/ @grafana/identity-squad
|
||||
/pkg/services/loginattempt/ @grafana/identity-squad
|
||||
/pkg/services/extsvcauth/ @grafana/identity-access-team
|
||||
/pkg/services/oauthtoken/ @grafana/identity-access-team
|
||||
/pkg/services/serviceaccounts/ @grafana/identity-access-team
|
||||
/public/app/core/components/RolePicker/ @grafana/identity-access-team
|
||||
/pkg/services/oauthtoken/ @grafana/identity-squad
|
||||
/pkg/services/serviceaccounts/ @grafana/identity-squad
|
||||
/public/app/core/components/RolePicker/ @grafana/access-squad
|
||||
|
||||
# Support bundles
|
||||
/public/app/features/support-bundles/ @grafana/identity-access-team
|
||||
@@ -619,6 +709,7 @@ playwright.config.ts @grafana/plugins-platform-frontend
|
||||
/pkg/services/caching/ @grafana/grafana-operator-experience-squad
|
||||
/pkg/services/cloudmigration/ @grafana/grafana-operator-experience-squad
|
||||
/pkg/services/gcom/ @grafana/grafana-operator-experience-squad
|
||||
/pkg/services/authapi/ @grafana/grafana-operator-experience-squad
|
||||
|
||||
# Feature toggles
|
||||
/pkg/services/featuremgmt/ @grafana/grafana-backend-services-squad
|
||||
@@ -627,12 +718,17 @@ playwright.config.ts @grafana/plugins-platform-frontend
|
||||
# Kind definitions
|
||||
/kinds/dashboard @grafana/dashboards-squad
|
||||
/kinds/ @grafana/grafana-as-code
|
||||
kindsv2/ @grafana/dashboards-squad
|
||||
|
||||
# Kind system and code generation
|
||||
embed.go @grafana/grafana-as-code
|
||||
/pkg/kinds/ @grafana/grafana-as-code
|
||||
/pkg/registry/ @grafana/grafana-as-code
|
||||
/pkg/registry/apis/ @grafana/grafana-app-platform-squad
|
||||
/pkg/registry/apis/alerting @grafana/grafana-app-platform-squad @grafana/alerting-backend
|
||||
/pkg/registry/apis/query @grafana/grafana-datasources-core-services
|
||||
/pkg/registry/apis/userstorage @grafana/grafana-app-platform-squad @grafana/plugins-platform-backend
|
||||
/pkg/registry/apps/advisor @grafana/plugins-platform-backend
|
||||
/pkg/codegen/ @grafana/grafana-as-code
|
||||
/pkg/codegen/generators @grafana/grafana-as-code
|
||||
/pkg/kinds/*/*_gen.go @grafana/grafana-as-code
|
||||
@@ -642,64 +738,82 @@ embed.go @grafana/grafana-as-code
|
||||
|
||||
# GitHub Workflows and Templates
|
||||
/.github/CODEOWNERS @tolzhabayev
|
||||
/.github/ISSUE_TEMPLATE/ @torkelo
|
||||
/.github/ISSUE_TEMPLATE/ @torkelo @sympatheticmoose
|
||||
/.github/PULL_REQUEST_TEMPLATE.md @torkelo
|
||||
/.github/bot.md @torkelo
|
||||
/.github/commands.json @torkelo
|
||||
/.github/dependabot.yml @grafana/frontend-ops
|
||||
/.github/issue-opened.json @grafana/grafana-community-support
|
||||
/.github/metrics-collector.json @torkelo
|
||||
/.github/pr-checks.json @marefr
|
||||
/.github/pr-commands.json @marefr
|
||||
/.github/pr-checks.json @tolzhabayev
|
||||
/.github/pr-commands.json @tolzhabayev
|
||||
/.github/renovate.json5 @grafana/frontend-ops
|
||||
/.github/teams.yml @armandgrillet
|
||||
/.github/workflows/alerting-swagger-gen.yml @grafana/alerting-backend-product
|
||||
/.github/workflows/auto-milestone.yml @grafana/grafana-release-guild
|
||||
/.github/workflows/backport.yml @grafana/grafana-release-guild
|
||||
/.github/workflows/bump-version.yml @grafana/grafana-release-guild
|
||||
/.github/workflows/close-milestone.yml @grafana/grafana-release-guild
|
||||
/.github/actions/setup-enterprise/action.yml @grafana/grafana-backend-group
|
||||
/.github/actions/setup-grafana-bench/ @Proximyst
|
||||
/.github/workflows/add-to-whats-new.yml @grafana/docs-tooling
|
||||
/.github/workflows/auto-triager/ @grafana/plugins-platform-frontend
|
||||
/.github/workflows/alerting-swagger-gen.yml @grafana/alerting-backend
|
||||
/.github/workflows/alerting-update-module.yml @grafana/alerting-backend
|
||||
/.github/workflows/auto-milestone.yml @grafana/grafana-developer-enablement-squad
|
||||
/.github/workflows/backend-code-checks.yml @grafana/grafana-backend-group
|
||||
/.github/workflows/backend-unit-tests.yml @grafana/grafana-backend-group
|
||||
/.github/workflows/bump-version.yml @grafana/grafana-developer-enablement-squad
|
||||
/.github/workflows/release-pr.yml @grafana/grafana-developer-enablement-squad
|
||||
/.github/workflows/release-comms.yml @grafana/grafana-developer-enablement-squad
|
||||
/.github/workflows/migrate-prs.yml @grafana/grafana-developer-enablement-squad
|
||||
/.github/workflows/create-next-release-branch.yml @grafana/grafana-developer-enablement-squad
|
||||
/.github/workflows/create-security-branch.yml @grafana/grafana-developer-enablement-squad
|
||||
/.github/workflows/codeowners-validator.yml @tolzhabayev
|
||||
/.github/workflows/codeql-analysis.yml @DanCech
|
||||
/.github/workflows/commands.yml @torkelo
|
||||
/.github/workflows/community-release.yml @grafana/grafana-release-guild
|
||||
/.github/workflows/community-release.yml @grafana/grafana-developer-enablement-squad
|
||||
/.github/workflows/detect-breaking-changes-* @grafana/plugins-platform-frontend
|
||||
/.github/workflows/doc-validator.yml @grafana/docs-tooling
|
||||
/.github/workflows/epic-add-to-platform-ux-parent-project.yml @meanmina
|
||||
/.github/workflows/github-release.yml @grafana/grafana-release-guild
|
||||
/.github/workflows/issue-labeled.yml @armandgrillet
|
||||
/.github/workflows/documentation-ci.yml @grafana/docs-tooling
|
||||
/.github/workflows/deploy-pr-preview.yml @grafana/docs-tooling
|
||||
/.github/workflows/feature-toggles-ci.yml @grafana/docs-tooling
|
||||
/.github/workflows/github-release.yml @grafana/grafana-developer-enablement-squad
|
||||
/.github/workflows/issue-opened.yml @grafana/grafana-community-support
|
||||
/.github/workflows/metrics-collector.yml @torkelo
|
||||
/.github/workflows/milestone.yml @marefr
|
||||
/.github/workflows/pr-checks.yml @marefr
|
||||
/.github/workflows/pr-codeql-analysis-go.yml @DanCech
|
||||
/.github/workflows/lint-build-docs.yml @grafana/docs-tooling
|
||||
/.github/workflows/pr-checks.yml @tolzhabayev
|
||||
/.github/workflows/pr-codeql-analysis-javascript.yml @DanCech
|
||||
/.github/workflows/pr-codeql-analysis-python.yml @DanCech
|
||||
/.github/workflows/pr-commands.yml @marefr
|
||||
/.github/workflows/pr-patch-check.yml @grafana/grafana-release-guild
|
||||
/.github/workflows/sync-mirror.yml @grafana/grafana-release-guild
|
||||
/.github/workflows/pr-commands.yml @tolzhabayev
|
||||
/.github/workflows/pr-patch-check-event.yml @grafana/grafana-developer-enablement-squad
|
||||
/.github/workflows/pr-test-integration.yml @grafana/grafana-backend-group
|
||||
/.github/workflows/sync-mirror-event.yml @grafana/grafana-developer-enablement-squad
|
||||
/.github/workflows/publish-technical-documentation-next.yml @grafana/docs-tooling
|
||||
/.github/workflows/publish-technical-documentation-release.yml @grafana/docs-tooling
|
||||
/.github/workflows/remove-milestone.yml @grafana/grafana-release-guild
|
||||
/.github/workflows/sbom-report.yml @grafana/security-team
|
||||
/.github/workflows/scripts/json-file-to-job-output.js @grafana/plugins-platform-frontend
|
||||
/.github/workflows/scripts/pr-get-job-link.js @grafana/plugins-platform-frontend
|
||||
/.github/workflows/stale.yml @grafana/grafana-release-guild
|
||||
/.github/workflows/update-changelog.yml @grafana/grafana-release-guild
|
||||
/.github/workflows/stale.yml @grafana/grafana-developer-enablement-squad
|
||||
/.github/workflows/storybook-verification.yml @grafana/grafana-frontend-platform
|
||||
/.github/workflows/update-make-docs.yml @grafana/docs-tooling
|
||||
/.github/workflows/snyk.yml @grafana/security-team
|
||||
/.github/workflows/scripts/kinds/verify-kinds.go @grafana/platform-cat
|
||||
/.github/workflows/publish-kinds-next.yml @grafana/platform-cat
|
||||
/.github/workflows/publish-kinds-release.yml @grafana/platform-cat
|
||||
/.github/workflows/verify-kinds.yml @grafana/platform-cat
|
||||
/.github/workflows/scripts/kinds/verify-kinds.go @grafana/platform-monitoring
|
||||
/.github/workflows/scripts/create-security-branch/create-security-branch.sh @grafana/grafana-developer-enablement-squad
|
||||
/.github/workflows/publish-kinds-next.yml @grafana/platform-monitoring
|
||||
/.github/workflows/publish-kinds-release.yml @grafana/platform-monitoring
|
||||
/.github/workflows/verify-kinds.yml @grafana/platform-monitoring
|
||||
/.github/workflows/dashboards-issue-add-label.yml @grafana/dashboards-squad
|
||||
/.github/workflows/ephemeral-instances-pr-comment.yml @grafana/grafana-operator-experience-squad
|
||||
/.github/workflows/ephemeral-instances-pr-opened-closed.yml @grafana/grafana-operator-experience-squad
|
||||
/.github/workflows/create-security-patch-from-security-mirror.yml @grafana/grafana-release-guild
|
||||
/.github/workflows/run-schema-v2-e2e.yml @grafana/dashboards-squad
|
||||
/.github/workflows/run-dashboard-search-e2e.yml @grafana/grafana-search-and-storage
|
||||
/.github/workflows/trigger-dashboard-search-e2e.yml @grafana/grafana-search-and-storage
|
||||
/.github/workflows/ephemeral-instances-pr-comment.yml @grafana/grafana-backend-services-squad
|
||||
/.github/workflows/create-security-patch-from-security-mirror.yml @grafana/grafana-developer-enablement-squad
|
||||
/.github/workflows/core-plugins-build-and-release.yml @grafana/plugins-platform-frontend @grafana/plugins-platform-backend
|
||||
/.github/workflows/i18n-crowdin-upload.yml @grafana/grafana-frontend-platform
|
||||
/.github/workflows/i18n-crowdin-download.yml @grafana/grafana-frontend-platform
|
||||
/.github/workflows/i18n-crowdin-create-tasks.yml @grafana/grafana-frontend-platform
|
||||
/.github/workflows/pr-go-workspace-check.yml @grafana/grafana-app-platform-squad
|
||||
/.github/workflows/run-scenes-e2e.yml @grafana/dashboards-squad
|
||||
/.github/workflows/pr-dependabot-update-go-workspace.yml @grafana/grafana-app-platform-squad
|
||||
/.github/workflows/pr-k8s-codegen-check.yml @grafana/grafana-app-platform-squad
|
||||
/.github/workflows/go-lint.yml @grafana/grafana-backend-services-squad
|
||||
/.github/workflows/trivy-scan.yml @grafana/grafana-backend-services-squad
|
||||
/.github/workflows/changelog.yml @zserge
|
||||
/.github/actions/changelog @zserge
|
||||
/.github/workflows/pr-frontend-unit-tests.yml @grafana/grafana-frontend-platform
|
||||
/.github/workflows/frontend-lint.yml @grafana/grafana-frontend-platform
|
||||
/.github/workflows/analytics-events-report.yml @grafana/grafana-frontend-platform
|
||||
/.github/workflows/pr-e2e-tests.yml @grafana/grafana-developer-enablement-squad
|
||||
/.github/workflows/skye-add-to-project.yml @grafana/grafana-frontend-platform
|
||||
/.github/zizmor.yml @grafana/grafana-developer-enablement-squad
|
||||
|
||||
# Generated files not requiring owner approval
|
||||
/packages/grafana-data/src/types/featureToggles.gen.ts @grafanabot
|
||||
@@ -711,10 +825,10 @@ embed.go @grafana/grafana-as-code
|
||||
# Conf
|
||||
/conf/defaults.ini @torkelo
|
||||
/conf/sample.ini @torkelo
|
||||
/conf/ldap.toml @grafana/identity-access-team
|
||||
/conf/ldap_multiple.toml @grafana/identity-access-team
|
||||
/conf/provisioning/access-control/ @grafana/identity-access-team
|
||||
/conf/provisioning/alerting/ @grafana/alerting-backend-product
|
||||
/conf/ldap.toml @grafana/identity-squad
|
||||
/conf/ldap_multiple.toml @grafana/identity-squad
|
||||
/conf/provisioning/access-control/ @grafana/access-squad
|
||||
/conf/provisioning/alerting/ @grafana/alerting-backend
|
||||
/conf/provisioning/dashboards/ @grafana/dashboards-squad
|
||||
/conf/provisioning/datasources/ @grafana/plugins-platform-backend
|
||||
/conf/provisioning/plugins/ @grafana/plugins-platform-backend
|
||||
|
||||
45
.github/ISSUE_TEMPLATE/3-data_source_request.yaml
vendored
Normal file
45
.github/ISSUE_TEMPLATE/3-data_source_request.yaml
vendored
Normal file
@@ -0,0 +1,45 @@
|
||||
---
|
||||
name: New data source request
|
||||
description: Raise a request for a new data source plugin
|
||||
title: "[New Data Source]: <name-of-service>"
|
||||
labels:
|
||||
- area/datasource,type/new-plugin-request
|
||||
body:
|
||||
- type: markdown
|
||||
attributes:
|
||||
value: |
|
||||
Thank you for requesting a new data source plugin!
|
||||
|
||||
We greatly appreciate feedback from our community about which new data sources would be beneficial.
|
||||
|
||||
Grafana Labs regularly reviews these requests and uses them to inform our prioritization. Note: we cannot offer any guarantees on whether we or our community will build a given data source.
|
||||
|
||||
Please check our [roadmap](https://github.com/orgs/grafana/projects/619?pane=info) for existing requests and subscribe to stay informed of our plans. If no request exists, please fill out the following information.
|
||||
|
||||
Please do not request support or file bug reports and feature requests for existing plugins here.
|
||||
- For support, please use the community support resources [here](https://grafana.com/help/).
|
||||
- Please consider the `New Bug Report` or `Feature Requests` [issue templates](https://github.com/grafana/grafana/issues/new/choose) for other requests.
|
||||
- type: textarea
|
||||
id: background
|
||||
attributes:
|
||||
label: Background
|
||||
description: Tell us about the service you would like to see integrated as a data source
|
||||
placeholder: ACME_DB is an open source time-series database that is used by many organizations to store their metrics data. It is a popular choice for monitoring and observability.
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
id: use_case
|
||||
attributes:
|
||||
label: Use case
|
||||
description: Describe any key requirements or data you would need surfaced, ideally including why they are useful for you.
|
||||
placeholder: My team uses ACME_DB as the application database to monitor our produciton workloads, so we'd like to alert on it and visualize ACME_DB data next to our logs and traces in Grafana.
|
||||
validations:
|
||||
required: true
|
||||
- type: checkboxes
|
||||
attributes:
|
||||
label: Contribution
|
||||
description: If you are interested in creating the data source yourself and contributing to the [plugin catalog](https://grafana.com/grafana/plugins/), please fill in the following
|
||||
options:
|
||||
- label: Are you looking to create the plugin?
|
||||
- label: Are you affiliated with the project/product the data source integrates with?
|
||||
- label: Does the plugin integrate with a commercial product?
|
||||
39
.github/ISSUE_TEMPLATE/3-grafana_ui_component.md
vendored
39
.github/ISSUE_TEMPLATE/3-grafana_ui_component.md
vendored
@@ -1,39 +0,0 @@
|
||||
---
|
||||
name: '@grafana/ui component request'
|
||||
about: Suggest a component for the @grafana/ui package
|
||||
labels: 'area/grafana/ui'
|
||||
---
|
||||
|
||||
<!--
|
||||
By using this template you will make it easier for us to make sure that documentation and implementation stays up to date for every component in @grafana/ui
|
||||
|
||||
Thank you!
|
||||
-->
|
||||
|
||||
**Why is this component needed**:
|
||||
<!-- Explain your use case -->
|
||||
___
|
||||
- [ ] Is/could it be used in more than one place in Grafana?
|
||||
|
||||
**Where is/could it be used?**:
|
||||
|
||||
___
|
||||
- [ ] Post screenshots possible.
|
||||
- [ ] It has a single use case.
|
||||
- [ ] It is/could be used in multiple places.
|
||||
|
||||
**Implementation** (Checklist meant for the person implementing the component)
|
||||
|
||||
- [ ] Component has a story in Storybook.
|
||||
- [ ] Props and naming follows [our style guide](https://github.com/grafana/grafana/blob/main/contribute/style-guides/frontend.md).
|
||||
- [ ] It is extendable (rest props are spread, styles with className work, and so on).
|
||||
- [ ] Uses [theme for spacing, colors, and so on](https://github.com/grafana/grafana/blob/main/contribute/style-guides/themes.md).
|
||||
- [ ] Works with both light and dark theme.
|
||||
|
||||
**Documentation**
|
||||
|
||||
- [ ] Properties are documented.
|
||||
- [ ] Use cases are described.
|
||||
- [ ] Code examples for the different use cases.
|
||||
- [ ] Dos and don'ts.
|
||||
- [ ] Styling guidelines, specific color usage (if applicable).
|
||||
43
.github/ISSUE_TEMPLATE/4-UX-design.yaml
vendored
43
.github/ISSUE_TEMPLATE/4-UX-design.yaml
vendored
@@ -1,43 +0,0 @@
|
||||
name: UX design issue
|
||||
description: Create an issue for delivering wireframes, mockups or other design solutions.
|
||||
title: "UX: "
|
||||
labels: ["type/ux"]
|
||||
body:
|
||||
- type: textarea
|
||||
id: background
|
||||
attributes:
|
||||
label: "Background / Why we're doing this"
|
||||
description: Describe the problem and background of the issue. This could include research insights that inform the design changes, unmet user needs, or other usability issues.
|
||||
placeholder: Add UI improvements to make Grafana Alerting alert creation easier based on usability test results.
|
||||
validations:
|
||||
required: true
|
||||
- type: dropdown
|
||||
attributes:
|
||||
label: Is there existing research for this?
|
||||
description: Please link research results or insights in the Background section if you have any. If no research was conducted, you might want to consider usability testing your design later.
|
||||
options: [
|
||||
"Yes, I have linked it",
|
||||
"No research yet"
|
||||
]
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
id: problems-or-tasks
|
||||
attributes:
|
||||
label: Problems or tasks
|
||||
description: Describe problems the new design should solve or tasks the user needs to complete.
|
||||
placeholder:
|
||||
value: |
|
||||
- A problem we're trying to solve
|
||||
- A task the user needs to accomplish
|
||||
- …
|
||||
validations:
|
||||
required: false
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: Deliverables
|
||||
description: Add a checklist of deliverables here. You can later add links to each deliverable.
|
||||
value: |
|
||||
- Figma mockup
|
||||
- Miro board
|
||||
- …
|
||||
17
.github/ISSUE_TEMPLATE/5-chore.md
vendored
17
.github/ISSUE_TEMPLATE/5-chore.md
vendored
@@ -1,17 +0,0 @@
|
||||
---
|
||||
name: Chore
|
||||
about: Create an issue for a chore needing completion
|
||||
labels: 'type: chore'
|
||||
---
|
||||
|
||||
<!--
|
||||
Please use this template to create your chore issue. You can use this template if you spot an out-of-date README, discover a misspelling, or happen upon a deeply nested 7-layer for-loop that could be better handled another way. Please use this template for your non-bug related fixes/updates/refactors.
|
||||
|
||||
- Questions should be posted to: https://community.grafana.com
|
||||
- Use query inspector to troubleshoot issues: https://bit.ly/2XNF6YS
|
||||
- How to record and attach gif: https://bit.ly/2Mi8T6K
|
||||
-->
|
||||
|
||||
**What is the chore?**:
|
||||
|
||||
**Is there anything else we need to know?**:
|
||||
65
.github/ISSUE_TEMPLATE/8-Saga_contribution.yaml
vendored
65
.github/ISSUE_TEMPLATE/8-Saga_contribution.yaml
vendored
@@ -1,65 +0,0 @@
|
||||
---
|
||||
name: Saga contribution template
|
||||
description: Contribute to the design system.
|
||||
title: "Saga: "
|
||||
labels:
|
||||
- area/grafana/ui, design-system
|
||||
body:
|
||||
- type: markdown
|
||||
attributes:
|
||||
value: |
|
||||
By using this template, you help expand our component and pattern solutions within the design system and let others reuse your work! You can contribute bug or design defect fixes, component, and pattern enhancements, or even net-new components! This template brings visibility to the great work everyone already does and in turn helps reduce duplicate efforts.
|
||||
Thank you!
|
||||
- type: checkboxes
|
||||
attributes:
|
||||
label: What type of contribution is this?
|
||||
description: null
|
||||
options:
|
||||
- label: Fix - bug, design defect, typo, documentation conciseness
|
||||
- label: Unification - combining similar components/patterns into a single
|
||||
solution
|
||||
- label: Proposal - net-new component, additions, variants
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
id: background
|
||||
attributes:
|
||||
label: Why is this needed?
|
||||
description: Explain the use case and where it can be used.
|
||||
placeholder: null
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
id: use_case
|
||||
attributes:
|
||||
label: Where is this or where can it be used?
|
||||
description: Explain the current/future use case, be sure to include areas of impact
|
||||
placeholder: null
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: Deliverables
|
||||
description: Add a checklist of deliverables here. You can later add links to
|
||||
each deliverable.
|
||||
value: |
|
||||
- Figma mockup
|
||||
- Storybook story
|
||||
- …
|
||||
- type: checkboxes
|
||||
attributes:
|
||||
label: Contribution guiding principles
|
||||
description: Use this checklist of guiding principles to ensure your
|
||||
contribution makes Grafana a better product
|
||||
options:
|
||||
- label: Universal - not specific to a single product feature; able to be used
|
||||
product-wide
|
||||
- label: Accessible - inclusive to all types of users and assistive tools
|
||||
- label: Flexible - thoughtfully built and designed to solve various
|
||||
configurations and situations
|
||||
- label: Coherent - follows existing visual styling and patterns
|
||||
- label: Defined - documented clearly and concisely for ease of understanding
|
||||
- label: Distinct - solves a unique gap or problem that cannot be solved with
|
||||
current solutions
|
||||
validations:
|
||||
required: false
|
||||
2
.github/PULL_REQUEST_TEMPLATE.md
vendored
2
.github/PULL_REQUEST_TEMPLATE.md
vendored
@@ -47,4 +47,4 @@ Fixes #
|
||||
Please check that:
|
||||
- [ ] It works as expected from a user's perspective.
|
||||
- [ ] If this is a pre-GA feature, it is behind a feature toggle.
|
||||
- [ ] The docs are updated, and if this is a [notable improvement](https://grafana.com/docs/writers-toolkit/writing-guide/contribute-release-notes/#how-to-determine-if-content-belongs-in-a-whats-new-document), it's added to our [What's New](https://grafana.com/docs/writers-toolkit/writing-guide/contribute-release-notes/) doc.
|
||||
- [ ] The docs are updated, and if this is a [notable improvement](https://grafana.com/docs/writers-toolkit/contribute/release-notes/#how-to-determine-if-content-belongs-in-whats-new), it's added to our [What's New](https://grafana.com/docs/writers-toolkit/contribute/release-notes/) doc.
|
||||
|
||||
8
.github/actionlint.yaml
vendored
Normal file
8
.github/actionlint.yaml
vendored
Normal file
@@ -0,0 +1,8 @@
|
||||
# These are just aliases to github-hosted runners
|
||||
self-hosted-runner:
|
||||
labels:
|
||||
- github-hosted-ubuntu-arm64
|
||||
- github-hosted-ubuntu-arm64-large
|
||||
- github-hosted-ubuntu-x64-small
|
||||
- github-hosted-ubuntu-x64-large
|
||||
- github-hosted-windows-x64-large
|
||||
152
.github/actions/build-package/action.yml
vendored
Normal file
152
.github/actions/build-package/action.yml
vendored
Normal file
@@ -0,0 +1,152 @@
|
||||
name: Build and Package Grafana Enterprise / Pro
|
||||
description: Creates Grafana artifacts using Dagger & `pkg/build/daggerbuild`
|
||||
inputs:
|
||||
artifacts:
|
||||
description: |
|
||||
Comma-delimited list of artifacts to build and package.
|
||||
Artifacts follow a specific format of `{package-type}:{grafana-edition}:{architecture}`.
|
||||
Not every combination of `package-type`, `grafana-edition`, and `architecture` are supported.
|
||||
Examples:
|
||||
* `grafana:linux/amd64:targz`, `grafana:linux/amd64:deb`
|
||||
* `enterprise:linux/arm64:rpm, enterprise:linux/amd64:docker`
|
||||
* `pro:docker:llinux/amd64`
|
||||
required: true
|
||||
type: string
|
||||
grafana-path:
|
||||
description: Path to a clone of the 'grafana' repo
|
||||
default: grafana
|
||||
type: string
|
||||
grafana-enterprise-path:
|
||||
description: Path to a clone of the 'grafana-enterprise' repo
|
||||
default: grafana-enterprise
|
||||
type: string
|
||||
github-token:
|
||||
type: string
|
||||
required: true
|
||||
version:
|
||||
type: string
|
||||
description: The version to embed in the grafana binary, example `v1.2.3`. If not provided, then the value in Grafana's package.json will be used
|
||||
required: true
|
||||
build-id:
|
||||
type: string
|
||||
description: an identifier number which can be traced back to the workflow run.
|
||||
default: ${{github.run_id}}
|
||||
required: false
|
||||
patches-repo:
|
||||
type: string
|
||||
description: Repository to load for patches repo. If empty, patches won't be applied. Must be an HTTPS git URL.
|
||||
required: false
|
||||
default: ""
|
||||
patches-ref:
|
||||
type: string
|
||||
description: git ref in the patches repo to check out.
|
||||
required: false
|
||||
default: main
|
||||
patches-path:
|
||||
type: string
|
||||
description: Path in the repository where `.patch` files can be found.
|
||||
required: false
|
||||
default: main
|
||||
checksum:
|
||||
type: boolean
|
||||
description: If true, then checksums will be produced for each file (with a '.sha256' extension)
|
||||
required: false
|
||||
default: false
|
||||
verify:
|
||||
type: boolean
|
||||
description: If true, then the e2e smoke tests will run to verify the produced artifacts (--verify)
|
||||
required: false
|
||||
default: false
|
||||
output:
|
||||
type: string
|
||||
description: Filename to redirect stdout to. Contains list of packages that were produced
|
||||
default: packages.txt
|
||||
required: false
|
||||
docker-tag-format:
|
||||
type: string
|
||||
default: "{{ .version }}-{{ .arch }}"
|
||||
description: Go template of Docker image tag
|
||||
required: false
|
||||
docker-tag-format-ubuntu:
|
||||
type: string
|
||||
default: "{{ .version }}-ubuntu-{{ .arch }}"
|
||||
description: Go template of Docker image tag
|
||||
required: false
|
||||
docker-org:
|
||||
type: string
|
||||
description: Docker org of produced images
|
||||
default: grafana
|
||||
required: false
|
||||
docker-registry:
|
||||
type: string
|
||||
description: Docker registry of produced images
|
||||
default: docker.io
|
||||
required: false
|
||||
ubuntu-base:
|
||||
type: string
|
||||
default: 'ubuntu:22.04'
|
||||
required: false
|
||||
alpine-base:
|
||||
type: string
|
||||
default: 'alpine:3.22'
|
||||
required: false
|
||||
outputs:
|
||||
dist-dir:
|
||||
description: Directory where artifacts are placed
|
||||
value: ${{ steps.output.outputs.dist_dir }}
|
||||
file:
|
||||
description: Path to file containing list of artifacts produced
|
||||
value: ${{ steps.output.outputs.file }}
|
||||
grafana-commit:
|
||||
description: Commit hash of the HEAD of the grafana repository used to build grafana.
|
||||
value: ${{ steps.output.outputs.grafana_commit }}
|
||||
enterprise-commit:
|
||||
description: Commit hash of the HEAD of the grafana-enterprise repository used to build grafana.
|
||||
value: ${{ steps.output.outputs.enterprise_commit }}
|
||||
version:
|
||||
description: The `grafana` version that was embedded in the binary
|
||||
value: ${{ steps.output.outputs.version }}
|
||||
runs:
|
||||
using: "composite"
|
||||
steps:
|
||||
- shell: bash
|
||||
run: | # zizmor: ignore[github-env]
|
||||
echo "GRAFANA_PATH=${{ github.workspace }}/${GRAFANA_DIR}" >> "$GITHUB_ENV"
|
||||
echo "ENTERPRISE_PATH=${{ github.workspace }}/${ENTERPRISE_DIR}" >> "$GITHUB_ENV"
|
||||
env:
|
||||
GB_PATH: ${{ inputs.path }}
|
||||
GRAFANA_DIR: ${{ inputs.grafana-path }}
|
||||
ENTERPRISE_DIR: ${{ inputs.enterprise-path }}
|
||||
- name: Build Grafana Enterprise packages
|
||||
uses: dagger/dagger-for-github@e47aba410ef9bb9ed81a4d2a97df31061e5e842e
|
||||
env:
|
||||
VERSION: ${{ inputs.version }}
|
||||
ARTIFACTS: ${{ inputs.artifacts }}
|
||||
GITHUB_TOKEN: ${{ inputs.github-token }}
|
||||
PATCHES_REPO: ${{ inputs.patches-repo }}
|
||||
PATCHES_REF: ${{ inputs.patches-ref }}
|
||||
PATCHES_PATH: ${{ inputs.patches-path }}
|
||||
BUILD_ID: ${{ inputs.build-id }}
|
||||
OUTFILE: ${{ inputs.output }}
|
||||
DOCKER_ORG: ${{ inputs.docker-org }}
|
||||
DOCKER_REGISTRY: ${{ inputs.docker-registry }}
|
||||
TAG_FORMAT: ${{ inputs.docker-tag-format }}
|
||||
UBUNTU_TAG_FORMAT: ${{ inputs.docker-tag-format-ubuntu }}
|
||||
CHECKSUM: ${{ inputs.checksum }}
|
||||
VERIFY: ${{ inputs.verify }}
|
||||
ALPINE_BASE: ${{ inputs.alpine-base }}
|
||||
UBUNTU_BASE: ${{ inputs.ubuntu-base }}
|
||||
with:
|
||||
verb: run
|
||||
dagger-flags: --verbose=0
|
||||
args: go run -C ${GRAFANA_PATH} ./pkg/build/cmd artifacts --artifacts ${ARTIFACTS} --grafana-dir=${GRAFANA_PATH} --alpine-base=${ALPINE_BASE} --ubuntu-base=${UBUNTU_BASE} --enterprise-dir=${ENTERPRISE_PATH} --version=${VERSION} --patches-repo=${PATCHES_REPO} --patches-ref=${PATCHES_REF} --patches-path=${PATCHES_PATH} --build-id=${BUILD_ID} --tag-format="${TAG_FORMAT}" --ubuntu-tag-format="${UBUNTU_TAG_FORMAT}" --org=${DOCKER_ORG} --registry=${DOCKER_REGISTRY} --checksum=${CHECKSUM} --verify=${VERIFY} > $OUTFILE
|
||||
- id: output
|
||||
shell: bash
|
||||
env:
|
||||
OUTFILE: ${{ inputs.output }}
|
||||
run: |
|
||||
echo "dist_dir=dist" | tee -a $GITHUB_OUTPUT
|
||||
echo "file=${OUTFILE}" | tee -a $GITHUB_OUTPUT
|
||||
echo "grafana_commit=$(git -C ${GRAFANA_PATH} rev-parse HEAD)" | tee -a $GITHUB_OUTPUT
|
||||
echo "enterprise_commit=$(git -C ${ENTERPRISE_PATH} rev-parse HEAD)" | tee -a $GITHUB_OUTPUT
|
||||
echo "version=$(cat ${GRAFANA_BUILD_PATH}/dist/VERSION)" | tee -a $GITHUB_OUTPUT
|
||||
141
.github/actions/change-detection/action.yml
vendored
Normal file
141
.github/actions/change-detection/action.yml
vendored
Normal file
@@ -0,0 +1,141 @@
|
||||
name: Detect changed files
|
||||
description: Detects whether any matching files have changed in the current PR
|
||||
inputs:
|
||||
self:
|
||||
description: The path to the calling workflow (e.g. .github/workflows/backend-unit-tests.yml). It is regarded as any category.
|
||||
required: true
|
||||
outputs:
|
||||
self:
|
||||
description: Whether the calling workflow has changed in any way
|
||||
value: ${{ steps.changed-files.outputs.self_any_changed || 'true' }}
|
||||
backend:
|
||||
description: Whether the backend or self have changed in any way
|
||||
value: ${{ steps.changed-files.outputs.backend_any_changed || 'true' }}
|
||||
frontend:
|
||||
description: Whether the frontend or self has changed in any way
|
||||
value: ${{ steps.changed-files.outputs.frontend_any_changed || 'true' }}
|
||||
e2e:
|
||||
description: Whether the e2e tests or self have changed in any way
|
||||
value: ${{ steps.changed-files.outputs.e2e_any_changed == 'true' ||
|
||||
steps.changed-files.outputs.backend_any_changed == 'true' ||
|
||||
steps.changed-files.outputs.frontend_any_changed == 'true' || 'true' }}
|
||||
dev-tooling:
|
||||
description: Whether the dev tooling or self have changed in any way
|
||||
value: ${{ steps.changed-files.outputs.dev_tooling_any_changed || 'true' }}
|
||||
docs:
|
||||
description: Whether the docs or self have changed in any way
|
||||
value: ${{ steps.changed-files.outputs.docs_any_changed || 'true' }}
|
||||
runs:
|
||||
using: composite
|
||||
steps:
|
||||
# Assumption: We've done a checkout with the actions/checkout action.
|
||||
# It must persist credentials to allow the changed-files action to get more history.
|
||||
- name: Detect changes
|
||||
id: changed-files
|
||||
if: github.event_name == 'pull_request'
|
||||
uses: tj-actions/changed-files@ed68ef82c095e0d48ec87eccea555d944a631a4c # v46
|
||||
with:
|
||||
files_yaml: |
|
||||
self:
|
||||
- '.github/actions/change-detection/**'
|
||||
- '${{ inputs.self }}'
|
||||
backend:
|
||||
- '!*.md'
|
||||
- '!docs/**'
|
||||
- '!.github/**'
|
||||
- '.github/actions/setup-enterprise/**'
|
||||
- '.github/actions/checkout/**'
|
||||
- '**/go.mod'
|
||||
- '**/go.sum'
|
||||
- '**.go'
|
||||
- 'pkg/**'
|
||||
- '!pkg/**.md'
|
||||
- 'apps/**'
|
||||
- '!apps/**.md'
|
||||
- 'build.sh'
|
||||
- '.github/actions/change-detection/**'
|
||||
- '**.cue'
|
||||
- 'devenv/docker/blocks/*_tests/**'
|
||||
- 'kindsv2/**'
|
||||
- '${{ inputs.self }}'
|
||||
frontend:
|
||||
- '.github/actions/setup-enterprise/**'
|
||||
- '.github/actions/checkout/**'
|
||||
- 'public/**'
|
||||
- '**.js'
|
||||
- '**.jsx'
|
||||
- '**.ts'
|
||||
- '**.tsx'
|
||||
- '**.css'
|
||||
- '**.mjs'
|
||||
- 'yarn.lock'
|
||||
- 'package.json'
|
||||
- '!**.md'
|
||||
- '.github/actions/change-detection/**'
|
||||
- '**.cue'
|
||||
- '.prettier*'
|
||||
- '.betterer*'
|
||||
- '.yarnrc.yml'
|
||||
- 'eslint.config.js'
|
||||
- 'jest.config.js'
|
||||
- 'nx.json'
|
||||
- 'tsconfig.json'
|
||||
- '.yarn/**'
|
||||
- '${{ inputs.self }}'
|
||||
e2e:
|
||||
- 'e2e/**'
|
||||
- '.github/actions/setup-enterprise/**'
|
||||
- '.github/actions/checkout/**'
|
||||
- 'emails/**'
|
||||
- 'pkg/**'
|
||||
- 'proto/**'
|
||||
- '**/Makefile'
|
||||
- 'scripts/**'
|
||||
- '!scripts/drone/**'
|
||||
- '!**.md'
|
||||
- '.github/actions/change-detection/**'
|
||||
- '**.cue'
|
||||
- 'conf/**'
|
||||
- 'cypress.config.js'
|
||||
- '${{ inputs.self }}'
|
||||
dev_tooling:
|
||||
- '.github/actions/setup-enterprise/**'
|
||||
- '.github/actions/checkout/**'
|
||||
- '**.sh'
|
||||
- '.trivyignore'
|
||||
- '.prettierrc.js'
|
||||
- '**/Makefile'
|
||||
- 'proto/**.yaml'
|
||||
- 'pkg/build/**'
|
||||
- 'pkg/wire/**'
|
||||
- 'scripts/**'
|
||||
- '!**.md'
|
||||
- '.citools/**'
|
||||
- '.bingo/**'
|
||||
- '.github/actions/change-detection/**'
|
||||
- '${{ inputs.self }}'
|
||||
docs:
|
||||
- 'contribute/**'
|
||||
- 'docs/**'
|
||||
- '**.md'
|
||||
- 'LICENSE'
|
||||
- '.vale.ini'
|
||||
- '.github/actions/change-detection/**'
|
||||
- '${{ inputs.self }}'
|
||||
- name: Print all change groups
|
||||
shell: bash
|
||||
run: |
|
||||
echo "Self: ${{ steps.changed-files.outputs.self_any_changed || 'true' }}"
|
||||
echo " --> ${{ steps.changed-files.outputs.self_all_changed_files }}"
|
||||
echo "Backend: ${{ steps.changed-files.outputs.backend_any_changed || 'true' }}"
|
||||
echo " --> ${{ steps.changed-files.outputs.backend_all_changed_files }}"
|
||||
echo "Frontend: ${{ steps.changed-files.outputs.frontend_any_changed || 'true' }}"
|
||||
echo " --> ${{ steps.changed-files.outputs.frontend_all_changed_files }}"
|
||||
echo "E2E: ${{ steps.changed-files.outputs.e2e_any_changed || 'true' }}"
|
||||
echo " --> ${{ steps.changed-files.outputs.e2e_all_changed_files }}"
|
||||
echo " --> ${{ steps.changed-files.outputs.backend_all_changed_files }}"
|
||||
echo " --> ${{ steps.changed-files.outputs.frontend_all_changed_files }}"
|
||||
echo "Dev Tooling: ${{ steps.changed-files.outputs.dev_tooling_any_changed || 'true' }}"
|
||||
echo " --> ${{ steps.changed-files.outputs.dev_tooling_all_changed_files }}"
|
||||
echo "Docs: ${{ steps.changed-files.outputs.docs_any_changed || 'true' }}"
|
||||
echo " --> ${{ steps.changed-files.outputs.docs_all_changed_files }}"
|
||||
22
.github/actions/changelog/action.yml
vendored
Normal file
22
.github/actions/changelog/action.yml
vendored
Normal file
@@ -0,0 +1,22 @@
|
||||
name: Changelog generator
|
||||
description: Generates and publishes a changelog for the given release version
|
||||
inputs:
|
||||
target:
|
||||
description: Target tag, branch or commit hash for the changelog
|
||||
required: true
|
||||
previous:
|
||||
description: Previous tag, branch or commit hash to start changelog from
|
||||
required: false
|
||||
github_token:
|
||||
description: GitHub token with read/write access to all necessary repositories
|
||||
required: true
|
||||
output_file:
|
||||
description: A file to store resulting changelog markdown
|
||||
required: false
|
||||
outputs:
|
||||
changelog:
|
||||
description: Changelog contents between the two given versions in Markdown format
|
||||
runs:
|
||||
using: 'node20'
|
||||
main: 'index.js'
|
||||
|
||||
300
.github/actions/changelog/index.js
vendored
Normal file
300
.github/actions/changelog/index.js
vendored
Normal file
@@ -0,0 +1,300 @@
|
||||
import {appendFileSync, writeFileSync} from 'fs';
|
||||
import {exec as execCallback} from 'node:child_process';
|
||||
import {promisify} from 'node:util';
|
||||
import {findPreviousVersion, semverParse} from "./semver.js";
|
||||
|
||||
//
|
||||
// Github Action core utils: logging (notice + debug log levels), must escape
|
||||
// newlines and percent signs
|
||||
//
|
||||
const escapeData = (s) => s.replace(/%/g, '%25').replace(/\r/g, '%0D').replace(/\n/g, '%0A');
|
||||
const LOG = (msg) => console.log(`::notice::${escapeData(msg)}`);
|
||||
|
||||
|
||||
// Using `git tag -l` output find the tag (version) that goes semantically
|
||||
// right before the given version. This might not work correctly with some
|
||||
// pre-release versions, which is why it's possible to pass previous version
|
||||
// into this action explicitly to avoid this step.
|
||||
const getPreviousVersion = async (version) => {
|
||||
const exec = promisify(execCallback);
|
||||
const {stdout} = await exec('git for-each-ref --sort=-creatordate --format \'%(refname:short)\' refs/tags');
|
||||
|
||||
const parsedTags = stdout
|
||||
.split('\n')
|
||||
.map(semverParse)
|
||||
.filter(Boolean);
|
||||
|
||||
const parsedVersion = semverParse(version);
|
||||
const prev = findPreviousVersion(parsedTags, parsedVersion);
|
||||
if (!prev) {
|
||||
throw `Could not find previous git tag for ${version}`;
|
||||
}
|
||||
return prev[5];
|
||||
};
|
||||
|
||||
|
||||
// A helper for Github GraphQL API endpoint
|
||||
const graphql = async (ghtoken, query, variables) => {
|
||||
const {env} = process;
|
||||
const results = await fetch('https://api.github.com/graphql', {
|
||||
method: 'POST',
|
||||
headers: {
|
||||
'Content-Type': 'application/json',
|
||||
Authorization: `Bearer ${ghtoken}`,
|
||||
},
|
||||
body: JSON.stringify({query, variables}),
|
||||
});
|
||||
|
||||
const res = await results.json();
|
||||
|
||||
LOG(
|
||||
JSON.stringify({
|
||||
status: results.status,
|
||||
text: results.statusText,
|
||||
})
|
||||
);
|
||||
|
||||
return res.data;
|
||||
};
|
||||
|
||||
// Using Github GraphQL API find the timestamp for the given tag/commit hash.
|
||||
// This is required for PR listing, because Github API only takes date/time as
|
||||
// a "since" parameter while listing. Currently there is no way to provide two
|
||||
// "commitish" items and get a list of PRs in between them.
|
||||
const getCommitishDate = async (name, owner, target) => {
|
||||
const result = await graphql(
|
||||
ghtoken,
|
||||
`
|
||||
query getCommitDate($owner: String!, $name: String!, $target: String!) {
|
||||
repository(owner: $owner, name: $name) {
|
||||
object(expression: $target) {
|
||||
... on Commit {
|
||||
committedDate
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
`,
|
||||
{name, owner, target}
|
||||
);
|
||||
return result.repository.object.committedDate;
|
||||
};
|
||||
|
||||
// Using Github GraphQL API get a list of PRs between the two "commitish" items.
|
||||
// This resoves the "since" item's timestamp first and iterates over all PRs
|
||||
// till "target" using naïve pagination.
|
||||
const getHistory = async (name, owner, from, to) => {
|
||||
LOG(`Fetching ${owner}/${name} PRs between ${from} and ${to}`);
|
||||
const query = `
|
||||
query findCommitsWithAssociatedPullRequests(
|
||||
$name: String!
|
||||
$owner: String!
|
||||
$from: String!
|
||||
$to: String!
|
||||
$cursor: String
|
||||
) {
|
||||
repository(name: $name, owner: $owner) {
|
||||
ref(qualifiedName: $from) {
|
||||
compare(headRef: $to) {
|
||||
commits(first: 25, after: $cursor) {
|
||||
totalCount
|
||||
pageInfo {
|
||||
hasNextPage
|
||||
endCursor
|
||||
}
|
||||
nodes {
|
||||
id
|
||||
associatedPullRequests(first: 1) {
|
||||
nodes {
|
||||
title
|
||||
number
|
||||
labels(first: 10) {
|
||||
nodes {
|
||||
name
|
||||
}
|
||||
}
|
||||
commits(first: 1) {
|
||||
nodes {
|
||||
commit {
|
||||
author {
|
||||
user {
|
||||
login
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}`;
|
||||
|
||||
let cursor;
|
||||
let nodes = [];
|
||||
for (; ;) {
|
||||
const result = await graphql(ghtoken, query, {
|
||||
name,
|
||||
owner,
|
||||
from,
|
||||
to,
|
||||
cursor,
|
||||
});
|
||||
LOG(`GraphQL: ${JSON.stringify(result)}`);
|
||||
nodes = [...nodes, ...result.repository.ref.compare.commits.nodes];
|
||||
const {hasNextPage, endCursor} = result.repository.ref.compare.commits.pageInfo;
|
||||
if (!hasNextPage) {
|
||||
break;
|
||||
}
|
||||
cursor = endCursor;
|
||||
}
|
||||
return nodes;
|
||||
};
|
||||
|
||||
// The main function for this action: given two "commitish" items it gets a
|
||||
// list of PRs between them and filters/groups the PRs by category (bugfix,
|
||||
// feature, deprecation, breaking change and plugin fixes/enhancements).
|
||||
//
|
||||
// PR grouping relies on Github labels only, not on the PR contents.
|
||||
const getChangeLogItems = async (name, owner, from, to) => {
|
||||
// check if a node contains a certain label
|
||||
const hasLabel = ({labels}, label) => labels.nodes.some(({name}) => name === label);
|
||||
// get all the PRs between the two "commitish" items
|
||||
const history = await getHistory(name, owner, from, to);
|
||||
|
||||
const items = history.flatMap((node) => {
|
||||
// discard PRs without a "changelog" label
|
||||
const changes = node.associatedPullRequests.nodes.filter((PR) => hasLabel(PR, 'add to changelog'));
|
||||
if (changes.length === 0) {
|
||||
return [];
|
||||
}
|
||||
const item = changes[0];
|
||||
const {number, url, labels} = item;
|
||||
const title = item.title.replace(/^\[[^\]]+\]:?\s*/, '');
|
||||
// for changelog PRs try to find a suitable category.
|
||||
// Note that we can not detect "deprecation notices" like that
|
||||
// as there is no suitable label yet.
|
||||
const isBug = /fix/i.test(title) || hasLabel({labels}, 'type/bug');
|
||||
const isBreaking = hasLabel({labels}, 'breaking change');
|
||||
const isPlugin =
|
||||
hasLabel({labels}, 'area/grafana/ui') ||
|
||||
hasLabel({labels}, 'area/grafana/toolkit') ||
|
||||
hasLabel({labels}, 'area/grafana/runtime');
|
||||
const author = item.commits.nodes[0].commit.author.user?.login;
|
||||
return {
|
||||
repo: name,
|
||||
number,
|
||||
title,
|
||||
author,
|
||||
isBug,
|
||||
isPlugin,
|
||||
isBreaking,
|
||||
};
|
||||
});
|
||||
return items;
|
||||
};
|
||||
|
||||
// ======================================================
|
||||
// GENERATE CHANGELOG
|
||||
// ======================================================
|
||||
|
||||
LOG(`Changelog action started`);
|
||||
console.log(process.argv);
|
||||
const ghtoken = process.env.GITHUB_TOKEN || process.env.INPUT_GITHUB_TOKEN;
|
||||
if (!ghtoken) {
|
||||
throw 'GITHUB_TOKEN is not set and "github_token" input is empty';
|
||||
}
|
||||
|
||||
const target = process.argv[2] || process.env.INPUT_TARGET;
|
||||
LOG(`Target tag/branch/commit: ${target}`);
|
||||
|
||||
const previous = process.argv[3] || process.env.INPUT_PREVIOUS || (await getPreviousVersion(target));
|
||||
|
||||
LOG(`Previous tag/commit: ${previous}`);
|
||||
|
||||
// Get all changelog items from Grafana OSS
|
||||
const oss = await getChangeLogItems('grafana', 'grafana', previous, target);
|
||||
// Get all changelog items from Grafana Enterprise
|
||||
const entr = await getChangeLogItems('grafana-enterprise', 'grafana', previous, target);
|
||||
|
||||
LOG(`Found OSS PRs: ${oss.length}`);
|
||||
LOG(`Found Enterprise PRs: ${entr.length}`);
|
||||
|
||||
// Sort PRs and categorise them into sections
|
||||
const changelog = [...oss, ...entr]
|
||||
.sort((a, b) => (a.title < b.title ? -1 : 1))
|
||||
.reduce(
|
||||
(changelog, item) => {
|
||||
if (item.isPlugin) {
|
||||
changelog.plugins.push(item);
|
||||
} else if (item.isBug) {
|
||||
changelog.bugfixes.push(item);
|
||||
} else if (item.isBreaking) {
|
||||
changelog.breaking.push(item);
|
||||
} else {
|
||||
changelog.features.push(item);
|
||||
}
|
||||
return changelog;
|
||||
},
|
||||
{
|
||||
breaking: [],
|
||||
plugins: [],
|
||||
bugfixes: [],
|
||||
features: [],
|
||||
}
|
||||
);
|
||||
|
||||
// Convert PR numbers to Github links
|
||||
const pullRequestLink = (n) => `[#${n}](https://github.com/grafana/grafana/pull/${n})`;
|
||||
// Convert Github user IDs to Github links
|
||||
const userLink = (u) => `[@${u}](https://github.com/${u})`;
|
||||
|
||||
// Now that we have a changelog - we can render some markdown as an output
|
||||
const markdown = (changelog) => {
|
||||
// This convers a list of changelog items into a markdown section with a list of titles/links
|
||||
const section = (title, items) =>
|
||||
items.length === 0
|
||||
? ''
|
||||
: `### ${title}
|
||||
|
||||
${items
|
||||
.map(
|
||||
(item) =>
|
||||
`- ${item.title.replace(/^([^:]*:)/gm, '**$1**')} ${
|
||||
item.repo === 'grafana-enterprise'
|
||||
? '(Enterprise)'
|
||||
: `${pullRequestLink(item.number)}${item.author ? ', ' + userLink(item.author) : ''}`
|
||||
}`
|
||||
)
|
||||
.join('\n')}
|
||||
`;
|
||||
|
||||
// Render all present sections for the given changelog
|
||||
return `${section('Features and enhancements', changelog.features)}
|
||||
${section('Bug fixes', changelog.bugfixes)}
|
||||
${section('Breaking changes', changelog.breaking)}
|
||||
${section('Plugin development fixes & changes', changelog.plugins)}
|
||||
`;
|
||||
};
|
||||
|
||||
const md = markdown(changelog);
|
||||
|
||||
// Print changelog, mostly for debugging
|
||||
LOG(`Resulting markdown: ${md}`);
|
||||
|
||||
// Save changelog as an output for this action
|
||||
if (process.env.GITHUB_OUTPUT) {
|
||||
LOG(`Output to ${process.env.GITHUB_OUTPUT}`);
|
||||
appendFileSync(process.env.GITHUB_OUTPUT, `changelog<<EOF\n${escapeData(md)}\nEOF`);
|
||||
} else {
|
||||
LOG('GITHUB_OUTPUT is not set');
|
||||
}
|
||||
|
||||
// Save changelog as an output file (if requested)
|
||||
if (process.env.INPUT_OUTPUT_FILE) {
|
||||
LOG(`Output to ${process.env.INPUT_OUTPUT_FILE}`);
|
||||
writeFileSync(process.env.INPUT_OUTPUT_FILE, md);
|
||||
}
|
||||
6
.github/actions/changelog/package.json
vendored
Normal file
6
.github/actions/changelog/package.json
vendored
Normal file
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"name": "changelog",
|
||||
"main": "index.js",
|
||||
"type": "module",
|
||||
"description": "changelog generator"
|
||||
}
|
||||
92
.github/actions/changelog/semver.js
vendored
Normal file
92
.github/actions/changelog/semver.js
vendored
Normal file
@@ -0,0 +1,92 @@
|
||||
//
|
||||
// Semver utils: parse, compare, sort etc (using official regexp)
|
||||
// https://regex101.com/r/Ly7O1x/3/
|
||||
//
|
||||
const semverRegExp =
|
||||
/^v?(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$/;
|
||||
|
||||
export function semverParse(tag) {
|
||||
const m = tag.match(semverRegExp);
|
||||
if (!m) {
|
||||
return;
|
||||
}
|
||||
const [_, major, minor, patch, prerelease, build] = m;
|
||||
return [+major, +minor, +patch, prerelease, build, tag];
|
||||
};
|
||||
|
||||
// semverCompare takes two parsed semver tags and comparest them more or less
|
||||
// according to the semver specs
|
||||
export function semverCompare(a, b) {
|
||||
for (let i = 0; i < 3; i++) {
|
||||
if (a[i] !== b[i]) {
|
||||
return a[i] < b[i] ? 1 : -1;
|
||||
}
|
||||
}
|
||||
if (a[3] !== b[3]) {
|
||||
return a[3] < b[3] ? 1 : -1;
|
||||
}
|
||||
return 0;
|
||||
};
|
||||
|
||||
|
||||
// Finds the highest version that is lower than the target version.
|
||||
//
|
||||
// This function relies on the following invariant: versions are sorted by the release date.
|
||||
// It will produce wrong result if invariant doesn't hold.
|
||||
export const findPreviousVersion = (versionByDate, target) => {
|
||||
let prev = null;
|
||||
|
||||
for (let i = 0; i < versionByDate.length; i++) {
|
||||
const version = versionByDate[i];
|
||||
|
||||
// version is greater than the target
|
||||
if (semverCompare(target, version) > 0) {
|
||||
continue;
|
||||
}
|
||||
|
||||
// we came across the target version, all versions seen previously have greater release date.
|
||||
if (semverCompare(target, version) === 0 && target[4] === version[4]) {
|
||||
prev = null;
|
||||
continue;
|
||||
}
|
||||
|
||||
if (prev == null) {
|
||||
prev = version;
|
||||
continue;
|
||||
}
|
||||
|
||||
if (semverCompare(prev, version) > 0) {
|
||||
prev = version;
|
||||
}
|
||||
}
|
||||
|
||||
return prev;
|
||||
};
|
||||
|
||||
|
||||
const versionsByDate = [
|
||||
"v10.4.19", "v12.0.1", "v11.6.2", "v11.5.5", "v11.4.5", "v11.3.7", "v11.2.10", "v12.0.0+security-01", "v11.2.9+security-01", "v11.3.6+security-01",
|
||||
"v11.6.1+security-01", "v11.4.4+security-01", "v11.5.4+security-01", "v10.4.18+security-01", "v12.0.0", "v11.6.1",
|
||||
"v11.5.4", "v11.4.4", "v11.3.6", "v11.2.9", "v10.4.18", "v11.6.0+security-01", "v11.5.3+security-01", "v11.4.3+security-01",
|
||||
"v11.3.5+security-01", "v11.2.8+security-01", "v10.4.17+security-01", "v11.2.8", "v11.6.0", "v11.5.2", "v11.4.2",
|
||||
"v11.3.4", "v11.2.7", "v11.1.12", "v11.0.11", "v10.4.16", "v11.5.1", "v11.5.0", "v11.3.3", "v11.1.11", "v11.2.6",
|
||||
"v11.0.10", "v10.4.15", "v11.4.1", "v11.4.0", "v11.3.2", "v11.2.5", "v11.1.10", "v11.0.9", "v10.4.14", "v11.3.1",
|
||||
"v11.2.4", "v11.1.9", "v11.0.8", "v10.4.13", "v11.0.2", "v10.4.6", "v10.3.8", "v10.2.9", "v11.1.0", "v11.0.1",
|
||||
"v10.4.5", "v10.3.7", "v10.2.8", "v9.5.20", "v10.4.4", "v9.5.19", "v10.1.10", "v10.2.7", "v10.3.6", "v10.4.3",
|
||||
"v11.0.0", "v10.4.2", "v11.0.0-preview", "v10.1.9", "v10.0.13", "v9.2.0", "v9.1.8",
|
||||
].map(semverParse);
|
||||
|
||||
function test(version, expected) {
|
||||
const v1 = semverParse(version);
|
||||
const prev = findPreviousVersion(versionsByDate, v1);
|
||||
|
||||
const failureMessage = `FAIILED. Expected ${expected}, but was ${prev[5]}`;
|
||||
|
||||
console.log(`Test ${version}, ${prev[5] === expected ? 'PASSED' : failureMessage}`);
|
||||
}
|
||||
|
||||
test("v11.5.4+security-01", "v11.5.4");
|
||||
test("v11.5.4", "v11.5.3+security-01");
|
||||
test("v12.0.0", "v11.6.1");
|
||||
test("v12.0.0+security-01", "v12.0.0");
|
||||
test("v11.0.0", "v11.0.0-preview");
|
||||
48
.github/actions/check-jobs/action.yml
vendored
Normal file
48
.github/actions/check-jobs/action.yml
vendored
Normal file
@@ -0,0 +1,48 @@
|
||||
name: Check jobs results
|
||||
description: Checks if any jobs have failed and exits with error if failures are found. Use to check the results of matrix test runs.
|
||||
inputs:
|
||||
needs:
|
||||
description: JSON string containing the needs context from the workflow
|
||||
required: true
|
||||
failure-message:
|
||||
description: Custom message to display when failures are found
|
||||
required: false
|
||||
default: "One or more jobs have failed"
|
||||
success-message:
|
||||
description: Custom message to display when all jobs pass
|
||||
required: false
|
||||
default: "All jobs passed successfully"
|
||||
outputs:
|
||||
any-failed:
|
||||
description: Whether any jobs failed
|
||||
value: ${{ steps.check-jobs.outputs.any-failed }}
|
||||
|
||||
runs:
|
||||
using: "composite"
|
||||
steps:
|
||||
- name: Check test suites
|
||||
id: check-jobs
|
||||
shell: bash
|
||||
env:
|
||||
NEEDS: ${{ inputs.needs }}
|
||||
FAILURE_MSG: ${{ inputs.failure-message }}
|
||||
SUCCESS_MSG: ${{ inputs.success-message }}
|
||||
run: |
|
||||
set -euo pipefail
|
||||
|
||||
# Print the needs context, debugging
|
||||
echo "$NEEDS" | jq
|
||||
|
||||
# Extract failures
|
||||
FAILURES="$(echo "$NEEDS" | jq 'with_entries(select(.value.result == "failure")) | map_values(.result)')"
|
||||
|
||||
# Check if there are any failures
|
||||
if [ "$(echo "$FAILURES" | jq '. | length')" != "0" ]; then
|
||||
echo "❌ $FAILURE_MSG"
|
||||
echo "Failed suites:"
|
||||
echo "$FAILURES" | jq -r 'to_entries[] | "- \(.key): \(.value)"'
|
||||
echo "any-failed=true" >> "$GITHUB_OUTPUT"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "✅ $SUCCESS_MSG"
|
||||
48
.github/actions/setup-enterprise/action.yml
vendored
Normal file
48
.github/actions/setup-enterprise/action.yml
vendored
Normal file
@@ -0,0 +1,48 @@
|
||||
name: 'Setup Grafana Enterprise'
|
||||
description: 'Clones and sets up Grafana Enterprise repository for testing'
|
||||
|
||||
inputs:
|
||||
github-app-name:
|
||||
description: 'Name of the GitHub App in Vault'
|
||||
required: false
|
||||
default: 'grafana-ci-bot'
|
||||
|
||||
runs:
|
||||
using: "composite"
|
||||
steps:
|
||||
- name: Retrieve GitHub App secrets
|
||||
id: get-secrets
|
||||
uses: grafana/shared-workflows/actions/get-vault-secrets@get-vault-secrets-v1.0.1 # zizmor: ignore[unpinned-uses]
|
||||
with:
|
||||
repo_secrets: |
|
||||
APP_ID=${{ inputs.github-app-name }}:app-id
|
||||
APP_INSTALLATION_ID=${{ inputs.github-app-name }}:app-installation-id
|
||||
PRIVATE_KEY=${{ inputs.github-app-name }}:private-key
|
||||
|
||||
- name: Generate GitHub App token
|
||||
id: generate_token
|
||||
uses: actions/create-github-app-token@v1
|
||||
with:
|
||||
app-id: ${{ env.APP_ID }}
|
||||
private-key: ${{ env.PRIVATE_KEY }}
|
||||
repositories: "grafana-enterprise"
|
||||
owner: "grafana"
|
||||
|
||||
- name: Setup Enterprise
|
||||
shell: bash
|
||||
env:
|
||||
GH_TOKEN: ${{ steps.generate_token.outputs.token }}
|
||||
run: |
|
||||
git clone https://x-access-token:${GH_TOKEN}@github.com/grafana/grafana-enterprise.git ../grafana-enterprise;
|
||||
|
||||
cd ../grafana-enterprise
|
||||
|
||||
if git checkout ${GITHUB_HEAD_REF}; then
|
||||
echo "checked out ${GITHUB_HEAD_REF}"
|
||||
elif git checkout ${GITHUB_BASE_REF}; then
|
||||
echo "checked out ${GITHUB_BASE_REF}"
|
||||
else
|
||||
git checkout main
|
||||
fi
|
||||
|
||||
QUIET=1 ./build.sh
|
||||
45
.github/actions/setup-grafana-bench/action.yml
vendored
Normal file
45
.github/actions/setup-grafana-bench/action.yml
vendored
Normal file
@@ -0,0 +1,45 @@
|
||||
name: 'Setup Grafana Bench'
|
||||
description: 'Sets up and installs Grafana Bench'
|
||||
|
||||
inputs:
|
||||
github-app-name:
|
||||
description: 'Name of the GitHub App in Vault'
|
||||
required: false
|
||||
default: 'grafana-ci-bot'
|
||||
branch:
|
||||
description: 'The branch to install from'
|
||||
required: false
|
||||
default: 'main'
|
||||
|
||||
runs:
|
||||
using: "composite"
|
||||
steps:
|
||||
- name: Retrieve GitHub App secrets
|
||||
id: get-secrets
|
||||
uses: grafana/shared-workflows/actions/get-vault-secrets@get-vault-secrets-v1.0.1 # zizmor: ignore[unpinned-uses]
|
||||
with:
|
||||
repo_secrets: |
|
||||
APP_ID=${{ inputs.github-app-name }}:app-id
|
||||
APP_INSTALLATION_ID=${{ inputs.github-app-name }}:app-installation-id
|
||||
PRIVATE_KEY=${{ inputs.github-app-name }}:private-key
|
||||
|
||||
- name: Generate GitHub App token
|
||||
id: generate_token
|
||||
uses: actions/create-github-app-token@v1
|
||||
with:
|
||||
app-id: ${{ env.APP_ID }}
|
||||
private-key: ${{ env.PRIVATE_KEY }}
|
||||
repositories: "grafana-bench"
|
||||
owner: "grafana"
|
||||
|
||||
- name: Setup Bench
|
||||
shell: bash
|
||||
env:
|
||||
GH_TOKEN: ${{ steps.generate_token.outputs.token }}
|
||||
BRANCH: ${{ inputs.branch }}
|
||||
run: |
|
||||
git clone https://x-access-token:${GH_TOKEN}@github.com/grafana/grafana-bench.git ../grafana-bench
|
||||
|
||||
cd ../grafana-bench
|
||||
git switch "$BRANCH"
|
||||
go install .
|
||||
50
.github/actions/test-coverage-processor/action.yml
vendored
Normal file
50
.github/actions/test-coverage-processor/action.yml
vendored
Normal file
@@ -0,0 +1,50 @@
|
||||
name: 'Go Coverage Processor'
|
||||
description: 'Process Go test coverage files and generate reports'
|
||||
|
||||
inputs:
|
||||
test-type:
|
||||
description: 'Type of test (e.g., be-unit, be-integration)'
|
||||
required: true
|
||||
type: string
|
||||
coverage-file:
|
||||
description: 'Path to the Go coverage file (.cov)'
|
||||
required: true
|
||||
type: string
|
||||
codecov-token:
|
||||
description: 'Token for CodeCov (required for CodeCov reporting)'
|
||||
required: false
|
||||
default: ''
|
||||
codecov-flag:
|
||||
description: 'Flag to categorize the upload to CodeCov'
|
||||
required: false
|
||||
default: ''
|
||||
codecov-name:
|
||||
description: 'Custom name for the upload to CodeCov'
|
||||
required: false
|
||||
default: ''
|
||||
|
||||
runs:
|
||||
using: 'composite'
|
||||
steps:
|
||||
- name: Process Go coverage output
|
||||
shell: bash
|
||||
env:
|
||||
COVERAGE_FILE: ${{ inputs.coverage-file }}
|
||||
run: |
|
||||
# Ensure valid coverage file even if empty
|
||||
if [ ! -s "$COVERAGE_FILE" ]; then
|
||||
echo "Coverage file is empty, creating a minimal valid file"
|
||||
echo "mode: set" > "$COVERAGE_FILE"
|
||||
fi
|
||||
|
||||
- name: Report coverage to CodeCov
|
||||
uses: codecov/codecov-action@ad3126e916f78f00edff4ed0317cf185271ccc2d # v5
|
||||
if: inputs.codecov-token != ''
|
||||
with:
|
||||
files: ${{ inputs.coverage-file }}
|
||||
flags: ${{ inputs.codecov-flag || inputs.test-type }}
|
||||
name: ${{ inputs.codecov-name || inputs.test-type }}
|
||||
slug: grafana/grafana
|
||||
# This URL doesn't use the Google auth, but is much more locked down. As such, it requires OIDC or a CodeCov-provided token to do anything.
|
||||
url: https://codecov-webhook.grafana-dev.net
|
||||
token: ${{ inputs.codecov-token }}
|
||||
80
.github/bot.md
vendored
80
.github/bot.md
vendored
@@ -28,3 +28,83 @@ try to cherry-pick the PR merge commit into that branch and open a PR. You must
|
||||
If there are merge conflicts the bot will write a comment on the source PR saying the cherry-pick failed. In this case you have to do the cherry pick and backport PR manually.
|
||||
|
||||
The backport logic is written [here](https://github.com/grafana/grafana-github-actions/blob/main/backport/backport.ts)
|
||||
|
||||
## Auto triager bot
|
||||
|
||||
The auto triager bot is a github action that **assigns** labels to issues based on the issue contents. The logic to assign
|
||||
labels is its own program and lives [here](https://github.com/grafana/auto-triager). It uses an LLM to do this.
|
||||
|
||||
The bot runs **every time** a new issue is opened in the grafana/grafana repository. You can find the bot definition [here](https://github.com/grafana/grafana/blob/main/.github/workflows/issue-opened.yml#L61)
|
||||
|
||||
The job only assign labels when the issue author is not a member of the Grafana organization in **GitHub**. The bot concurrency is 1.
|
||||
|
||||
This bot is not responsible for assigning teams, the [commands](https://github.com/grafana/grafana/blob/main/.github/workflows/commands.yml) workflow is responsible for doing that
|
||||
|
||||
### General diagram
|
||||
|
||||
```mermaid
|
||||
sequenceDiagram
|
||||
actor User
|
||||
participant GH as GitHub
|
||||
participant AT as Auto Triager Job
|
||||
participant ATP as Auto Triager Program
|
||||
participant LLM as LLM Service
|
||||
participant CJ as Commands Job
|
||||
|
||||
User->>GH: Opens Issue
|
||||
GH->>GH: Check if user in Grafana org
|
||||
alt User not in Grafana org
|
||||
GH->>AT: Trigger Auto Triager Job
|
||||
AT->>ATP: Execute program
|
||||
ATP->>LLM: Send issue content & categories
|
||||
LLM-->>ATP: Return matching categories
|
||||
ATP-->>GH: Assign labels to issue
|
||||
GH->>CJ: Trigger Commands Job
|
||||
CJ->>CJ: Read commands.json
|
||||
CJ-->>GH: Assign teams based on labels
|
||||
end
|
||||
```
|
||||
|
||||
### Team definitions
|
||||
|
||||
The team associated with labels are defined [here](https://github.com/grafana/grafana/blob/main/.github/commands.json).
|
||||
This bot is not responsible for assigning teams, the [commands](https://github.com/grafana/grafana/blob/main/.github/workflows/commands.yml) workflow is responsible for doing that.
|
||||
|
||||
The commands workflow code can be found [here](https://github.com/grafana/grafana-github-actions/tree/main/commands)
|
||||
|
||||
### Categories/Labels definitions
|
||||
|
||||
The categories (or labels) and the types used to categorize issues are defined in this same repository [here](https://github.com/grafana/grafana/tree/main/.github/workflows/auto-triager) the [prompt](https://github.com/grafana/grafana/blob/main/.github/workflows/auto-triager/prompt.txt) that is passed to the LLM is also defined there.
|
||||
|
||||
If you are adding a new category in the auto-triager repository you must define a team that owns the label in the
|
||||
[commands.json](https://github.com/grafana/grafana/blob/main/.github/commands.json).
|
||||
|
||||
If you remove a label from the [commands.json](https://github.com/grafana/grafana/blob/main/.github/commands.json) and it doesn't have any other
|
||||
team associated with it you must remove it from the [labels file](https://github.com/grafana/grafana/blob/main/.github/workflows/auto-triager/labels.txt)
|
||||
|
||||
### Secrets
|
||||
|
||||
The bot secrets live in the vault. It uses a [shared workflow](https://github.com/grafana/shared-workflows/tree/main/actions/get-vault-secrets) to get the vault secrets, the
|
||||
workflow requires a token with `contents:read` and `id-token:write` scopes for it to work.
|
||||
|
||||
### How to detect the bot is working?
|
||||
|
||||
The list of [unlabeled issues](https://github.com/grafana/grafana/issues?q=is%3Aopen+is%3Aissue+no%3Alabel) should remain empty as long as the bot is running.
|
||||
There might be issues in the list if some team member removed all labels, but if the list grows to more
|
||||
than 5 it is likely the bot is not working correctly.
|
||||
|
||||
### What to do if this bot is not working?
|
||||
|
||||
You can contact the plugins platform team in slack `#grafana-plugins-platform` and inform about the issue.
|
||||
|
||||
### Troubleshooting
|
||||
|
||||
Possible reasons why the bot is not working:
|
||||
|
||||
* The OpenAI API key is not valid anymore. The action output will show this in its error log. A new key needs to be
|
||||
generated via the OpenAI UI and its value updated in vault. See [the action](https://github.com/grafana/grafana/blob/main/.github/workflows/issue-opened.yml#L72) to find the correct path to
|
||||
update the key.
|
||||
* The Slack webhook URL is not valid anymore. The action output will show this in its error log or the
|
||||
#triage-automation-ci channel will stop showing messages about issue triaging. A new slack webhook url needs to be
|
||||
generated for the auto triager app and its value updated in vault.
|
||||
* This bot is not responsible for assigning teams, the [commands](https://github.com/grafana/grafana/blob/main/.github/workflows/commands.yml) workflow is responsible for doing that
|
||||
|
||||
1050
.github/commands.json
vendored
1050
.github/commands.json
vendored
File diff suppressed because it is too large
Load Diff
33
.github/dependabot.yml
vendored
33
.github/dependabot.yml
vendored
@@ -5,6 +5,35 @@ updates:
|
||||
schedule:
|
||||
interval: "daily"
|
||||
- package-ecosystem: "gomod"
|
||||
directory: "/"
|
||||
directories:
|
||||
- "/"
|
||||
- "/apps/playlist"
|
||||
- "/apps/secret"
|
||||
- "/apps/investigations"
|
||||
- "/pkg/aggregator"
|
||||
- "/pkg/apimachinery"
|
||||
- "/pkg/apis/folder"
|
||||
- "/pkg/apis/secret"
|
||||
- "/pkg/apiserver"
|
||||
- "/pkg/build"
|
||||
- "/pkg/build/wire"
|
||||
- "/pkg/promlib"
|
||||
- "/pkg/semconv"
|
||||
- "/pkg/storage/unified/apistore"
|
||||
- "/pkg/storage/unified/resource"
|
||||
- "/pkg/util/xorm"
|
||||
schedule:
|
||||
interval: "weekly"
|
||||
interval: "daily"
|
||||
time: "02:00"
|
||||
timezone: Etc/UTC
|
||||
open-pull-requests-limit: 10
|
||||
- package-ecosystem: "docker"
|
||||
directories:
|
||||
- "/"
|
||||
- "/packaging/docker/custom"
|
||||
- "/scripts/verify-repo-update"
|
||||
schedule:
|
||||
interval: "daily"
|
||||
time: "02:00"
|
||||
timezone: Etc/UTC
|
||||
open-pull-requests-limit: 10
|
||||
|
||||
8
.github/issue-opened.json
vendored
8
.github/issue-opened.json
vendored
@@ -1,9 +1,11 @@
|
||||
[
|
||||
{
|
||||
"type": "author",
|
||||
"memberOf": { "org": "grafana" },
|
||||
"memberOf": {
|
||||
"org": "grafana"
|
||||
},
|
||||
"noLabels": true,
|
||||
"addLabel": "internal",
|
||||
"comment": " please add one or more appropriate labels. Here are some tips:\r\n\r\n- if you are making an issue, TODO, or reminder for yourself or your team, please add one label that best describes the product or feature area. Please also add the issue to your project board. :rocket:\r\n\r\n- if you are making an issue for any other reason (docs typo, you found a bug, etc), please add at least one label that best describes the product or feature that you are discussing (e.g. `area/alerting`, `datasource/loki`, `type/docs`, `type/bug`, etc). [Our issue triage](https://github.com/grafana/grafana/blob/main/ISSUE_TRIAGE.md#3-categorizing-an-issue) doc also provides additional guidance on labeling. :rocket:\r\n\r\n Thank you! :heart:"
|
||||
"comment": " please add one or more appropriate labels. Here are some tips:\r\n\r\n- if you are making an issue, TODO, or reminder for yourself or your team, please add one label that best describes the product or feature area. Please also add the issue to your project board. :rocket:\r\n\r\n- if you are making an issue for any other reason (docs typo, you found a bug, etc), please add at least one label that best describes the product or feature that you are discussing (e.g. `area/alerting`, `datasource/loki`, `type/docs`, `type/bug`, etc). [Our issue triage](https://github.com/grafana/grafana/blob/main/contribute/ISSUE_TRIAGE.md#3-categorize-an-issue) doc also provides additional guidance on labeling. :rocket:\r\n\r\n Thank you! :heart:"
|
||||
}
|
||||
]
|
||||
]
|
||||
128
.github/license_finder.yaml
vendored
Normal file
128
.github/license_finder.yaml
vendored
Normal file
@@ -0,0 +1,128 @@
|
||||
---
|
||||
- - :permit
|
||||
- MIT
|
||||
- :who: Carl Bergquist
|
||||
:why: Compatible license
|
||||
:versions: []
|
||||
:when: 2021-03-25 11:11:50.696368005 Z
|
||||
- - :permit
|
||||
- Apache 2.0
|
||||
- :who: Carl Bergquist
|
||||
:why: Compatible license
|
||||
:versions: []
|
||||
:when: 2021-03-25 11:12:09.344787957 Z
|
||||
- - :permit
|
||||
- New BSD
|
||||
- :who: Carl Bergquist
|
||||
:why: Compatible license
|
||||
:versions: []
|
||||
:when: 2021-03-25 11:12:09.344787957 Z
|
||||
- - :permit
|
||||
- Simplified BSD
|
||||
- :who: Carl Bergquist
|
||||
:why: Compatible license
|
||||
:versions: []
|
||||
:when: 2021-03-25 11:12:09.344787957 Z
|
||||
- - :permit
|
||||
- Mozilla Public License 2.0
|
||||
- :who: Carl Bergquist
|
||||
:why: Compatible license
|
||||
:versions: []
|
||||
:when: 2021-03-25 11:12:09.344787957 Z
|
||||
- - :permit
|
||||
- ISC
|
||||
- :who: Carl Bergquist
|
||||
:why: Compatible license
|
||||
:versions: []
|
||||
:when: 2021-03-25 11:12:09.344787957
|
||||
- - :license
|
||||
- github.com/grafana/alerting
|
||||
- GNU Affero GPL
|
||||
- :who: Carl Bergquist
|
||||
:why: repository is owned by Grafana Labs
|
||||
:versions: []
|
||||
:when: 2025-05-03 13:10:00.000000000 Z
|
||||
- - :license
|
||||
- github.com/grafana/grafana/apps/advisor
|
||||
- unknown
|
||||
- :who: Carl Bergquist
|
||||
:why: repository is owned by Grafana Labs
|
||||
:versions: []
|
||||
:when: 2025-05-03 13:10:00.000000000 Z
|
||||
- - :license
|
||||
- github.com/grafana/grafana/apps/alerting/notifications
|
||||
- unknown
|
||||
- :who: Carl Bergquist
|
||||
:why: repository is owned by Grafana Labs
|
||||
:versions: []
|
||||
:when: 2025-05-03 13:10:00.000000000 Z
|
||||
- - :license
|
||||
- github.com/grafana/grafana/apps/dashboard
|
||||
- unknown
|
||||
- :who: Carl Bergquist
|
||||
:why: repository is owned by Grafana Labs
|
||||
:versions: []
|
||||
:when: 2025-05-03 13:10:00.000000000 Z
|
||||
- - :license
|
||||
- github.com/grafana/grafana/apps/folder
|
||||
- unknown
|
||||
- :who: Carl Bergquist
|
||||
:why: repository is owned by Grafana Labs
|
||||
:versions: []
|
||||
:when: 2025-05-03 13:10:00.000000000 Z
|
||||
- - :license
|
||||
- github.com/grafana/grafana/apps/investigations
|
||||
- unknown
|
||||
- :who: Carl Bergquist
|
||||
:why: repository is owned by Grafana Labs
|
||||
:versions: []
|
||||
:when: 2025-05-03 13:10:00.000000000 Z
|
||||
- - :license
|
||||
- github.com/grafana/grafana/apps/playlist
|
||||
- unknown
|
||||
- :who: Carl Bergquist
|
||||
:why: repository is owned by Grafana Labs
|
||||
:versions: []
|
||||
:when: 2025-05-03 13:10:00.000000000 Z
|
||||
- - :license
|
||||
- github.com/grafana/grafana/pkg/aggregator
|
||||
- unknown
|
||||
- :who: Carl Bergquist
|
||||
:why: repository is owned by Grafana Labs
|
||||
:versions: []
|
||||
:when: 2025-05-03 13:10:00.000000000 Z
|
||||
- - :license
|
||||
- github.com/grafana/grafana/pkg/apimachinery
|
||||
- unknown
|
||||
- :who: Carl Bergquist
|
||||
:why: repository is owned by Grafana Labs
|
||||
:versions: []
|
||||
:when: 2025-05-03 13:10:00.000000000 Z
|
||||
- - :license
|
||||
- github.com/grafana/grafana/pkg/apis/secret
|
||||
- unknown
|
||||
- :who: Carl Bergquist
|
||||
:why: repository is owned by Grafana Labs
|
||||
:versions: []
|
||||
:when: 2025-05-03 13:10:00.000000000 Z
|
||||
- - :license
|
||||
- github.com/grafana/grafana/pkg/apiserver
|
||||
- unknown
|
||||
- :who: Carl Bergquist
|
||||
:why: repository is owned by Grafana Labs
|
||||
:versions: []
|
||||
:when: 2025-05-03 13:10:00.000000000 Z
|
||||
- - :license
|
||||
- github.com/grafana/grafana/pkg/promlib
|
||||
- unknown
|
||||
- :who: Carl Bergquist
|
||||
:why: repository is owned by Grafana Labs
|
||||
:versions: []
|
||||
:when: 2025-05-03 13:10:00.000000000 Z
|
||||
- - :license
|
||||
- github.com/grafana/grafana/pkg/semconv
|
||||
- unknown
|
||||
- :who: Carl Bergquist
|
||||
:why: repository is owned by Grafana Labs
|
||||
:versions: []
|
||||
:when: 2025-05-03 13:10:00.000000000 Z
|
||||
2
.github/metrics-collector.json
vendored
2
.github/metrics-collector.json
vendored
@@ -29,4 +29,4 @@
|
||||
"query": "is:open is:pull-request"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
9
.github/pr-checks.json
vendored
9
.github/pr-checks.json
vendored
@@ -1,11 +1,4 @@
|
||||
[
|
||||
{
|
||||
"type": "check-milestone",
|
||||
"title": "Milestone Check",
|
||||
"targetUrl": "https://github.com/grafana/grafana/blob/main/contribute/merge-pull-request.md#assign-a-milestone",
|
||||
"success": "Milestone set",
|
||||
"failure": "Milestone not set"
|
||||
},
|
||||
{
|
||||
"type": "check-changelog",
|
||||
"title": "Changelog Check",
|
||||
@@ -27,4 +20,4 @@
|
||||
},
|
||||
"targetUrl": "https://github.com/grafana/grafana/blob/main/contribute/merge-pull-request.md#include-in-changelog-and-release-notes"
|
||||
}
|
||||
]
|
||||
]
|
||||
454
.github/pr-commands.json
vendored
454
.github/pr-commands.json
vendored
@@ -2,8 +2,8 @@
|
||||
{
|
||||
"type": "changedfiles",
|
||||
"matches": [
|
||||
"docs/**/*",
|
||||
"contribute/**/*"
|
||||
"docs/**/*",
|
||||
"contribute/**/*"
|
||||
],
|
||||
"action": "updateLabel",
|
||||
"addLabel": "type/docs"
|
||||
@@ -11,21 +11,20 @@
|
||||
{
|
||||
"type": "changedfiles",
|
||||
"matches": [
|
||||
"public/**/*",
|
||||
"packages/**/*",
|
||||
"e2e/**/*",
|
||||
"plugins-bundled/**/*",
|
||||
"scripts/build/release-packages.sh",
|
||||
"scripts/circle-release-next-packages.sh",
|
||||
"scripts/ci-frontend-metrics.sh",
|
||||
"scripts/grunt/**/*",
|
||||
"scripts/webpack/**/*",
|
||||
"package.json",
|
||||
"tsconfig.json",
|
||||
"lerna.json",
|
||||
".prettierrc.js",
|
||||
".eslintrc",
|
||||
"**/*.mdx"
|
||||
"public/**/*",
|
||||
"packages/**/*",
|
||||
"e2e/**/*",
|
||||
"scripts/build/release-packages.sh",
|
||||
"scripts/circle-release-next-packages.sh",
|
||||
"scripts/ci-frontend-metrics.sh",
|
||||
"scripts/grunt/**/*",
|
||||
"scripts/webpack/**/*",
|
||||
"package.json",
|
||||
"tsconfig.json",
|
||||
"lerna.json",
|
||||
".prettierrc.js",
|
||||
".eslintrc",
|
||||
"**/*.mdx"
|
||||
],
|
||||
"action": "updateLabel",
|
||||
"addLabel": "area/frontend"
|
||||
@@ -33,11 +32,11 @@
|
||||
{
|
||||
"type": "changedfiles",
|
||||
"matches": [
|
||||
"**/*.go",
|
||||
"go.mod",
|
||||
"go.sum",
|
||||
"contribute/style-guides/backend.md",
|
||||
"contribute/architecture/backend/**/*"
|
||||
"**/*.go",
|
||||
"go.mod",
|
||||
"go.sum",
|
||||
"contribute/style-guides/backend.md",
|
||||
"contribute/architecture/backend/**/*"
|
||||
],
|
||||
"action": "updateLabel",
|
||||
"addLabel": "area/backend"
|
||||
@@ -45,15 +44,17 @@
|
||||
{
|
||||
"type": "changedfiles",
|
||||
"matches": [
|
||||
"pkg/services/sqlstore/migrations/**/*",
|
||||
"**/*_mig.go"
|
||||
"pkg/services/sqlstore/migrations/**/*",
|
||||
"**/*_mig.go"
|
||||
],
|
||||
"action": "updateLabel",
|
||||
"addLabel": "area/backend/db/migration"
|
||||
},
|
||||
{
|
||||
"type": "changedfiles",
|
||||
"matches": [ "public/app/features/explore/**/*"],
|
||||
"matches": [
|
||||
"public/app/features/explore/**/*"
|
||||
],
|
||||
"action": "updateLabel",
|
||||
"addLabel": "area/explore"
|
||||
},
|
||||
@@ -82,384 +83,401 @@
|
||||
},
|
||||
{
|
||||
"type": "changedfiles",
|
||||
"matches": [ "public/app/plugins/datasource/azuremonitor/**/*", "pkg/tsdb/azuremonitor/**/*"],
|
||||
"matches": [
|
||||
"public/app/plugins/datasource/azuremonitor/**/*",
|
||||
"pkg/tsdb/azuremonitor/**/*"
|
||||
],
|
||||
"action": "updateLabel",
|
||||
"addLabel": "datasource/Azure"
|
||||
},
|
||||
{
|
||||
"type": "changedfiles",
|
||||
"matches": [ "public/app/plugins/datasource/cloud-monitoring/**/*", "pkg/tsdb/cloud-monitoring/**/*"],
|
||||
"matches": [
|
||||
"public/app/plugins/datasource/cloud-monitoring/**/*",
|
||||
"pkg/tsdb/cloud-monitoring/**/*"
|
||||
],
|
||||
"action": "updateLabel",
|
||||
"addLabel": "datasource/GoogleCloudMonitoring"
|
||||
},
|
||||
{
|
||||
"type": "changedfiles",
|
||||
"matches": [ "public/app/plugins/datasource/cloudwatch/**/*", "pkg/tsdb/cloudwatch/**/*"],
|
||||
"matches": [
|
||||
"public/app/plugins/datasource/cloudwatch/**/*",
|
||||
"pkg/tsdb/cloudwatch/**/*"
|
||||
],
|
||||
"action": "updateLabel",
|
||||
"addLabel": "datasource/CloudWatch"
|
||||
},
|
||||
{
|
||||
"type": "changedfiles",
|
||||
"matches": [ "public/app/plugins/datasource/elasticsearch/**/*", "pkg/tsdb/elasticsearch/**/*"],
|
||||
"matches": [
|
||||
"public/app/plugins/datasource/elasticsearch/**/*",
|
||||
"pkg/tsdb/elasticsearch/**/*"
|
||||
],
|
||||
"action": "updateLabel",
|
||||
"addLabel": "datasource/Elasticsearch"
|
||||
},
|
||||
{
|
||||
"type": "changedfiles",
|
||||
"matches": [ "public/app/plugins/datasource/graphite/**/*", "pkg/tsdb/graphite/**/*"],
|
||||
"matches": [
|
||||
"public/app/plugins/datasource/graphite/**/*",
|
||||
"pkg/tsdb/graphite/**/*"
|
||||
],
|
||||
"action": "updateLabel",
|
||||
"addLabel": "datasource/Graphite"
|
||||
},
|
||||
{
|
||||
"type": "changedfiles",
|
||||
"matches": [ "public/app/plugins/datasource/influxdb/**/*", "pkg/tsdb/influx/**/*"],
|
||||
"matches": [
|
||||
"public/app/plugins/datasource/influxdb/**/*",
|
||||
"pkg/tsdb/influx/**/*"
|
||||
],
|
||||
"action": "updateLabel",
|
||||
"addLabel": "datasource/InfluxDB"
|
||||
},
|
||||
{
|
||||
"type": "changedfiles",
|
||||
"matches": [ "public/app/plugins/datasource/jaeger/**/*"],
|
||||
"matches": [
|
||||
"public/app/plugins/datasource/jaeger/**/*"
|
||||
],
|
||||
"action": "updateLabel",
|
||||
"addLabel": "datasource/Jaeger"
|
||||
},
|
||||
{
|
||||
"type": "changedfiles",
|
||||
"matches": [ "public/app/plugins/datasource/loki/**/*", "pkg/tsdb/loki/**/*"],
|
||||
"matches": [
|
||||
"public/app/plugins/datasource/loki/**/*",
|
||||
"pkg/tsdb/loki/**/*"
|
||||
],
|
||||
"action": "updateLabel",
|
||||
"addLabel": "datasource/Loki"
|
||||
},
|
||||
{
|
||||
"type": "changedfiles",
|
||||
"matches": [ "public/app/plugins/datasource/mssql/**/*", "pkg/tsdb/mssql/**/*"],
|
||||
"matches": [
|
||||
"public/app/plugins/datasource/mssql/**/*",
|
||||
"pkg/tsdb/mssql/**/*"
|
||||
],
|
||||
"action": "updateLabel",
|
||||
"addLabel": "datasource/MSSQL"
|
||||
},
|
||||
{
|
||||
"type": "changedfiles",
|
||||
"matches": [ "public/app/plugins/datasource/mysql/**/*", "pkg/tsdb/mysql/**/*"],
|
||||
"matches": [
|
||||
"public/app/plugins/datasource/mysql/**/*",
|
||||
"pkg/tsdb/mysql/**/*"
|
||||
],
|
||||
"action": "updateLabel",
|
||||
"addLabel": "datasource/MySQL"
|
||||
},
|
||||
{
|
||||
"type": "changedfiles",
|
||||
"matches": [ "public/app/plugins/datasource/opentsdb/**/*", "pkg/tsdb/opentsdb/**/*"],
|
||||
"matches": [
|
||||
"public/app/plugins/datasource/opentsdb/**/*",
|
||||
"pkg/tsdb/opentsdb/**/*"
|
||||
],
|
||||
"action": "updateLabel",
|
||||
"addLabel": "datasource/OpenTSDB"
|
||||
},
|
||||
{
|
||||
"type": "changedfiles",
|
||||
"matches": [ "public/app/plugins/datasource/parca/**/*"],
|
||||
"matches": [
|
||||
"public/app/plugins/datasource/parca/**/*"
|
||||
],
|
||||
"action": "updateLabel",
|
||||
"addLabel": "datasource/Parca"
|
||||
},
|
||||
{
|
||||
"type": "changedfiles",
|
||||
"matches": [ "public/app/plugins/datasource/grafana-pyroscope-datasource/**/*", "pkg/tsdb/grafana-pyroscope-datasource/**/*"],
|
||||
"matches": [
|
||||
"public/app/plugins/datasource/grafana-pyroscope-datasource/**/*",
|
||||
"pkg/tsdb/grafana-pyroscope-datasource/**/*"
|
||||
],
|
||||
"action": "updateLabel",
|
||||
"addLabel": "datasource/grafana-pyroscope"
|
||||
},
|
||||
{
|
||||
"type": "changedfiles",
|
||||
"matches": [ "public/app/plugins/datasource/grafana-postgresql-datasource/**/*", "pkg/tsdb/grafana-postgresql-datasource/**/*"],
|
||||
"matches": [
|
||||
"public/app/plugins/datasource/grafana-postgresql-datasource/**/*",
|
||||
"pkg/tsdb/grafana-postgresql-datasource/**/*"
|
||||
],
|
||||
"action": "updateLabel",
|
||||
"addLabel": "datasource/Postgres"
|
||||
},
|
||||
{
|
||||
"type": "changedfiles",
|
||||
"matches": [ "public/app/plugins/datasource/prometheus/**/*", "pkg/tsdb/prometheus/**/*"],
|
||||
"matches": [
|
||||
"public/app/plugins/datasource/prometheus/**/*",
|
||||
"pkg/tsdb/prometheus/**/*"
|
||||
],
|
||||
"action": "updateLabel",
|
||||
"addLabel": "datasource/Prometheus"
|
||||
},
|
||||
{
|
||||
"type": "changedfiles",
|
||||
"matches": [ "public/app/plugins/datasource/tempo/**/*", "pkg/tsdb/tempo/**/*"],
|
||||
"matches": [
|
||||
"public/app/plugins/datasource/tempo/**/*",
|
||||
"pkg/tsdb/tempo/**/*"
|
||||
],
|
||||
"action": "updateLabel",
|
||||
"addLabel": "datasource/Tempo"
|
||||
},
|
||||
{
|
||||
"type": "changedfiles",
|
||||
"matches": [ "public/app/plugins/datasource/zipkin/**/*"],
|
||||
"matches": [
|
||||
"public/app/plugins/datasource/zipkin/**/*"
|
||||
],
|
||||
"action": "updateLabel",
|
||||
"addLabel": "datasource/Zipkin"
|
||||
},
|
||||
{
|
||||
"type": "changedfiles",
|
||||
"matches": ["public/app/features/variables/**/*", "public/app/features/templating/**/*"],
|
||||
"matches": [
|
||||
"public/app/features/variables/**/*",
|
||||
"public/app/features/templating/**/*"
|
||||
],
|
||||
"action": "updateLabel",
|
||||
"addLabel": "area/dashboard/templating"
|
||||
},
|
||||
{
|
||||
"type": "changedfiles",
|
||||
"matches": ["/pkg/services/ngalert/**/*", "/pkg/services/sqlstore/migrations/ualert/**/*", "/pkg/services/alerting/**/*", "/public/app/features/alerting/**/*", "/pkg/tests/api/alerting/**/*"],
|
||||
"matches": [
|
||||
"pkg/services/ngalert/**/*",
|
||||
"pkg/services/sqlstore/migrations/ualert/**/*",
|
||||
"pkg/services/alerting/**/*",
|
||||
"public/app/features/alerting/**/*",
|
||||
"pkg/tests/api/alerting/**/*",
|
||||
"pkg/tests/alertmanager/**/*"
|
||||
],
|
||||
"action": "updateLabel",
|
||||
"addLabel": "area/alerting"
|
||||
},
|
||||
{
|
||||
"type": "author",
|
||||
"name": "pr/external",
|
||||
"notMemberOf": { "org": "grafana" },
|
||||
"ignoreList": ["renovate[bot]","dependabot[bot]","grafana-delivery-bot[bot]","grafanabot"],
|
||||
"action": "updateLabel",
|
||||
"addLabel": "pr/external"
|
||||
},
|
||||
{
|
||||
"type":"label",
|
||||
"name":"type/docs",
|
||||
"action":"addToProject",
|
||||
"addToProject":{
|
||||
"url":"https://github.com/orgs/grafana/projects/69"
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "changedfiles",
|
||||
"matches": ["public/app/plugins/panel/candlestick/**/*"],
|
||||
"matches": [
|
||||
"public/app/plugins/panel/candlestick/**/*"
|
||||
],
|
||||
"action": "updateLabel",
|
||||
"addLabel": "area/panel/candlestick"
|
||||
},
|
||||
{
|
||||
"type": "label",
|
||||
"name": "area/panel/candlestick",
|
||||
"action": "addToProject",
|
||||
"addToProject": {
|
||||
"url": "https://github.com/orgs/grafana/projects/56"
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "changedfiles",
|
||||
"matches": ["public/app/plugins/panel/canvas/**/*", "/public/app/features/canvas/**/*"],
|
||||
"matches": [
|
||||
"public/app/plugins/panel/canvas/**/*",
|
||||
"/public/app/features/canvas/**/*"
|
||||
],
|
||||
"action": "updateLabel",
|
||||
"addLabel": "area/panel/canvas"
|
||||
},
|
||||
{
|
||||
"type": "label",
|
||||
"name": "area/panel/canvas",
|
||||
"action": "addToProject",
|
||||
"addToProject": {
|
||||
"url": "https://github.com/orgs/grafana/projects/56"
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "changedfiles",
|
||||
"matches": ["public/app/plugins/panel/barchart/**/*"],
|
||||
"matches": [
|
||||
"public/app/plugins/panel/barchart/**/*"
|
||||
],
|
||||
"action": "updateLabel",
|
||||
"addLabel": "area/panel/barchart"
|
||||
},
|
||||
{
|
||||
"type": "label",
|
||||
"name": "area/panel/barchart",
|
||||
"action": "addToProject",
|
||||
"addToProject": {
|
||||
"url": "https://github.com/orgs/grafana/projects/56"
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "changedfiles",
|
||||
"matches": ["public/app/plugins/panel/geomap/**/*", "/public/app/features/geo/**/*"],
|
||||
"matches": [
|
||||
"public/app/plugins/panel/geomap/**/*",
|
||||
"/public/app/features/geo/**/*"
|
||||
],
|
||||
"action": "updateLabel",
|
||||
"addLabel": "area/panel/geomap"
|
||||
},
|
||||
{
|
||||
"type": "label",
|
||||
"name": "area/panel/geomap",
|
||||
"action": "addToProject",
|
||||
"addToProject": {
|
||||
"url": "https://github.com/orgs/grafana/projects/56"
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "changedfiles",
|
||||
"matches": ["public/app/plugins/panel/graph/**/*", "/packages/grafana-ui/src/components/Graph/**/*", "/packages/grafana-ui/src/components/GraphNG/**/*"],
|
||||
"matches": [
|
||||
"public/app/plugins/panel/graph/**/*",
|
||||
"/packages/grafana-ui/src/components/Graph/**/*",
|
||||
"/packages/grafana-ui/src/components/GraphNG/**/*"
|
||||
],
|
||||
"action": "updateLabel",
|
||||
"addLabel": "area/panel/graph"
|
||||
},
|
||||
{
|
||||
"type": "label",
|
||||
"name": "area/panel/graph",
|
||||
"action": "addToProject",
|
||||
"addToProject": {
|
||||
"url": "https://github.com/orgs/grafana/projects/56"
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "changedfiles",
|
||||
"matches": ["public/app/plugins/panel/heatmap/**/*"],
|
||||
"matches": [
|
||||
"public/app/plugins/panel/heatmap/**/*"
|
||||
],
|
||||
"action": "updateLabel",
|
||||
"addLabel": "area/panel/heatmap"
|
||||
},
|
||||
{
|
||||
"type": "label",
|
||||
"name": "area/panel/heatmap",
|
||||
"action": "addToProject",
|
||||
"addToProject": {
|
||||
"url": "https://github.com/orgs/grafana/projects/56"
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "changedfiles",
|
||||
"matches": ["public/app/plugins/panel/histogram/**/*"],
|
||||
"matches": [
|
||||
"public/app/plugins/panel/histogram/**/*"
|
||||
],
|
||||
"action": "updateLabel",
|
||||
"addLabel": "area/panel/histogram"
|
||||
},
|
||||
{
|
||||
"type": "label",
|
||||
"name": "area/panel/histogram",
|
||||
"action": "addToProject",
|
||||
"addToProject": {
|
||||
"url": "https://github.com/orgs/grafana/projects/56"
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "changedfiles",
|
||||
"matches": ["public/app/plugins/panel/state-timeline/**/*"],
|
||||
"matches": [
|
||||
"public/app/plugins/panel/state-timeline/**/*"
|
||||
],
|
||||
"action": "updateLabel",
|
||||
"addLabel": "area/panel/state-timeline"
|
||||
},
|
||||
{
|
||||
"type": "label",
|
||||
"name": "area/panel/state-timeline",
|
||||
"action": "addToProject",
|
||||
"addToProject": {
|
||||
"url": "https://github.com/orgs/grafana/projects/56"
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "changedfiles",
|
||||
"matches": ["public/app/plugins/panel/status-history/**/*"],
|
||||
"matches": [
|
||||
"public/app/plugins/panel/status-history/**/*"
|
||||
],
|
||||
"action": "updateLabel",
|
||||
"addLabel": "area/panel/status-history"
|
||||
},
|
||||
{
|
||||
"type": "label",
|
||||
"name": "area/panel/status-history",
|
||||
"action": "addToProject",
|
||||
"addToProject": {
|
||||
"url": "https://github.com/orgs/grafana/projects/56"
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "changedfiles",
|
||||
"matches": ["public/app/plugins/panel/timeseries/**/*", "/packages/grafana-ui/src/components/TimeSeries/**/*"],
|
||||
"matches": [
|
||||
"public/app/plugins/panel/timeseries/**/*",
|
||||
"/packages/grafana-ui/src/components/TimeSeries/**/*"
|
||||
],
|
||||
"action": "updateLabel",
|
||||
"addLabel": "area/panel/timeseries"
|
||||
},
|
||||
{
|
||||
"type": "label",
|
||||
"name": "area/panel/timeseries",
|
||||
"action": "addToProject",
|
||||
"addToProject": {
|
||||
"url": "https://github.com/orgs/grafana/projects/56"
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "changedfiles",
|
||||
"matches": ["public/app/plugins/panel/xychart/**/*"],
|
||||
"matches": [
|
||||
"public/app/plugins/panel/xychart/**/*"
|
||||
],
|
||||
"action": "updateLabel",
|
||||
"addLabel": "area/panel/xychart"
|
||||
},
|
||||
{
|
||||
"type": "label",
|
||||
"name": "area/panel/xychart",
|
||||
"action": "addToProject",
|
||||
"addToProject": {
|
||||
"url": "https://github.com/orgs/grafana/projects/56"
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "changedfiles",
|
||||
"matches": ["public/app/plugins/panel/trend/**/*"],
|
||||
"matches": [
|
||||
"public/app/plugins/panel/trend/**/*"
|
||||
],
|
||||
"action": "updateLabel",
|
||||
"addLabel": "area/panel/trend"
|
||||
},
|
||||
{
|
||||
"type": "label",
|
||||
"name": "area/panel/trend",
|
||||
"action": "addToProject",
|
||||
"addToProject": {
|
||||
"url": "https://github.com/orgs/grafana/projects/56"
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "changedfiles",
|
||||
"matches": ["/packages/grafana-ui/src/components/VizLegend/**/*"],
|
||||
"matches": [
|
||||
"/packages/grafana-ui/src/components/VizLegend/**/*"
|
||||
],
|
||||
"action": "updateLabel",
|
||||
"addLabel": "area/legend"
|
||||
},
|
||||
{
|
||||
"type": "label",
|
||||
"name": "area/legend",
|
||||
"action": "addToProject",
|
||||
"addToProject": {
|
||||
"url": "https://github.com/orgs/grafana/projects/56"
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "changedfiles",
|
||||
"matches": ["/packages/grafana-ui/src/components/VizTooltip/**/*", "public/app/feature/visualization/data-hover/**/*" ],
|
||||
"matches": [
|
||||
"/packages/grafana-ui/src/components/VizTooltip/**/*",
|
||||
"public/app/feature/visualization/data-hover/**/*"
|
||||
],
|
||||
"action": "updateLabel",
|
||||
"addLabel": "area/tooltip"
|
||||
},
|
||||
{
|
||||
"type": "label",
|
||||
"name": "area/tooltip",
|
||||
"action": "addToProject",
|
||||
"addToProject": {
|
||||
"url": "https://github.com/orgs/grafana/projects/56"
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "changedfiles",
|
||||
"matches": ["public/app/plugins/panel/gauge/**/*", "/packages/grafana-ui/src/components/Gauge/**/*"],
|
||||
"matches": [
|
||||
"public/app/plugins/panel/gauge/**/*",
|
||||
"/packages/grafana-ui/src/components/Gauge/**/*"
|
||||
],
|
||||
"action": "updateLabel",
|
||||
"addLabel": "area/panel/gauge"
|
||||
},
|
||||
{
|
||||
"type": "label",
|
||||
"name": "area/panel/gauge",
|
||||
"action": "addToProject",
|
||||
"addToProject": {
|
||||
"url": "https://github.com/orgs/grafana/projects/56"
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "changedfiles",
|
||||
"matches": ["public/app/plugins/panel/bargauge/**/*", "/packages/grafana-ui/src/components/BarGauge/**/*"],
|
||||
"matches": [
|
||||
"public/app/plugins/panel/bargauge/**/*",
|
||||
"/packages/grafana-ui/src/components/BarGauge/**/*"
|
||||
],
|
||||
"action": "updateLabel",
|
||||
"addLabel": "area/panel/gauge"
|
||||
},
|
||||
{
|
||||
"type": "label",
|
||||
"name": "area/panel/bargauge",
|
||||
"action": "addToProject",
|
||||
"addToProject": {
|
||||
"url": "https://github.com/orgs/grafana/projects/56"
|
||||
}
|
||||
"addLabel": "area/panel/bargauge"
|
||||
},
|
||||
{
|
||||
"type": "changedfiles",
|
||||
"matches": ["public/app/plugins/panel/stat/**/*"],
|
||||
"matches": [
|
||||
"public/app/plugins/panel/stat/**/*"
|
||||
],
|
||||
"action": "updateLabel",
|
||||
"addLabel": "area/panel/stat"
|
||||
},
|
||||
{
|
||||
"type": "label",
|
||||
"name": "area/panel/stat",
|
||||
"action": "addToProject",
|
||||
"addToProject": {
|
||||
"url": "https://github.com/orgs/grafana/projects/56"
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "changedfiles",
|
||||
"matches": ["public/app/plugins/panel/piechart/**/*"],
|
||||
"matches": [
|
||||
"public/app/plugins/panel/piechart/**/*"
|
||||
],
|
||||
"action": "updateLabel",
|
||||
"addLabel": "area/panel/piechart"
|
||||
},
|
||||
{
|
||||
"type": "label",
|
||||
"name": "area/panel/piechart",
|
||||
"type": "changedfiles",
|
||||
"matches": [
|
||||
"public/app/plugins/panel/table/**/*",
|
||||
"/packages/grafana-ui/src/components/Table/**/*"
|
||||
],
|
||||
"action": "updateLabel",
|
||||
"addLabel": "area/panel/table"
|
||||
},
|
||||
{
|
||||
"type": "changedfiles",
|
||||
"matches": [
|
||||
"public/app/plugins/datasource/azuremonitor/**/*",
|
||||
"pkg/tsdb/azuremonitor/**/*"
|
||||
],
|
||||
"action": "addToProject",
|
||||
"addToProject": {
|
||||
"url": "https://github.com/orgs/grafana/projects/56"
|
||||
"url": "https://github.com/orgs/grafana/projects/190"
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "changedfiles",
|
||||
"matches": [
|
||||
"public/app/plugins/datasource/graphite/**/*",
|
||||
"pkg/tsdb/graphite/**/*"
|
||||
],
|
||||
"action": "addToProject",
|
||||
"addToProject": {
|
||||
"url": "https://github.com/orgs/grafana/projects/190"
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "changedfiles",
|
||||
"matches": [
|
||||
"public/app/plugins/datasource/influxdb/**/*",
|
||||
"pkg/tsdb/influx/**/*"
|
||||
],
|
||||
"action": "addToProject",
|
||||
"addToProject": {
|
||||
"url": "https://github.com/orgs/grafana/projects/190"
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "changedfiles",
|
||||
"matches": [
|
||||
"public/app/plugins/datasource/elasticsearch/**/*",
|
||||
"pkg/tsdb/elasticsearch/**/*"
|
||||
],
|
||||
"action": "addToProject",
|
||||
"addToProject": {
|
||||
"url": "https://github.com/orgs/grafana/projects/190"
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "changedfiles",
|
||||
"matches": [
|
||||
"public/app/plugins/datasource/cloud-monitoring/**/*",
|
||||
"pkg/tsdb/cloud-monitoring/**/*"
|
||||
],
|
||||
"action": "addToProject",
|
||||
"addToProject": {
|
||||
"url": "https://github.com/orgs/grafana/projects/190"
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "changedfiles",
|
||||
"matches": [
|
||||
"public/app/plugins/datasource/opentsdb/**/*",
|
||||
"pkg/tsdb/opentsdb/**/*"
|
||||
],
|
||||
"action": "addToProject",
|
||||
"addToProject": {
|
||||
"url": "https://github.com/orgs/grafana/projects/190"
|
||||
}
|
||||
}
|
||||
]
|
||||
|
||||
135
.github/renovate.json5
vendored
135
.github/renovate.json5
vendored
@@ -1,97 +1,100 @@
|
||||
{
|
||||
"extends": [
|
||||
"config:base"
|
||||
],
|
||||
"enabledManagers": ["npm"],
|
||||
"ignoreDeps": [
|
||||
extends: ["config:recommended"],
|
||||
enabledManagers: ["npm"],
|
||||
ignoreDeps: [
|
||||
// ignoring these until we can upgrade to react 19
|
||||
// see epic here: https://github.com/grafana/grafana/issues/98813
|
||||
'@types/react',
|
||||
'@types/react-dom',
|
||||
'eslint-plugin-react-hooks',
|
||||
'react',
|
||||
'react-dom',
|
||||
'react-refresh',
|
||||
|
||||
"@types/history", // this can be removed entirely when we upgrade history since v5 exposes types directly
|
||||
"history", // we should bump this together with react-router-dom (see https://github.com/grafana/grafana/issues/76744)
|
||||
"react-router", // we should bump this together with history and react-router-dom
|
||||
"react-router-dom", // we should bump this together with history (see https://github.com/grafana/grafana/issues/76744)
|
||||
"loader-utils", // v3 requires upstream changes in ngtemplate-loader. ignore, and remove when we remove angular.
|
||||
"monaco-editor", // due to us exposing this via @grafana/ui/CodeEditor's props bumping can break plugins
|
||||
"@fingerprintjs/fingerprintjs", // we don't want to bump to v4 due to licensing changes
|
||||
"@swc/core", // versions ~1.4.5 contain multiple bugs related to baseUrl resolution breaking builds.
|
||||
"slate", // we don't want to continue using this on the long run, use Monaco editor instead of Slate
|
||||
"slate-react", // we don't want to continue using this on the long run, use Monaco editor instead of Slate
|
||||
"@types/slate-react", // we don't want to continue using this on the long run, use Monaco editor instead of Slate
|
||||
"@types/slate" // we don't want to continue using this on the long run, use Monaco editor instead of Slate
|
||||
"@types/slate", // we don't want to continue using this on the long run, use Monaco editor instead of Slate
|
||||
],
|
||||
"includePaths": ["package.json", "packages/**", "public/app/plugins/**"],
|
||||
"ignorePaths": ["emails/**", "plugins-bundled/**", "**/mocks/**"],
|
||||
"labels": ["area/frontend", "dependencies", "no-changelog"],
|
||||
"postUpdateOptions": ["yarnDedupeHighest"],
|
||||
"packageRules": [
|
||||
includePaths: ["package.json", "packages/**", "public/app/plugins/**"],
|
||||
ignorePaths: ["emails/**", "**/mocks/**"],
|
||||
labels: ["area/frontend", "dependencies", "no-changelog"],
|
||||
postUpdateOptions: ["yarnDedupeHighest"],
|
||||
packageRules: [
|
||||
{
|
||||
"automerge": true,
|
||||
"matchCurrentVersion": "!/^0/",
|
||||
"matchUpdateTypes": ["patch"],
|
||||
"excludePackagePatterns": ["^@?storybook", "^@locker"]
|
||||
automerge: true,
|
||||
matchCurrentVersion: "!/^0/",
|
||||
matchUpdateTypes: ["patch"],
|
||||
matchPackageNames: ["!/^@?storybook/", "!/^@locker/"],
|
||||
},
|
||||
{
|
||||
"matchPackagePatterns": ["^@?storybook"],
|
||||
"extends": ["schedule:monthly"],
|
||||
"groupName": "Storybook updates"
|
||||
extends: ["schedule:monthly"],
|
||||
groupName: "Storybook updates",
|
||||
matchPackageNames: ["/^@?storybook/"],
|
||||
rangeStrategy: "bump",
|
||||
},
|
||||
{
|
||||
"groupName": "React Aria",
|
||||
"matchPackagePrefixes": [
|
||||
"@react-aria/",
|
||||
"@react-stately/"
|
||||
]
|
||||
groupName: "React Aria",
|
||||
matchPackageNames: ["@react-aria/{/,}**", "@react-stately/{/,}**"],
|
||||
},
|
||||
{
|
||||
"groupName": "Moveable",
|
||||
"matchPackageNames": [
|
||||
"moveable",
|
||||
"react-moveable"
|
||||
]
|
||||
groupName: "Moveable",
|
||||
matchPackageNames: ["moveable", "react-moveable"],
|
||||
},
|
||||
{
|
||||
"groupName": "Slate",
|
||||
"matchPackageNames": [
|
||||
"@types/slate",
|
||||
"@types/slate-react",
|
||||
"slate",
|
||||
"slate-react"
|
||||
]
|
||||
groupName: "Slate",
|
||||
matchPackageNames: ["@types/slate", "@types/slate-react", "slate", "slate-react"],
|
||||
},
|
||||
{
|
||||
"groupName": "d3",
|
||||
"matchPackagePrefixes": [
|
||||
"d3",
|
||||
"@types/d3"
|
||||
]
|
||||
groupName: "d3",
|
||||
matchPackageNames: ["d3{/,}**", "@types/d3{/,}**"],
|
||||
},
|
||||
{
|
||||
"groupName": "visx",
|
||||
"matchPackagePrefixes": [
|
||||
"@visx/"
|
||||
]
|
||||
groupName: "scenes",
|
||||
matchPackageNames: ["@grafana/scenes", "@grafana/scenes-react"],
|
||||
},
|
||||
{
|
||||
"groupName": "uLibraries",
|
||||
"matchPackageNames": [
|
||||
"@leeoniya/ufuzzy",
|
||||
"uplot"
|
||||
],
|
||||
"reviewers": ["leeoniya"],
|
||||
groupName: "faro",
|
||||
matchPackageNames: ["@grafana/faro*"],
|
||||
},
|
||||
{
|
||||
"groupName": "locker",
|
||||
"matchPackagePrefixes": [
|
||||
"@locker/"
|
||||
],
|
||||
"reviewers": ["team:grafana/plugins-platform-frontend"],
|
||||
groupName: "visx",
|
||||
matchPackageNames: ["@visx/{/,}**"],
|
||||
},
|
||||
{
|
||||
groupName: "uLibraries",
|
||||
matchPackageNames: ["@leeoniya/**", "uplot"],
|
||||
reviewers: ["leeoniya"],
|
||||
},
|
||||
{
|
||||
groupName: "locker",
|
||||
reviewers: ["team:grafana/plugins-platform-frontend"],
|
||||
matchPackageNames: ["@locker/{/,}**"],
|
||||
},
|
||||
{
|
||||
groupName: "augurs",
|
||||
matchPackageNames: ["@bsull/augurs"],
|
||||
reviewers: ["sd2k"],
|
||||
},
|
||||
{
|
||||
"matchDepTypes": ["devDependencies"],
|
||||
"prPriority": -1
|
||||
},
|
||||
],
|
||||
"pin": {
|
||||
"enabled": false
|
||||
pin: {
|
||||
enabled: false,
|
||||
},
|
||||
prConcurrentLimit: 10,
|
||||
rebaseWhen: "conflicted",
|
||||
reviewers: ["team:grafana/frontend-ops"],
|
||||
separateMajorMinor: false,
|
||||
vulnerabilityAlerts: {
|
||||
addLabels: ["area/security"],
|
||||
},
|
||||
"prConcurrentLimit": 10,
|
||||
"rebaseWhen": "conflicted",
|
||||
"reviewers": ["team:grafana/frontend-ops"],
|
||||
"separateMajorMinor": false,
|
||||
"vulnerabilityAlerts": {
|
||||
"addLabels": ["area/security"]
|
||||
}
|
||||
}
|
||||
|
||||
104
.github/teams.yml
vendored
104
.github/teams.yml
vendored
@@ -1,104 +0,0 @@
|
||||
# The first keys are labels used on issues. All fields are optional.
|
||||
# Example
|
||||
test:
|
||||
# channel-label is used to send a message to a specific channel
|
||||
# when the label "test" is added to an issue.
|
||||
channel-label: CXXXXXXXXXX
|
||||
|
||||
# Alerting team
|
||||
area/alerting:
|
||||
channel-label: C028MCV4R7C
|
||||
exclude-github-team: alerting-squad
|
||||
|
||||
# DataViz squad
|
||||
area/dataviz:
|
||||
channel-label: C04J73AAQ87 # grafana-dataviz
|
||||
exclude-github-team: dataviz-squad
|
||||
|
||||
area/legend:
|
||||
channel-label: C04J73AAQ87 # grafana-dataviz
|
||||
exclude-github-team: dataviz-squad
|
||||
|
||||
area/panel/barchart:
|
||||
channel-label: C04J73AAQ87 # grafana-dataviz
|
||||
exclude-github-team: dataviz-squad
|
||||
|
||||
area/panel/bargauge:
|
||||
channel-label: C04J73AAQ87 # grafana-dataviz
|
||||
exclude-github-team: dataviz-squad
|
||||
|
||||
area/panel/candlestick:
|
||||
channel-label: C04J73AAQ87 # grafana-dataviz
|
||||
exclude-github-team: dataviz-squad
|
||||
|
||||
area/panel/canvas:
|
||||
channel-label: C04J73AAQ87 # grafana-dataviz
|
||||
exclude-github-team: dataviz-squad
|
||||
|
||||
area/panel/common:
|
||||
channel-label: C04J73AAQ87 # grafana-dataviz
|
||||
exclude-github-team: dataviz-squad
|
||||
|
||||
area/panel/gauge:
|
||||
channel-label: C04J73AAQ87 # grafana-dataviz
|
||||
exclude-github-team: dataviz-squad
|
||||
|
||||
area/panel/geomap:
|
||||
channel-label: C04J73AAQ87 # grafana-dataviz
|
||||
exclude-github-team: dataviz-squad
|
||||
|
||||
area/panel/graph:
|
||||
channel-label: C04J73AAQ87 # grafana-dataviz
|
||||
exclude-github-team: dataviz-squad
|
||||
|
||||
area/panel/heatmap:
|
||||
channel-label: C04J73AAQ87 # grafana-dataviz
|
||||
exclude-github-team: dataviz-squad
|
||||
|
||||
area/panel/histogram:
|
||||
channel-label: C04J73AAQ87 # grafana-dataviz
|
||||
exclude-github-team: dataviz-squad
|
||||
|
||||
area/panel/piechart:
|
||||
channel-label: C04J73AAQ87 # grafana-dataviz
|
||||
exclude-github-team: dataviz-squad
|
||||
|
||||
area/panel/stat:
|
||||
channel-label: C04J73AAQ87 # grafana-dataviz
|
||||
exclude-github-team: dataviz-squad
|
||||
|
||||
area/panel/state-timeline:
|
||||
channel-label: C04J73AAQ87 # grafana-dataviz
|
||||
exclude-github-team: dataviz-squad
|
||||
|
||||
area/panel/status-history:
|
||||
channel-label: C04J73AAQ87 # grafana-dataviz
|
||||
exclude-github-team: dataviz-squad
|
||||
|
||||
area/panel/timeseries:
|
||||
channel-label: C04J73AAQ87 # grafana-dataviz
|
||||
exclude-github-team: dataviz-squad
|
||||
|
||||
area/panel/trend:
|
||||
channel-label: C04J73AAQ87 # grafana-dataviz
|
||||
exclude-github-team: dataviz-squad
|
||||
|
||||
area/panel/xychart:
|
||||
channel-label: C04J73AAQ87 # grafana-dataviz
|
||||
exclude-github-team: dataviz-squad
|
||||
|
||||
area/tooltip:
|
||||
channel-label: C04J73AAQ87 # grafana-dataviz
|
||||
exclude-github-team: dataviz-squad
|
||||
|
||||
area/transformations:
|
||||
channel-label: C04J73AAQ87 # grafana-dataviz
|
||||
exclude-github-team: dataviz-squad
|
||||
|
||||
area/value-mapping:
|
||||
channel-label: C04J73AAQ87 # grafana-dataviz
|
||||
exclude-github-team: dataviz-squad
|
||||
|
||||
area/units:
|
||||
channel-label: C04J73AAQ87 # grafana-dataviz
|
||||
exclude-github-team: dataviz-squad
|
||||
66
.github/workflows/actionlint-format.txt
vendored
Normal file
66
.github/workflows/actionlint-format.txt
vendored
Normal file
@@ -0,0 +1,66 @@
|
||||
{
|
||||
"$schema": "https://raw.githubusercontent.com/oasis-tcs/sarif-spec/master/Schemata/sarif-schema-2.1.0.json",
|
||||
"version": "2.1.0",
|
||||
"runs": [
|
||||
{
|
||||
"tool": {
|
||||
"driver": {
|
||||
"name": "GitHub Actions lint",
|
||||
"version": {{ getVersion | json }},
|
||||
"informationUri": "https://github.com/rhysd/actionlint",
|
||||
"rules": [
|
||||
{{$first := true}}
|
||||
{{range $ := allKinds }}
|
||||
{{if $first}}{{$first = false}}{{else}},{{end}}
|
||||
{
|
||||
"id": {{json $.Name}},
|
||||
"name": {{$.Name | toPascalCase | json}},
|
||||
"defaultConfiguration": {
|
||||
"level": "error"
|
||||
},
|
||||
"properties": {
|
||||
"description": {{json $.Description}},
|
||||
"queryURI": "https://github.com/rhysd/actionlint/blob/main/docs/checks.md"
|
||||
},
|
||||
"fullDescription": {
|
||||
"text": {{json $.Description}}
|
||||
},
|
||||
"helpUri": "https://github.com/rhysd/actionlint/blob/main/docs/checks.md"
|
||||
}
|
||||
{{end}}
|
||||
]
|
||||
}
|
||||
},
|
||||
"results": [
|
||||
{{$first := true}}
|
||||
{{range $ := .}}
|
||||
{{if $first}}{{$first = false}}{{else}},{{end}}
|
||||
{
|
||||
"ruleId": {{json $.Kind}},
|
||||
"message": {
|
||||
"text": {{json $.Message}}
|
||||
},
|
||||
"locations": [
|
||||
{
|
||||
"physicalLocation": {
|
||||
"artifactLocation": {
|
||||
"uri": {{json $.Filepath}},
|
||||
"uriBaseId": "%SRCROOT%"
|
||||
},
|
||||
"region": {
|
||||
"startLine": {{$.Line}},
|
||||
"startColumn": {{$.Column}},
|
||||
"endColumn": {{$.EndColumn}},
|
||||
"snippet": {
|
||||
"text": {{json $.Snippet}}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
{{end}}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
60
.github/workflows/actionlint.yml
vendored
Normal file
60
.github/workflows/actionlint.yml
vendored
Normal file
@@ -0,0 +1,60 @@
|
||||
# This workflow depends on the ./actionlint-format.txt file. It is MIT licensed (thanks, rhysd!): https://github.com/rhysd/actionlint/blob/2ab3a12c7848f6c15faca9a92612ef4261d0e370/testdata/format/sarif_template.txt
|
||||
name: Actionlint
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- main
|
||||
- release-*.*.*
|
||||
pull_request:
|
||||
types:
|
||||
- opened
|
||||
- synchronize
|
||||
- reopened
|
||||
|
||||
permissions: {}
|
||||
|
||||
concurrency:
|
||||
group: ${{ github.workflow }}-${{ github.ref }}
|
||||
cancel-in-progress: ${{ startsWith(github.ref, 'refs/pull/') }}
|
||||
|
||||
jobs:
|
||||
run-actionlint:
|
||||
name: Lint GitHub Actions files
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
contents: read # to check out the code
|
||||
actions: read # to read the workflow files
|
||||
security-events: write # for uploading the SARIF report
|
||||
|
||||
env:
|
||||
ACTIONLINT_VERSION: 1.7.7
|
||||
# curl -LXGET https://github.com/rhysd/actionlint/releases/download/v${ACTIONLINT_VERSION}/actionlint_${ACTIONLINT_VERSION}_checksums.txt | grep linux_amd64
|
||||
CHECKSUM: 023070a287cd8cccd71515fedc843f1985bf96c436b7effaecce67290e7e0757
|
||||
|
||||
steps:
|
||||
- name: Checkout code
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
|
||||
with:
|
||||
persist-credentials: false
|
||||
|
||||
# GitHub Actions only runs x86_64. This will break if that assumption changes.
|
||||
- name: Download Actionlint
|
||||
run: |
|
||||
set -euo pipefail
|
||||
curl -OLXGET https://github.com/rhysd/actionlint/releases/download/v"${ACTIONLINT_VERSION}"/actionlint_"${ACTIONLINT_VERSION}"_linux_amd64.tar.gz
|
||||
echo "${CHECKSUM} actionlint_${ACTIONLINT_VERSION}_linux_amd64.tar.gz" | sha256sum -c -
|
||||
tar xzf actionlint_"${ACTIONLINT_VERSION}"_linux_amd64.tar.gz
|
||||
test -f actionlint
|
||||
chmod +x actionlint
|
||||
|
||||
- name: Run Actionlint
|
||||
run: ./actionlint -format "$(cat .github/workflows/actionlint-format.txt)" | tee results.sarif
|
||||
|
||||
- name: Upload to GitHub security events
|
||||
if: success() || failure()
|
||||
# If there are security problems, GitHub will automatically comment on the PR for us.
|
||||
uses: github/codeql-action/upload-sarif@28deaeda66b76a05916b6923827895f2b14ab387 # v3.28.16
|
||||
with:
|
||||
sarif_file: results.sarif
|
||||
category: actionlint
|
||||
16
.github/workflows/add-to-whats-new.yml
vendored
Normal file
16
.github/workflows/add-to-whats-new.yml
vendored
Normal file
@@ -0,0 +1,16 @@
|
||||
name: Add comment about adding a What's new note
|
||||
on:
|
||||
pull_request:
|
||||
types: [labeled]
|
||||
|
||||
jobs:
|
||||
add-comment:
|
||||
if: ${{ ! github.event.pull_request.head.repo.fork && contains(github.event.pull_request.labels.*.name, 'add to what''s new') }}
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
pull-requests: write
|
||||
steps:
|
||||
- uses: marocchino/sticky-pull-request-comment@52423e01640425a022ef5fd42c6fb5f633a02728 # v2.9.1
|
||||
with:
|
||||
message: |
|
||||
Since you've added the `Add to what's new` label, consider drafting a [What's new note](https://admin.grafana.com/content-admin/#/collections/whats-new/new) for this feature.
|
||||
8
.github/workflows/alerting-swagger-gen.yml
vendored
8
.github/workflows/alerting-swagger-gen.yml
vendored
@@ -13,15 +13,16 @@ jobs:
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
fetch-depth: 2
|
||||
persist-credentials: false
|
||||
- name: Set go version
|
||||
uses: actions/setup-go@v4
|
||||
uses: actions/setup-go@19bb51245e9c80abacb2e91cc42b33fa478b8639
|
||||
with:
|
||||
go-version-file: go.mod
|
||||
- name: Build swagger
|
||||
run: |
|
||||
make -C pkg/services/ngalert/api/tooling post.json api.json
|
||||
- name: Open Pull Request
|
||||
uses: peter-evans/create-pull-request@v5
|
||||
uses: peter-evans/create-pull-request@4e1beaa7521e8b457b572c090b25bd3db56bf1c5
|
||||
with:
|
||||
token: ${{ secrets.GITHUB_TOKEN }}
|
||||
commit-message: "chore: update alerting swagger spec"
|
||||
@@ -32,6 +33,5 @@ jobs:
|
||||
branch: update-alerting-swagger-spec
|
||||
delete-branch: true
|
||||
labels: 'area/alerting,type/docs,no-changelog'
|
||||
team-reviewers: 'grafana/alerting-backend-product'
|
||||
team-reviewers: 'grafana/alerting-backend'
|
||||
draft: false
|
||||
|
||||
|
||||
146
.github/workflows/alerting-update-module.yml
vendored
Normal file
146
.github/workflows/alerting-update-module.yml
vendored
Normal file
@@ -0,0 +1,146 @@
|
||||
name: Update Alerting Module
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
|
||||
concurrency:
|
||||
group: ${{ github.workflow }}-${{ github.ref }}
|
||||
cancel-in-progress: true
|
||||
|
||||
jobs:
|
||||
update-grafana:
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
contents: write
|
||||
pull-requests: write
|
||||
id-token: write
|
||||
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v4 # 4.2.2
|
||||
with:
|
||||
persist-credentials: false
|
||||
- name: Check if update branch exists
|
||||
run: |
|
||||
if git ls-remote --heads origin update-alerting-module | grep -q 'update-alerting-module'; then
|
||||
echo "Branch 'update-alerting-module' already exists. There might be an open PR with Grafana updates."
|
||||
echo "Please review and merge/close the existing PR before running this workflow again."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
- name: Setup Go
|
||||
uses: actions/setup-go@f111f3307d8850f501ac008e886eec1fd1932a34 # 5.3.0
|
||||
with:
|
||||
"go-version-file": "go.mod"
|
||||
|
||||
- name: Extract current commit hash of alerting module
|
||||
id: current-commit
|
||||
run: |
|
||||
FROM_COMMIT=$(go list -m -json github.com/grafana/alerting | jq -r '.Version' | grep -oP '(?<=-)[a-f0-9]+$')
|
||||
echo "from_commit=$FROM_COMMIT" >> "$GITHUB_OUTPUT"
|
||||
|
||||
- name: Get current branch name
|
||||
id: current-branch-name
|
||||
run: echo "name=${GITHUB_HEAD_REF:-${GITHUB_REF#refs/heads/}}" >> "$GITHUB_OUTPUT"
|
||||
|
||||
- name: Get latest commit
|
||||
id: latest-commit
|
||||
env:
|
||||
GH_TOKEN: ${{ github.token }}
|
||||
BRANCH: ${{ steps.current-branch-name.outputs.name }}
|
||||
run: |
|
||||
TO_COMMIT="$(gh api repos/grafana/alerting/commits/"$BRANCH" --jq '.sha')"
|
||||
if [ -z "$TO_COMMIT" ]; then
|
||||
echo "Branch $BRANCH not found in alerting repo, falling back to main branch"
|
||||
exit 1
|
||||
fi
|
||||
echo "to_commit=$TO_COMMIT" >> "$GITHUB_OUTPUT"
|
||||
|
||||
- name: Compare commit hashes
|
||||
run: |
|
||||
FROM_COMMIT="${{ steps.current-commit.outputs.from_commit }}"
|
||||
TO_COMMIT="${{ steps.latest-commit.outputs.to_commit }}"
|
||||
|
||||
# Compare just the length of the shorter hash
|
||||
SHORT_TO_COMMIT="${TO_COMMIT:0:${#FROM_COMMIT}}"
|
||||
|
||||
if [ "$FROM_COMMIT" = "$SHORT_TO_COMMIT" ]; then
|
||||
echo "Current version ($FROM_COMMIT) is already at latest ($SHORT_TO_COMMIT). No update needed."
|
||||
exit 0
|
||||
fi
|
||||
echo "Updates available: $FROM_COMMIT -> $TO_COMMIT"
|
||||
|
||||
- name: Check for commit history
|
||||
id: check-commits
|
||||
env:
|
||||
GH_TOKEN: ${{ github.token }}
|
||||
FROM_COMMIT: ${{ steps.current-commit.outputs.from_commit }}
|
||||
TO_COMMIT: ${{ steps.latest-commit.outputs.to_commit }}
|
||||
run: |
|
||||
# get all commits that contains 'Alerting:' in the message
|
||||
ALERTING_COMMITS="$(gh api repos/grafana/alerting/compare/"$FROM_COMMIT"..."$TO_COMMIT" \
|
||||
--jq '.commits[].commit.message | split("\n")[0]')" || true
|
||||
|
||||
# Use printf instead of echo -e for better multiline handling
|
||||
printf "%s\n" "$ALERTING_COMMITS"
|
||||
|
||||
# make the list for markdown and replace PR numbers with links
|
||||
ALERTING_COMMITS_FORMATTED="$(echo "$ALERTING_COMMITS" | while read -r line; do echo "- $line" | sed -E 's/\(#([0-9]+)\)/[#\1](https:\/\/github.com\/grafana\/grafana\/pull\/\1)/g'; done)"
|
||||
|
||||
{
|
||||
echo "alerting_commits<<EOF"
|
||||
echo "$ALERTING_COMMITS_FORMATTED"
|
||||
echo "EOF"
|
||||
} >> "$GITHUB_OUTPUT"
|
||||
|
||||
- name: Update alerting module
|
||||
env:
|
||||
GOSUMDB: off
|
||||
PINNED_COMMIT: ${{ steps.latest-commit.outputs.to_commit }}
|
||||
run: |
|
||||
go get github.com/grafana/alerting@"$PINNED_COMMIT"
|
||||
make update-workspace
|
||||
|
||||
- id: get-secrets
|
||||
uses: grafana/shared-workflows/actions/get-vault-secrets@main # zizmor: ignore[unpinned-uses]
|
||||
with:
|
||||
repo_secrets: |
|
||||
GITHUB_APP_ID=alerting-team:app-id
|
||||
GITHUB_APP_PRIVATE_KEY=alerting-team:private-key
|
||||
|
||||
- name: "Generate token"
|
||||
id: generate_token
|
||||
uses: actions/create-github-app-token@0d564482f06ca65fa9e77e2510873638c82206f2 # 1.11.5
|
||||
with:
|
||||
app-id: ${{ env.GITHUB_APP_ID }}
|
||||
private-key: ${{ env.GITHUB_APP_PRIVATE_KEY }}
|
||||
|
||||
- name: Create Pull Request
|
||||
uses: peter-evans/create-pull-request@67ccf781d68cd99b580ae25a5c18a1cc84ffff1f # 7.0.6
|
||||
id: create-pr
|
||||
with:
|
||||
token: '${{ steps.generate_token.outputs.token }}'
|
||||
title: 'Alerting: Update alerting module to ${{ steps.latest-commit.outputs.to_commit }}'
|
||||
branch: alerting/update-alerting-module
|
||||
delete-branch: true
|
||||
body: |
|
||||
Updates Grafana Alerting module to latest version.
|
||||
|
||||
Compare changes: https://github.com/grafana/alerting/compare/${{ steps.current-commit.outputs.from_commit }}...${{ steps.latest-commit.outputs.to_commit }}
|
||||
<details>
|
||||
<summary>Commits</summary>
|
||||
|
||||
${{ steps.check-commits.outputs.alerting_commits }}
|
||||
|
||||
</details>
|
||||
|
||||
Created by: [GitHub Action Job](https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }})
|
||||
- name: Add PR URL to Summary
|
||||
if: steps.create-pr.outputs.pull-request-url != ''
|
||||
env:
|
||||
PR_URL: ${{ steps.create-pr.outputs.pull-request-url }}
|
||||
run: |
|
||||
{
|
||||
echo "## Pull Request Created"
|
||||
echo "🔗 [View Pull Request]($PR_URL)"
|
||||
} >> "$GITHUB_STEP_SUMMARY"
|
||||
29
.github/workflows/analytics-events-report.yml
vendored
Normal file
29
.github/workflows/analytics-events-report.yml
vendored
Normal file
@@ -0,0 +1,29 @@
|
||||
name: Analytics Events Report
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
|
||||
permissions: {}
|
||||
|
||||
jobs:
|
||||
generate-report:
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
contents: read
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
persist-credentials: false
|
||||
|
||||
- name: Setup Node.js
|
||||
uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version-file: '.nvmrc'
|
||||
cache: 'yarn'
|
||||
|
||||
- name: Install dependencies
|
||||
run: yarn install --frozen-lockfile
|
||||
|
||||
- name: Generate analytics report
|
||||
run: yarn analytics-report
|
||||
38
.github/workflows/auto-milestone.yml
vendored
38
.github/workflows/auto-milestone.yml
vendored
@@ -1,39 +1,27 @@
|
||||
name: Auto-milestone
|
||||
on:
|
||||
pull_request:
|
||||
pull_request_target:
|
||||
types:
|
||||
- opened
|
||||
- reopened
|
||||
- closed
|
||||
- ready_for_review
|
||||
|
||||
permissions:
|
||||
pull-requests: write
|
||||
contents: write
|
||||
|
||||
# Note: this action runs with write permissions on GITHUB_TOKEN even from forks
|
||||
# so it must not run untrusted code (such as checking out the pull request)
|
||||
jobs:
|
||||
config:
|
||||
runs-on: "ubuntu-latest"
|
||||
outputs:
|
||||
has-secrets: ${{ steps.check.outputs.has-secrets }}
|
||||
steps:
|
||||
- name: "Check for secrets"
|
||||
id: check
|
||||
shell: bash
|
||||
run: |
|
||||
if [ -n "${{ (secrets.GRAFANA_DELIVERY_BOT_APP_ID != '' && secrets.GRAFANA_DELIVERY_BOT_APP_PEM != '') || '' }}" ]; then
|
||||
echo "has-secrets=1" >> "$GITHUB_OUTPUT"
|
||||
fi
|
||||
|
||||
main:
|
||||
needs: config
|
||||
if: needs.config.outputs.has-secrets
|
||||
runs-on: ubuntu-latest
|
||||
if: github.event.pull_request.draft == false
|
||||
steps:
|
||||
- name: "Generate token"
|
||||
id: generate_token
|
||||
uses: tibdex/github-app-token@b62528385c34dbc9f38e5f4225ac829252d1ea92
|
||||
with:
|
||||
app_id: ${{ secrets.GRAFANA_DELIVERY_BOT_APP_ID }}
|
||||
private_key: ${{ secrets.GRAFANA_DELIVERY_BOT_APP_PEM }}
|
||||
|
||||
# Note: Github will not trigger other actions from this because it uses
|
||||
# the GITHUB_TOKEN token
|
||||
- name: Run auto-milestone
|
||||
uses: grafana/grafana-github-actions-go/auto-milestone@main
|
||||
uses: grafana/grafana-github-actions-go/auto-milestone@d4c452f92ed826d515dccf1f62923e537953acd8 # main
|
||||
with:
|
||||
pr: ${{ github.event.pull_request.number }}
|
||||
token: ${{ steps.generate_token.outputs.token }}
|
||||
token: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
||||
124
.github/workflows/auto-triager/labels.txt
vendored
Normal file
124
.github/workflows/auto-triager/labels.txt
vendored
Normal file
@@ -0,0 +1,124 @@
|
||||
area/admin/user
|
||||
area/alerting
|
||||
area/annotations
|
||||
area/auth
|
||||
area/auth/ldap
|
||||
area/auth/oauth
|
||||
area/auth/rbac
|
||||
area/auth/serviceaccount
|
||||
area/backend
|
||||
area/backend/api
|
||||
area/backend/db
|
||||
area/backend/db/migration
|
||||
area/backend/db/mysql
|
||||
area/backend/db/postgres
|
||||
area/backend/db/sql
|
||||
area/backend/db/sqlite
|
||||
area/configuration
|
||||
area/dashboard/annotations
|
||||
area/dashboard/data-links
|
||||
area/dashboard/edit
|
||||
area/dashboard/folders
|
||||
area/dashboard/import
|
||||
area/dashboard/kiosk
|
||||
area/dashboard/links
|
||||
area/dashboard/rows
|
||||
area/dashboard/scenes
|
||||
area/dashboard/settings
|
||||
area/dashboard/snapshot
|
||||
area/dashboard/templating
|
||||
area/dashboard/timerange
|
||||
area/dashboard/tv
|
||||
area/dashboard/variable
|
||||
area/dashboards/panel
|
||||
area/data/export
|
||||
area/explore
|
||||
area/expressions
|
||||
area/field/overrides
|
||||
area/frontend/library-panels
|
||||
area/frontend/login
|
||||
area/image-rendering
|
||||
area/internationalization
|
||||
area/legend
|
||||
area/library-panel
|
||||
area/metricsdrilldown
|
||||
area/navigation
|
||||
area/panel/annotation-list
|
||||
area/panel/barchart
|
||||
area/panel/bargauge
|
||||
area/panel/candlestick
|
||||
area/panel/canvas
|
||||
area/panel/dashboard-list
|
||||
area/panel/edit
|
||||
area/panel/edit
|
||||
area/panel/field-override
|
||||
area/panel/flame-graph
|
||||
area/panel/gauge
|
||||
area/panel/geomap
|
||||
area/panel/heatmap
|
||||
area/panel/histogram
|
||||
area/panel/logs
|
||||
area/panel/node-graph
|
||||
area/panel/node-graph
|
||||
area/panel/piechart
|
||||
area/panel/repeat
|
||||
area/panel/singlestat
|
||||
area/panel/stat
|
||||
area/panel/state-timeline
|
||||
area/panel/status-history
|
||||
area/panel/table
|
||||
area/panel/timeseries
|
||||
area/panel/traceview
|
||||
area/panel/trend
|
||||
area/panel/xychart
|
||||
area/permissions
|
||||
area/playlist
|
||||
area/plugins
|
||||
area/plugins-catalog
|
||||
area/provisioning
|
||||
area/provisioning/datasources
|
||||
area/public-dashboards
|
||||
area/query-library
|
||||
area/recorded-queries
|
||||
area/scenes
|
||||
area/search
|
||||
area/security
|
||||
area/streaming
|
||||
area/templating/repeating
|
||||
area/tooltip
|
||||
area/transformations
|
||||
datagrid
|
||||
datasource/Alertmanager
|
||||
datasource/Azure
|
||||
datasource/azure-cosmosdb
|
||||
datasource/BigQuery
|
||||
datasource/CloudWatch
|
||||
datasource/CloudWatch Logs
|
||||
datasource/CSV
|
||||
datasource/Elasticsearch
|
||||
datasource/GitHub
|
||||
datasource/GoogleCloudMonitoring
|
||||
datasource/GoogleSheets
|
||||
datasource/grafana-pyroscope
|
||||
datasource/Graphite
|
||||
datasource/InfluxDB
|
||||
datasource/Jaeger
|
||||
datasource/JSON
|
||||
datasource/Loki
|
||||
datasource/MSSQL
|
||||
datasource/MySQL
|
||||
datasource/OpenSearch
|
||||
datasource/OpenTSDB
|
||||
datasource/Parca
|
||||
datasource/Phlare
|
||||
datasource/Postgres
|
||||
datasource/Prometheus
|
||||
datasource/SiteWIse
|
||||
datasource/Splunk
|
||||
datasource/Tempo
|
||||
datasource/TestDataDB
|
||||
datasource/Timestream
|
||||
datasource/X-Ray
|
||||
datasource/Zabbix
|
||||
datasource/Zipkin
|
||||
team/grafana-aws-datasources
|
||||
25
.github/workflows/auto-triager/prompt.txt
vendored
Normal file
25
.github/workflows/auto-triager/prompt.txt
vendored
Normal file
@@ -0,0 +1,25 @@
|
||||
You are an expert Grafana issues categorizer.
|
||||
|
||||
You are provided with a Grafana issue. Your task is to categorize the issue by analyzing the issue title and description to determine the most relevant category and type from the provided lists. Focus on precision and clarity, selecting only the most pertinent labels based on the issue details. Ensure that your selections reflect the core problem or functionality affected.
|
||||
|
||||
The output should be a valid JSON object with the following fields:
|
||||
* id (string): The ID of the current issue.
|
||||
* categoryLabel (array of strings): The category labels for the current issue, emphasizing key terms and context.
|
||||
* typeLabel (array of strings): The type of the current issue, emphasizing clarity and relevance.
|
||||
|
||||
**Instructions**:
|
||||
1. **Contextual Analysis**: Understand the context and intent behind the issue description. Analyze the overall narrative and relationships between different components within Grafana. Consider dependencies and related components to inform your decision.
|
||||
2. **Category and Type Differentiation**: Use language cues and patterns to differentiate between similar categories and types. Provide examples and counterexamples to clarify distinctions. Prioritize primary components over secondary ones unless they are critical to the issue.
|
||||
3. **Historical Data Utilization**: Compare current issues with past resolved issues by analyzing similarities in problem descriptions, leveraging patterns to inform categorization. Use historical data to recognize patterns and inform your decision-making.
|
||||
4. **Confidence Scoring**: Implement a confidence scoring mechanism to flag issues for review if the confidence is below a predefined threshold. Clearly indicate thresholds for high and low confidence predictions. Provide clarifying questions if data is ambiguous.
|
||||
5. **Feedback Loop Integration**: Integrate feedback from incorrect predictions to refine understanding and improve future predictions. Conduct error analysis to identify patterns in misclassifications and adapt your approach accordingly.
|
||||
6. **Semantic Analysis**: Evaluate the underlying intent of the issue using semantic analysis, considering broader implications and context. Leverage metadata or historical patterns to improve accuracy.
|
||||
7. **Avoid Over-Specification**: Maintain precision and conciseness, avoiding unnecessary details. Prioritize clarity and flag for further review if uncertain.
|
||||
8. **Consistent JSON Formatting**: Ensure the output maintains a consistent JSON structure with uniform formatting for readability and scalability.
|
||||
|
||||
**Next Steps and Insights**:
|
||||
- Suggest potential next steps or resources that could help address the issue, providing actionable insights to enhance user engagement.
|
||||
- Regularly test responses against edge cases to ensure robustness and adaptability.
|
||||
- Stay updated with changes in category and type lists to remain current.
|
||||
|
||||
Provide a brief explanation of the categorization decision, highlighting key terms or context that influenced the choice. Use user-centric language and technical details to ensure the explanation is comprehensive and insightful.
|
||||
30
.github/workflows/auto-triager/types.txt
vendored
Normal file
30
.github/workflows/auto-triager/types.txt
vendored
Normal file
@@ -0,0 +1,30 @@
|
||||
type/accessibility
|
||||
type/angular-2-react
|
||||
type/browser-compatibility
|
||||
type/bug
|
||||
type/build-packaging
|
||||
type/chore
|
||||
type/ci
|
||||
type/cleanup
|
||||
type/codegen
|
||||
type/community
|
||||
type/debt
|
||||
type/design
|
||||
type/discussion
|
||||
type/docs
|
||||
type/duplicate
|
||||
type/e2e
|
||||
type/epic
|
||||
type/feature-request
|
||||
type/feature-toggle-enable
|
||||
type/feature-toggle-removal
|
||||
type/performance
|
||||
type/poc
|
||||
type/project
|
||||
type/proposal
|
||||
type/question
|
||||
type/refactor
|
||||
type/regression
|
||||
type/roadmap
|
||||
type/tech
|
||||
type/ux
|
||||
74
.github/workflows/backend-code-checks.yml
vendored
Normal file
74
.github/workflows/backend-code-checks.yml
vendored
Normal file
@@ -0,0 +1,74 @@
|
||||
name: Backend Code Checks
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
paths-ignore:
|
||||
- '*.md'
|
||||
- 'docs/**'
|
||||
- 'latest.json'
|
||||
push:
|
||||
branches:
|
||||
- main
|
||||
- release-*.*.*
|
||||
paths-ignore:
|
||||
- '*.md'
|
||||
- 'docs/**'
|
||||
- 'latest.json'
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
id-token: write
|
||||
|
||||
jobs:
|
||||
validate-configs:
|
||||
name: Validate Backend Configs
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
persist-credentials: false
|
||||
- name: Setup Go
|
||||
uses: actions/setup-go@v5
|
||||
with:
|
||||
# Explicitly set Go version to 1.24.1 to ensure consistent OpenAPI spec generation
|
||||
# The crypto/x509 package has additional fields in Go 1.24.1 that affect the generated specs
|
||||
# This ensures the GHAs environment matches what we use in the Drone pipeline
|
||||
go-version: 1.24.1
|
||||
cache: true
|
||||
|
||||
- name: Verify code generation
|
||||
run: |
|
||||
CODEGEN_VERIFY=1 make gen-cue
|
||||
CODEGEN_VERIFY=1 make gen-jsonnet
|
||||
|
||||
- name: Validate go.mod
|
||||
run: go run scripts/modowners/modowners.go check go.mod
|
||||
|
||||
# Enterprise setup is needed for complete OpenAPI spec generation
|
||||
# We only do this for internal PRs
|
||||
- name: Setup Grafana Enterprise
|
||||
if: github.event.pull_request.head.repo.fork == false
|
||||
uses: ./.github/actions/setup-enterprise
|
||||
|
||||
- name: Generate and Validate OpenAPI Specs
|
||||
run: |
|
||||
# For PRs from forks, we'll just run the basic swagger-gen without validation
|
||||
if [[ "${{ github.event_name }}" == "pull_request" && "${{ github.event.pull_request.head.repo.fork }}" == "true" ]]; then
|
||||
echo "PR is from a fork, skipping enterprise-based validation"
|
||||
make swagger-gen
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# Clean and regenerate OpenAPI specs
|
||||
make swagger-clean && make openapi3-gen
|
||||
|
||||
# Check if the generated specs differ from what's in the repository
|
||||
for f in public/api-merged.json public/openapi3.json; do git add $f; done
|
||||
if [ -z "$(git diff --name-only --cached)" ]; then
|
||||
echo "OpenAPI specs are up to date!"
|
||||
else
|
||||
echo "OpenAPI specs are OUT OF DATE!"
|
||||
git diff --cached
|
||||
echo "Please ensure the branch is up-to-date, then regenerate the specification by running make swagger-clean && make openapi3-gen"
|
||||
exit 1
|
||||
fi
|
||||
146
.github/workflows/backend-unit-tests.yml
vendored
Normal file
146
.github/workflows/backend-unit-tests.yml
vendored
Normal file
@@ -0,0 +1,146 @@
|
||||
name: Backend Unit Tests
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
push:
|
||||
branches:
|
||||
- main
|
||||
- release-*.*.*
|
||||
|
||||
concurrency:
|
||||
group: ${{ github.workflow }}-${{ github.ref }}
|
||||
cancel-in-progress: ${{ startsWith(github.ref, 'refs/pull/') }}
|
||||
|
||||
permissions: {}
|
||||
|
||||
jobs:
|
||||
detect-changes:
|
||||
name: Detect whether code changed
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
contents: read
|
||||
outputs:
|
||||
changed: ${{ steps.detect-changes.outputs.backend }}
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
persist-credentials: true # required to get more history in the changed-files action
|
||||
fetch-depth: 2
|
||||
- name: Detect changes
|
||||
id: detect-changes
|
||||
uses: ./.github/actions/change-detection
|
||||
with:
|
||||
self: .github/workflows/backend-unit-tests.yml
|
||||
|
||||
grafana:
|
||||
# Run this workflow only for PRs from forks
|
||||
# the `pr-backend-unit-tests-enterprise` workflow will run instead
|
||||
needs: detect-changes
|
||||
if: github.event_name == 'pull_request' && github.event.pull_request.head.repo.fork == true && needs.detect-changes.outputs.changed == 'true'
|
||||
strategy:
|
||||
matrix:
|
||||
shard: [
|
||||
1/8, 2/8, 3/8, 4/8,
|
||||
5/8, 6/8, 7/8, 8/8,
|
||||
]
|
||||
fail-fast: false
|
||||
|
||||
name: Grafana (${{ matrix.shard }})
|
||||
runs-on: ubuntu-latest-8-cores
|
||||
continue-on-error: true
|
||||
permissions:
|
||||
contents: read
|
||||
id-token: write
|
||||
steps:
|
||||
- name: Checkout code
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
persist-credentials: false
|
||||
- name: Setup Go
|
||||
uses: actions/setup-go@v5
|
||||
with:
|
||||
go-version-file: go.mod
|
||||
- name: Run unit tests
|
||||
env:
|
||||
SHARD: ${{ matrix.shard }}
|
||||
run: |
|
||||
set -euo pipefail
|
||||
readarray -t PACKAGES <<< "$(./scripts/ci/backend-tests/shard.sh -N"$SHARD")"
|
||||
go test -short -timeout=30m "${PACKAGES[@]}"
|
||||
|
||||
grafana-enterprise:
|
||||
# Run this workflow for non-PR events (like pushes to `main` or `release-*`) OR for internal PRs (PRs not from forks)
|
||||
needs: detect-changes
|
||||
if: github.event_name != 'pull_request' || github.event.pull_request.head.repo.fork == false && needs.detect-changes.outputs.changed == 'true'
|
||||
strategy:
|
||||
matrix:
|
||||
shard: [
|
||||
1/8, 2/8, 3/8, 4/8,
|
||||
5/8, 6/8, 7/8, 8/8,
|
||||
]
|
||||
fail-fast: false
|
||||
|
||||
name: Grafana Enterprise (${{ matrix.shard }})
|
||||
runs-on: ubuntu-latest-8-cores
|
||||
permissions:
|
||||
contents: read
|
||||
id-token: write
|
||||
steps:
|
||||
# Set up repository clone
|
||||
- name: Checkout code
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
persist-credentials: false
|
||||
- name: Setup Go
|
||||
uses: actions/setup-go@v5
|
||||
with:
|
||||
go-version-file: go.mod
|
||||
- name: Setup Enterprise
|
||||
uses: ./.github/actions/setup-enterprise
|
||||
with:
|
||||
github-app-name: 'grafana-ci-bot'
|
||||
|
||||
# Prepare what we need to upload test results
|
||||
- run: echo "RESULTS_FILE=$(date --rfc-3339=seconds --utc | sed -s 's/ /-/g')_${SHARD/\//_}.xml" >> "$GITHUB_ENV"
|
||||
env:
|
||||
SHARD: ${{ matrix.shard }}
|
||||
- run: go install github.com/jstemmer/go-junit-report/v2@85bf4716ac1f025f2925510a9f5e9f5bb347c009
|
||||
|
||||
# Run code
|
||||
- name: Run unit tests
|
||||
env:
|
||||
SHARD: ${{ matrix.shard }}
|
||||
run: |
|
||||
set -euo pipefail
|
||||
|
||||
readarray -t PACKAGES <<< "$(./scripts/ci/backend-tests/shard.sh -N"$SHARD")"
|
||||
# This tee requires pipefail to be set, otherwise `go test`'s exit code is thrown away.
|
||||
# That means having no `-o pipefail` => failing tests => exit code 0, which is wrong.
|
||||
go test -short -timeout=30m "${PACKAGES[@]}"
|
||||
|
||||
# This is the job that is actually required by rulesets.
|
||||
# We need to require EITHER the OSS or the Enterprise job to pass.
|
||||
# However, if one is skipped, GitHub won't flat-map the shards,
|
||||
# so they won't be accepted by a ruleset.
|
||||
required-backend-unit-tests:
|
||||
needs:
|
||||
- grafana
|
||||
- grafana-enterprise
|
||||
# always() is the best function here.
|
||||
# success() || failure() will skip this function if any need is also skipped.
|
||||
# That means conditional test suites will fail the entire requirement check.
|
||||
if: always()
|
||||
|
||||
name: All backend unit tests complete
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Check test suites
|
||||
env:
|
||||
NEEDS: ${{ toJson(needs) }}
|
||||
run: |
|
||||
FAILURES="$(echo "$NEEDS" | jq 'with_entries(select(.value.result == "failure")) | map_values(.result)')"
|
||||
echo "$FAILURES"
|
||||
if [ "$(echo "$FAILURES" | jq '. | length')" != "0" ]; then
|
||||
exit 1
|
||||
fi
|
||||
echo "All OK!"
|
||||
47
.github/workflows/backport-trigger.yml
vendored
Normal file
47
.github/workflows/backport-trigger.yml
vendored
Normal file
@@ -0,0 +1,47 @@
|
||||
# We need secrets to backport, but they're not available for actions ran by forks.
|
||||
# So this workflow is used as a 'trigger', which the backport-workflow.yml will with
|
||||
# via workflow_run
|
||||
|
||||
name: Backport (trigger)
|
||||
on:
|
||||
pull_request:
|
||||
types:
|
||||
- closed
|
||||
- labeled
|
||||
|
||||
permissions: {}
|
||||
|
||||
jobs:
|
||||
trigger:
|
||||
# Only run this job if the PR has been merged and has a label containing "backport v"
|
||||
if: |
|
||||
github.repository == 'grafana/grafana' &&
|
||||
github.event.pull_request.merged == true &&
|
||||
contains(join(github.event.pull_request.labels.*.name, ','), 'backport v')
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
# TODO: save this as job summary instead?
|
||||
- name: Trigger
|
||||
run: |
|
||||
echo "Triggering workflow"
|
||||
echo "See https://github.com/${{ github.repository }}/actions/workflows/workflow_run.yml for progress"
|
||||
|
||||
# Create a JSON artifact with details of this PR to pass to the backport workflow.
|
||||
# The { action: 'labelled', label: 'backport-1.23.x' } can only be determined from this event payload,
|
||||
# and is needed to do a backport after a PR has been merged
|
||||
#
|
||||
# Important that we don't run *anything* from the PR which could modify the backport_data.json file
|
||||
- name: Create action data
|
||||
run: |
|
||||
jq '{
|
||||
action: .action,
|
||||
label: .label.name,
|
||||
pr_number: .number,
|
||||
}' "$GITHUB_EVENT_PATH" > /tmp/pr_info.json
|
||||
|
||||
- name: Upload artifact
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: pr_info
|
||||
path: /tmp/pr_info.json
|
||||
retention-days: 1
|
||||
88
.github/workflows/backport-workflow.yml
vendored
Normal file
88
.github/workflows/backport-workflow.yml
vendored
Normal file
@@ -0,0 +1,88 @@
|
||||
# Runs the actual backport, after being triggered by the backport-trigger.yml workflow.
|
||||
|
||||
name: Backport (workflow)
|
||||
run-name: "Backport for ${{ github.event.workflow_run.head_branch }} #${{ github.event.workflow_run.run_number }}"
|
||||
on:
|
||||
workflow_run: # zizmor: ignore[dangerous-triggers] backport-trigger.yml does not run any user code
|
||||
workflows: ["Backport (trigger)"]
|
||||
types:
|
||||
- completed
|
||||
|
||||
permissions: {}
|
||||
|
||||
jobs:
|
||||
backport:
|
||||
# Only run this job if the triggering workflow was not skipped (and on grafana repo)
|
||||
if: github.repository == 'grafana/grafana' && github.event.workflow_run.conclusion == 'success'
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
id-token: write
|
||||
actions: read
|
||||
steps:
|
||||
- name: Get vault secrets
|
||||
id: secrets
|
||||
uses: grafana/shared-workflows/actions/get-vault-secrets@main
|
||||
with:
|
||||
export_env: false
|
||||
# Secrets placed in the ci/data/repo/grafana/grafana/delivery-bot-app path in Vault
|
||||
repo_secrets: |
|
||||
APP_PEM=delivery-bot-app:PRIVATE_KEY
|
||||
|
||||
- name: Generate token
|
||||
id: generate_token
|
||||
uses: tibdex/github-app-token@b62528385c34dbc9f38e5f4225ac829252d1ea92
|
||||
with:
|
||||
app_id: ${{ vars.DELIVERY_BOT_APP_ID }}
|
||||
private_key: ${{ fromJSON(steps.secrets.outputs.secrets).APP_PEM }}
|
||||
|
||||
- name: Download PR info artifact
|
||||
uses: actions/download-artifact@v4
|
||||
id: download-pr-info
|
||||
with:
|
||||
github-token: ${{ github.token }}
|
||||
run-id: ${{ github.event.workflow_run.id }}
|
||||
name: pr_info
|
||||
|
||||
- name: Get PR info
|
||||
id: pr-info
|
||||
env:
|
||||
PR_INFO_FILE: ${{ steps.download-pr-info.outputs.download-path }}/pr_info.json
|
||||
# jq-magic to convert the JSON object into a list of key=value pairs for $GITHUB_OUTPUT
|
||||
run:
|
||||
jq -r 'to_entries[] | select(.value | type != "object") | "\(.key)=\(.value)"' "$PR_INFO_FILE" >> "$GITHUB_OUTPUT"
|
||||
|
||||
- name: Print PR info
|
||||
env:
|
||||
PR_ACTION: ${{ steps.pr-info.outputs.action }}
|
||||
PR_LABEL: ${{ steps.pr-info.outputs.label }}
|
||||
PR_NUMBER: ${{ steps.pr-info.outputs.pr_number }}
|
||||
run: |
|
||||
echo "PR action: $PR_ACTION"
|
||||
echo "PR label: $PR_LABEL"
|
||||
echo "PR number: $PR_NUMBER"
|
||||
|
||||
- name: Checkout Grafana
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
ref: ${{ github.event.repository.default_branch }}
|
||||
fetch-depth: 2
|
||||
fetch-tags: false
|
||||
token: ${{ steps.generate_token.outputs.token }}
|
||||
persist-credentials: true
|
||||
|
||||
- name: Configure git user
|
||||
run: |
|
||||
git config --local user.name "github-actions[bot]"
|
||||
git config --local user.email "github-actions[bot]@users.noreply.github.com"
|
||||
git config --local --add --bool push.autoSetupRemote true
|
||||
|
||||
- name: Run backport
|
||||
uses: grafana/grafana-github-actions-go/backport@dev
|
||||
with:
|
||||
token: ${{ steps.generate_token.outputs.token }}
|
||||
# If triggered by being labelled, only backport that label.
|
||||
# Otherwise, the action will backport all labels.
|
||||
pr_label: ${{ steps.pr-info.outputs.action == 'labeled' && steps.pr-info.outputs.label || '' }}
|
||||
pr_number: ${{ steps.pr-info.outputs.pr_number }}
|
||||
repo_owner: ${{ github.repository_owner }}
|
||||
repo_name: ${{ github.event.repository.name }}
|
||||
35
.github/workflows/backport.yml
vendored
35
.github/workflows/backport.yml
vendored
@@ -5,29 +5,28 @@ on:
|
||||
- closed
|
||||
- labeled
|
||||
|
||||
permissions:
|
||||
contents: write
|
||||
pull-requests: write
|
||||
|
||||
jobs:
|
||||
main:
|
||||
if: github.repository == 'grafana/grafana'
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout Actions
|
||||
uses: actions/checkout@v4
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4 # 4.2.2
|
||||
with:
|
||||
repository: "grafana/grafana-github-actions"
|
||||
path: ./actions
|
||||
ref: main
|
||||
- name: Install Actions
|
||||
run: npm install --production --prefix ./actions
|
||||
- name: "Generate token"
|
||||
id: generate_token
|
||||
uses: tibdex/github-app-token@b62528385c34dbc9f38e5f4225ac829252d1ea92
|
||||
with:
|
||||
app_id: ${{ secrets.GRAFANA_DELIVERY_BOT_APP_ID }}
|
||||
private_key: ${{ secrets.GRAFANA_DELIVERY_BOT_APP_PEM }}
|
||||
persist-credentials: false
|
||||
- run: git config --local user.name "github-actions[bot]"
|
||||
- run: git config --local user.email "github-actions[bot]@users.noreply.github.com"
|
||||
- run: git config --local --add --bool push.autoSetupRemote true
|
||||
- name: Set remote URL
|
||||
env:
|
||||
GIT_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
run: |
|
||||
git remote set-url origin "https://grafana-delivery-bot:$GIT_TOKEN@github.com/grafana/grafana.git"
|
||||
- name: Run backport
|
||||
uses: ./actions/backport
|
||||
uses: grafana/grafana-github-actions-go/backport@main # zizmor: ignore[unpinned-uses]
|
||||
with:
|
||||
metricsWriteAPIKey: ${{secrets.GRAFANA_MISC_STATS_API_KEY}}
|
||||
token: ${{ steps.generate_token.outputs.token }}
|
||||
labelsToAdd: "backport"
|
||||
title: "[{{base}}] {{originalTitle}}"
|
||||
token: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
||||
99
.github/workflows/bump-version.yml
vendored
99
.github/workflows/bump-version.yml
vendored
@@ -5,74 +5,43 @@ on:
|
||||
version:
|
||||
description: 'Needs to match, exactly, the name of a milestone. The version to be released please respect: major.minor.patch, major.minor.patch-preview or major.minor.patch-preview<number> format. example: 7.4.3, 7.4.3-preview or 7.4.3-preview1'
|
||||
required: true
|
||||
env:
|
||||
YARN_ENABLE_IMMUTABLE_INSTALLS: false
|
||||
push:
|
||||
default: true
|
||||
required: false
|
||||
dry_run:
|
||||
default: false
|
||||
required: false
|
||||
|
||||
permissions:
|
||||
contents: write
|
||||
pull-requests: write
|
||||
|
||||
jobs:
|
||||
main:
|
||||
bump-version:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
# This is a basic workflow to help you get started with Actions
|
||||
- uses: actions-ecosystem/action-regex-match@v2.0.2
|
||||
if: ${{ github.event.inputs.version != '' }}
|
||||
id: regex-match
|
||||
with:
|
||||
text: ${{ github.event.inputs.version }}
|
||||
regex: '^(\d+.\d+).\d+(?:-(?:(preview\d?)|(pre)))?$'
|
||||
- uses: actions-ecosystem/action-regex-match@v2.0.2
|
||||
if: ${{ inputs.version_call != '' }}
|
||||
id: regex-match-version-call
|
||||
with:
|
||||
text: ${{ inputs.version_call }}
|
||||
regex: '^(\d+.\d+).\d+(?:-(?:(preview\d?)|(pre)))?$'
|
||||
- name: Validate input version
|
||||
if: ${{ steps.regex-match.outputs.match == '' && github.event.inputs.version != '' }}
|
||||
run: |
|
||||
echo "The input version format is not correct, please respect:\
|
||||
major.minor.patch, major.minor.patch-preview or major.minor.patch-preview<number> format. \
|
||||
example: 7.4.3, 7.4.3-preview or 7.4.3-preview1"
|
||||
exit 1
|
||||
- name: Validate input version call
|
||||
if: ${{ inputs.version_call != '' && steps.regex-match-version-call.outputs.match == '' }}
|
||||
run: |
|
||||
echo "The input version format is not correct, please respect:\
|
||||
major.minor.patch, major.minor.patch-preview or major.minor.patch-preview<number> format. \
|
||||
example: 7.4.3, 7.4.3-preview or 7.4.3-preview1"
|
||||
exit 1
|
||||
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- name: Set intermedia variables
|
||||
id: intermedia
|
||||
run: |
|
||||
echo "short_ref=${GITHUB_REF#refs/*/}" >> $GITHUB_OUTPUT
|
||||
echo "check_passed=false" >> $GITHUB_OUTPUT
|
||||
echo "branch_name=v${{steps.regex-match.outputs.group1}}" >> $GITHUB_OUTPUT
|
||||
echo "branch_exist=$(git ls-remote --heads https://github.com/grafana/grafana.git v${{ steps.regex-match.outputs.group1 }}.x | wc -l)" >> $GITHUB_OUTPUT
|
||||
|
||||
- name: Checkout Actions
|
||||
- name: Checkout Grafana
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
repository: "grafana/grafana-github-actions"
|
||||
path: ./actions
|
||||
ref: main
|
||||
# Go is required for also updating the schema versions as part of the precommit hook:
|
||||
- uses: actions/setup-go@v4
|
||||
persist-credentials: false
|
||||
- name: Update package.json versions
|
||||
uses: ./pkg/build/actions/bump-version
|
||||
with:
|
||||
go-version-file: go.mod
|
||||
- uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: '18'
|
||||
- name: Install Actions
|
||||
run: npm install --production --prefix ./actions
|
||||
- name: "Generate token"
|
||||
id: generate_token
|
||||
uses: tibdex/github-app-token@b62528385c34dbc9f38e5f4225ac829252d1ea92
|
||||
with:
|
||||
app_id: ${{ secrets.GRAFANA_DELIVERY_BOT_APP_ID }}
|
||||
private_key: ${{ secrets.GRAFANA_DELIVERY_BOT_APP_PEM }}
|
||||
- name: Run bump version (manually invoked)
|
||||
uses: ./actions/bump-version
|
||||
with:
|
||||
token: ${{ steps.generate_token.outputs.token }}
|
||||
metricsWriteAPIKey: ${{ secrets.GRAFANA_MISC_STATS_API_KEY }}
|
||||
precommit_make_target: gen-cue
|
||||
version: ${{ inputs.version }}
|
||||
- if: ${{ inputs.push }}
|
||||
name: Push & Create PR
|
||||
env:
|
||||
VERSION: ${{ inputs.version }}
|
||||
DRY_RUN: ${{ inputs.dry_run }}
|
||||
REF_NAME: ${{ github.ref_name }}
|
||||
RUN_ID: ${{ github.run_id }}
|
||||
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
run: |
|
||||
git config --local user.name "github-actions[bot]"
|
||||
git config --local user.email "github-actions[bot]@users.noreply.github.com"
|
||||
git config --local --add --bool push.autoSetupRemote true
|
||||
git checkout -b "bump-version/${RUN_ID}/${VERSION}"
|
||||
git add .
|
||||
git commit -m "bump version ${VERSION}"
|
||||
git push
|
||||
gh pr create --dry-run="$DRY_RUN" -l "type/ci" -l "no-changelog" -B "$REF_NAME" --title "Release: Bump version to ${VERSION}" --body "Updated version to ${VERSION}"
|
||||
|
||||
191
.github/workflows/changelog.yml
vendored
Normal file
191
.github/workflows/changelog.yml
vendored
Normal file
@@ -0,0 +1,191 @@
|
||||
name: Generate changelog
|
||||
on:
|
||||
workflow_call:
|
||||
inputs:
|
||||
previous_version:
|
||||
type: string
|
||||
required: false
|
||||
description: 'The release version (semver, git tag, branch or commit) to use for comparison'
|
||||
version:
|
||||
type: string
|
||||
required: true
|
||||
description: 'Target release version (semver, git tag, branch or commit)'
|
||||
target:
|
||||
required: true
|
||||
type: string
|
||||
description: 'The base branch that these changes are being merged into'
|
||||
dry_run:
|
||||
required: false
|
||||
default: false
|
||||
type: boolean
|
||||
latest:
|
||||
required: false
|
||||
default: false
|
||||
type: boolean
|
||||
work_branch:
|
||||
required: false
|
||||
type: string
|
||||
description: "Use specific branch for changelog"
|
||||
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
previous_version:
|
||||
type: string
|
||||
required: false
|
||||
description: 'The release version (semver, git tag, branch or commit) to use for comparison'
|
||||
version:
|
||||
type: string
|
||||
required: true
|
||||
description: 'Target release version (semver, git tag, branch or commit)'
|
||||
target:
|
||||
required: true
|
||||
type: string
|
||||
description: 'The base branch that these changes are being merged into'
|
||||
dry_run:
|
||||
required: false
|
||||
default: false
|
||||
type: boolean
|
||||
latest:
|
||||
required: false
|
||||
default: false
|
||||
type: boolean
|
||||
work_branch:
|
||||
required: false
|
||||
type: string
|
||||
description: "Use specific branch for changelog"
|
||||
|
||||
permissions: {}
|
||||
|
||||
jobs:
|
||||
main:
|
||||
env:
|
||||
RUN_ID: ${{ github.run_id }}
|
||||
VERSION: ${{ inputs.version }}
|
||||
PREVIOUS_VERISON: ${{ inputs.previous_version }}
|
||||
TARGET: ${{ inputs.target }}
|
||||
DRY_RUN: ${{ inputs.dry_run }}
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
id-token: write
|
||||
contents: write
|
||||
pull-requests: write
|
||||
steps:
|
||||
- name: "Get vault secrets"
|
||||
id: vault-secrets
|
||||
uses: grafana/shared-workflows/actions/get-vault-secrets@main
|
||||
with:
|
||||
# Secrets placed in the ci/data/repo/grafana/grafana/delivery-bot-app path in Vault
|
||||
repo_secrets: |
|
||||
GRAFANA_DELIVERY_BOT_APP_PEM=delivery-bot-app:PRIVATE_KEY
|
||||
- name: "Generate token"
|
||||
id: generate_token
|
||||
uses: tibdex/github-app-token@b62528385c34dbc9f38e5f4225ac829252d1ea92
|
||||
with:
|
||||
app_id: ${{ vars.DELIVERY_BOT_APP_ID }}
|
||||
private_key: ${{ env.GRAFANA_DELIVERY_BOT_APP_PEM }}
|
||||
- name: "Checkout Grafana repo"
|
||||
uses: "actions/checkout@v4"
|
||||
with:
|
||||
ref: main
|
||||
sparse-checkout: |
|
||||
.github/workflows
|
||||
.github/actions
|
||||
CHANGELOG.md
|
||||
.nvmrc
|
||||
.prettierignore
|
||||
.prettierrc.js
|
||||
fetch-depth: 0
|
||||
fetch-tags: true
|
||||
- name: Setup nodejs environment
|
||||
uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version-file: .nvmrc
|
||||
- name: "Configure git user"
|
||||
run: |
|
||||
git config --local user.name "github-actions[bot]"
|
||||
git config --local user.email "github-actions[bot]@users.noreply.github.com"
|
||||
git config --local --add --bool push.autoSetupRemote true
|
||||
- name: "Create branch"
|
||||
run: |
|
||||
if [[ "$WORK_BRANCH" == '' ]]; then
|
||||
git switch -c "changelog/${RUN_ID}/${VERSION}"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# Checkout the changelog branch if exists, otherwise create a new one
|
||||
if git show-ref --verify --quiet "refs/remotes/origin/$WORK_BRANCH"; then
|
||||
git switch --track "origin/$WORK_BRANCH"
|
||||
else
|
||||
git switch -c "$WORK_BRANCH"
|
||||
fi
|
||||
env:
|
||||
WORK_BRANCH: ${{ inputs.work_branch }}
|
||||
- name: "Generate changelog"
|
||||
id: changelog
|
||||
uses: ./.github/actions/changelog
|
||||
with:
|
||||
previous: ${{ inputs.previous_version }}
|
||||
github_token: ${{ steps.generate_token.outputs.token }}
|
||||
target: v${{ inputs.version }}
|
||||
output_file: changelog_items.md
|
||||
- name: "Patch CHANGELOG.md"
|
||||
run: |
|
||||
# Prepare CHANGELOG.md content with version delimiters
|
||||
(
|
||||
echo
|
||||
echo "# ${VERSION} ($(date '+%F'))"
|
||||
echo
|
||||
cat changelog_items.md
|
||||
) > CHANGELOG.part
|
||||
|
||||
# Check if a version exists in the changelog
|
||||
if grep -q "<!-- ${VERSION} START" CHANGELOG.md ; then
|
||||
# Replace the content between START and END delimiters
|
||||
echo "Version ${VERSION} is found in the CHANGELOG.md, patching contents..."
|
||||
sed -i -e "/${VERSION} START/,/${VERSION} END/{//!d;}" \
|
||||
-e "/${VERSION} START/r CHANGELOG.part" CHANGELOG.md
|
||||
else
|
||||
# Prepend changelog part to the main changelog file
|
||||
echo "Version $VERSION not found in the CHANGELOG.md"
|
||||
(
|
||||
echo "<!-- ${VERSION} START -->"
|
||||
cat CHANGELOG.part
|
||||
echo "<!-- ${VERSION} END -->"
|
||||
cat CHANGELOG.md
|
||||
) > CHANGELOG.tmp
|
||||
mv CHANGELOG.tmp CHANGELOG.md
|
||||
fi
|
||||
|
||||
git diff CHANGELOG.md
|
||||
|
||||
- name: "Prettify CHANGELOG.md"
|
||||
run: npx prettier --write CHANGELOG.md
|
||||
- name: "Commit changelog changes"
|
||||
run: git add CHANGELOG.md && git commit --allow-empty -m "Update changelog" CHANGELOG.md
|
||||
- name: "git push"
|
||||
if: inputs.dry_run != true
|
||||
run: git push
|
||||
- name: "Create changelog PR"
|
||||
run: |
|
||||
if gh pr view &>/dev/null; then
|
||||
echo "Changelog pr has already been created"
|
||||
else
|
||||
|
||||
gh pr create \
|
||||
--dry-run="${DRY_RUN}" \
|
||||
--label "no-backport" \
|
||||
--label "no-changelog" \
|
||||
-B "${TARGET}" \
|
||||
--title "Release: update changelog for ${TARGET}" \
|
||||
--body "Changelog changes for release versions:"
|
||||
fi
|
||||
env:
|
||||
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
- name: "Add release version to PR description"
|
||||
if: inputs.dry_run != true
|
||||
run: |
|
||||
gh pr view --json body --jq .body > pr_body.md
|
||||
echo " - ${VERSION}" >> pr_body.md
|
||||
gh pr edit --body-file pr_body.md
|
||||
env:
|
||||
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
44
.github/workflows/close-milestone.yml
vendored
44
.github/workflows/close-milestone.yml
vendored
@@ -1,44 +0,0 @@
|
||||
name: Close milestone
|
||||
on:
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
version:
|
||||
required: true
|
||||
description: Needs to match, exactly, the name of a milestone
|
||||
workflow_call:
|
||||
inputs:
|
||||
version_call:
|
||||
description: Needs to match, exactly, the name of a milestone
|
||||
required: true
|
||||
type: string
|
||||
|
||||
jobs:
|
||||
main:
|
||||
if: github.repository == 'grafana/grafana'
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout Actions
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
repository: "grafana/grafana-github-actions"
|
||||
path: ./actions
|
||||
ref: main
|
||||
- name: Install Actions
|
||||
run: npm install --production --prefix ./actions
|
||||
- name: "Generate token"
|
||||
id: generate_token
|
||||
uses: tibdex/github-app-token@b62528385c34dbc9f38e5f4225ac829252d1ea92
|
||||
with:
|
||||
app_id: ${{ secrets.GRAFANA_DELIVERY_BOT_APP_ID }}
|
||||
private_key: ${{ secrets.GRAFANA_DELIVERY_BOT_APP_PEM }}
|
||||
- name: Close milestone (manually invoked)
|
||||
if: ${{ github.event.inputs.version != '' }}
|
||||
uses: ./actions/close-milestone
|
||||
with:
|
||||
token: ${{ steps.generate_token.outputs.token }}
|
||||
- name: Close milestone (workflow invoked)
|
||||
if: ${{ inputs.version_call != '' }}
|
||||
uses: ./actions/close-milestone
|
||||
with:
|
||||
version_call: ${{ inputs.version_call }}
|
||||
token: ${{ steps.generate_token.outputs.token }}
|
||||
14
.github/workflows/codeowners-validator.yml
vendored
14
.github/workflows/codeowners-validator.yml
vendored
@@ -2,16 +2,22 @@ name: "Codeowners Validator"
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
branches: [ main ]
|
||||
branches: [ main, release-* ]
|
||||
|
||||
permissions: {}
|
||||
|
||||
jobs:
|
||||
codeowners-validator:
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
contents: read
|
||||
steps:
|
||||
# Checks-out your repository, which is validated in the next step
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
persist-credentials: false
|
||||
- name: GitHub CODEOWNERS Validator
|
||||
uses: mszostok/codeowners-validator@v0.7.4
|
||||
uses: mszostok/codeowners-validator@7f3f5e28c6d7b8dfae5731e54ce2272ca384592f
|
||||
# input parameters
|
||||
with:
|
||||
# ==== GitHub Auth ====
|
||||
@@ -21,7 +27,7 @@ jobs:
|
||||
|
||||
# "The comma-separated list of experimental checks that should be executed. By default, all experimental checks are turned off. Possible values: notowned,avoid-shadowing"
|
||||
experimental_checks: "notowned,avoid-shadowing"
|
||||
|
||||
|
||||
# The repository path in which CODEOWNERS file should be validated."
|
||||
repository_path: "."
|
||||
|
||||
@@ -35,4 +41,4 @@ jobs:
|
||||
owner_checker_allow_unowned_patterns: "false"
|
||||
|
||||
# Specifies whether only teams are allowed as owners of files.
|
||||
owner_checker_owners_must_be_teams: "false"
|
||||
owner_checker_owners_must_be_teams: "false"
|
||||
|
||||
18
.github/workflows/codeql-analysis.yml
vendored
18
.github/workflows/codeql-analysis.yml
vendored
@@ -3,18 +3,19 @@
|
||||
#
|
||||
# You may wish to alter this file to override the set of languages analyzed,
|
||||
# or to provide custom queries or build logic.
|
||||
name: "CodeQL"
|
||||
name: "CodeQL checks"
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
push:
|
||||
branches: [main, v1.8.x, v2.0.x, v2.1.x, v2.6.x, v3.0.x, v3.1.x, v4.0.x, v4.1.x, v4.2.x, v4.3.x, v4.4.x, v4.5.x, v4.6.x, v4.7.x, v5.0.x, v5.1.x, v5.2.x, v5.3.x, v5.4.x, v6.0.x, v6.1.x, v6.2.x, v6.3.x, v6.4.x, v6.5.x, v6.6.x, v6.7.x, v7.0.x, v7.1.x, v7.2.x]
|
||||
branches: ['**'] # run on all branches
|
||||
paths-ignore:
|
||||
- '**/*.cue'
|
||||
- '**/*.json'
|
||||
- '**/*.md'
|
||||
- '**/*.txt'
|
||||
- '**/*.yml'
|
||||
- pkg/storage/unified/sql/db/dbimpl/db.go # Ignoring warnings on the whole file for now while inline comments is not supported in Go (https://github.com/github/codeql/issues/11427)
|
||||
schedule:
|
||||
- cron: '0 4 * * 6'
|
||||
|
||||
@@ -25,14 +26,16 @@ jobs:
|
||||
analyze:
|
||||
name: Analyze
|
||||
runs-on: ubuntu-latest
|
||||
continue-on-error: true # doesn't block PRs from being merged if this fails
|
||||
if: github.repository == 'grafana/grafana'
|
||||
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
# Override automatic language detection by changing the below list
|
||||
# Supported options are ['csharp', 'cpp', 'go', 'java', 'javascript', 'python']
|
||||
language: ['javascript', 'go', 'python']
|
||||
# Supported options are listed here
|
||||
# https://docs.github.com/en/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/customizing-your-advanced-setup-for-code-scanning#changing-the-languages-that-are-analyzed
|
||||
language: ['actions', 'javascript', 'go']
|
||||
# Learn more...
|
||||
# https://docs.github.com/en/github/finding-security-vulnerabilities-and-errors-in-your-code/configuring-code-scanning#overriding-automatic-language-detection
|
||||
|
||||
@@ -43,16 +46,17 @@ jobs:
|
||||
# We must fetch at least the immediate parents so that if this is
|
||||
# a pull request then we can checkout the head.
|
||||
fetch-depth: 2
|
||||
persist-credentials: false
|
||||
|
||||
- if: matrix.language == 'go'
|
||||
name: Set go version
|
||||
uses: actions/setup-go@v4
|
||||
uses: actions/setup-go@19bb51245e9c80abacb2e91cc42b33fa478b8639
|
||||
with:
|
||||
go-version-file: go.mod
|
||||
|
||||
# Initializes the CodeQL tools for scanning.
|
||||
- name: Initialize CodeQL
|
||||
uses: github/codeql-action/init@v2
|
||||
uses: github/codeql-action/init@v3
|
||||
with:
|
||||
languages: ${{ matrix.language }}
|
||||
# If you wish to specify custom queries, you can do so here or in a config file.
|
||||
@@ -67,4 +71,4 @@ jobs:
|
||||
make build-go
|
||||
|
||||
- name: Perform CodeQL Analysis
|
||||
uses: github/codeql-action/analyze@v2
|
||||
uses: github/codeql-action/analyze@v3
|
||||
|
||||
37
.github/workflows/commands.yml
vendored
37
.github/workflows/commands.yml
vendored
@@ -1,11 +1,19 @@
|
||||
name: Run commands when issues are labeled or comments added
|
||||
|
||||
# important: this workflow uses a github app that is strictly limited
|
||||
# to issues. If you want to change the triggers for this workflow,
|
||||
# please review if the permissions are still sufficient.
|
||||
on:
|
||||
issues:
|
||||
types: [labeled, unlabeled]
|
||||
issue_comment:
|
||||
types: [created]
|
||||
|
||||
concurrency:
|
||||
group: issue-commands-${{ github.event.issue.number }}
|
||||
|
||||
permissions: {}
|
||||
|
||||
jobs:
|
||||
config:
|
||||
runs-on: "ubuntu-latest"
|
||||
@@ -16,7 +24,7 @@ jobs:
|
||||
id: check
|
||||
shell: bash
|
||||
run: |
|
||||
if [ -n "${{ (secrets.GRAFANA_MISC_STATS_API_KEY != '' && secrets.ISSUE_COMMANDS_TOKEN != '') || '' }}" ]; then
|
||||
if [ "${{ github.repository }}" == "grafana/grafana" ]; then
|
||||
echo "has-secrets=1" >> "$GITHUB_OUTPUT"
|
||||
fi
|
||||
|
||||
@@ -24,18 +32,39 @@ jobs:
|
||||
needs: config
|
||||
if: needs.config.outputs.has-secrets
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
contents: read
|
||||
id-token: write
|
||||
steps:
|
||||
- name: "Get vault secrets"
|
||||
id: vault-secrets
|
||||
uses: grafana/shared-workflows/actions/get-vault-secrets@main # zizmor: ignore[unpinned-uses]
|
||||
with:
|
||||
# Secrets placed in the ci/repo/grafana/grafana/plugins_platform_issue_commands_github_bot path in Vault
|
||||
repo_secrets: |
|
||||
GITHUB_APP_ID=grafana_pr_automation_app:app_id
|
||||
GITHUB_APP_PRIVATE_KEY=grafana_pr_automation_app:app_pem
|
||||
|
||||
- name: Generate token
|
||||
id: generate_token
|
||||
uses: actions/create-github-app-token@3ff1caaa28b64c9cc276ce0a02e2ff584f3900c5 # v2.0.2
|
||||
with:
|
||||
app-id: ${{ env.GITHUB_APP_ID }}
|
||||
private-key: ${{ env.GITHUB_APP_PRIVATE_KEY }}
|
||||
|
||||
- name: Checkout Actions
|
||||
uses: actions/checkout@v4
|
||||
uses: actions/checkout@v4 # v4.2.2
|
||||
with:
|
||||
repository: "grafana/grafana-github-actions"
|
||||
path: ./actions
|
||||
ref: main
|
||||
persist-credentials: false
|
||||
|
||||
- name: Install Actions
|
||||
run: npm install --production --prefix ./actions
|
||||
- name: Run Commands
|
||||
uses: ./actions/commands
|
||||
with:
|
||||
metricsWriteAPIKey: ${{secrets.GRAFANA_MISC_STATS_API_KEY}}
|
||||
token: ${{secrets.ISSUE_COMMANDS_TOKEN}}
|
||||
metricsWriteAPIKey: ""
|
||||
token: ${{ steps.generate_token.outputs.token }}
|
||||
configPath: commands
|
||||
|
||||
40
.github/workflows/community-release.yml
vendored
40
.github/workflows/community-release.yml
vendored
@@ -1,25 +1,49 @@
|
||||
name: Create community release post
|
||||
on:
|
||||
workflow_call:
|
||||
inputs:
|
||||
version:
|
||||
type: string
|
||||
required: true
|
||||
description: 'Needs to match, exactly, the name of a milestone. The version to be released please respect: major.minor.patch, major.minor.patch-preview or major.minor.patch-preview<number> format. example: 7.4.3, 7.4.3-preview or 7.4.3-preview1'
|
||||
dry_run:
|
||||
type: boolean
|
||||
required: false
|
||||
default: false
|
||||
description: When enabled, this workflow will print a preview instead of creating an actual post.
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
version:
|
||||
type: string
|
||||
required: true
|
||||
description: 'Needs to match, exactly, the name of a milestone. The version to be released please respect: major.minor.patch, major.minor.patch-preview or major.minor.patch-preview<number> format. example: 7.4.3, 7.4.3-preview or 7.4.3-preview1'
|
||||
dry_run:
|
||||
type: boolean
|
||||
required: false
|
||||
default: false
|
||||
description: When enabled, this workflow will print a preview instead of creating an actual post.
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
id-token: write
|
||||
|
||||
jobs:
|
||||
main:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: "Generate token"
|
||||
id: generate_token
|
||||
uses: tibdex/github-app-token@b62528385c34dbc9f38e5f4225ac829252d1ea92
|
||||
- name: "Get vault secrets"
|
||||
id: vault-secrets
|
||||
uses: grafana/shared-workflows/actions/get-vault-secrets@main
|
||||
with:
|
||||
app_id: ${{ secrets.GRAFANA_DELIVERY_BOT_APP_ID }}
|
||||
private_key: ${{ secrets.GRAFANA_DELIVERY_BOT_APP_PEM }}
|
||||
# Secrets placed in the ci/repo/grafana/grafana/community_release path in Vault
|
||||
repo_secrets: |
|
||||
GRAFANABOT_FORUM_KEY=community_release:GRAFANABOT_FORUM_KEY
|
||||
|
||||
- name: Run community-release (manually invoked)
|
||||
uses: grafana/grafana-github-actions-go/community-release@main
|
||||
with:
|
||||
token: ${{ steps.generate_token.outputs.token }}
|
||||
token: ${{ secrets.GITHUB_TOKEN }}
|
||||
version: ${{ inputs.version }}
|
||||
metrics_api_key: ${{ secrets.GRAFANA_MISC_STATS_API_KEY }}
|
||||
community_api_key: ${{ secrets.GRAFANABOT_FORUM_KEY }}
|
||||
community_api_key: ${{ env.GRAFANABOT_FORUM_KEY }}
|
||||
community_api_username: grafanabot
|
||||
dry_run: ${{ inputs.dry_run }}
|
||||
|
||||
147
.github/workflows/core-plugins-build-and-release.yml
vendored
147
.github/workflows/core-plugins-build-and-release.yml
vendored
@@ -33,6 +33,8 @@ permissions:
|
||||
|
||||
jobs:
|
||||
build-and-publish:
|
||||
env:
|
||||
PLUGIN_ID: ${{ inputs.plugin_id }}
|
||||
name: Build and publish ${{ inputs.plugin_id }}
|
||||
runs-on: ubuntu-latest
|
||||
outputs:
|
||||
@@ -42,11 +44,13 @@ jobs:
|
||||
steps:
|
||||
- name: checkout
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
persist-credentials: false
|
||||
- name: Verify inputs
|
||||
run: |
|
||||
if [ -z ${{ inputs.plugin_id }} ]; then echo "Missing plugin ID"; exit 1; fi
|
||||
if [ -z "$PLUGIN_ID" ]; then echo "Missing plugin ID"; exit 1; fi
|
||||
- id: get-secrets
|
||||
uses: grafana/shared-workflows/actions/get-vault-secrets@main
|
||||
uses: grafana/shared-workflows/actions/get-vault-secrets@main # zizmor: ignore[unpinned-uses]
|
||||
with:
|
||||
# Secrets placed in the ci/repo/grafana/<repo>/<path> path in Vault
|
||||
repo_secrets: |
|
||||
@@ -54,11 +58,11 @@ jobs:
|
||||
PLUGINS_GRAFANA_API_KEY=core-plugins-build-and-release:PLUGINS_GRAFANA_API_KEY
|
||||
PLUGINS_GCOM_TOKEN=core-plugins-build-and-release:PLUGINS_GCOM_TOKEN
|
||||
- name: 'Authenticate to Google Cloud'
|
||||
uses: 'google-github-actions/auth@v2'
|
||||
uses: 'google-github-actions/auth@6fc4af4b145ae7821d527454aa9bd537d1f2dc5f'
|
||||
with:
|
||||
credentials_json: '${{ env.PLUGINS_GOOGLE_CREDENTIALS }}'
|
||||
- name: 'Set up Cloud SDK'
|
||||
uses: 'google-github-actions/setup-gcloud@v2'
|
||||
uses: 'google-github-actions/setup-gcloud@6189d56e4096ee891640bb02ac264be376592d6a'
|
||||
- name: Setup nodejs environment
|
||||
uses: actions/setup-node@v4
|
||||
with:
|
||||
@@ -68,13 +72,13 @@ jobs:
|
||||
shell: bash
|
||||
id: get_dir
|
||||
run: |
|
||||
dir=$(dirname \
|
||||
$(egrep -lir --include=plugin.json --exclude-dir=dist \
|
||||
'"id": "${{ inputs.plugin_id }}"' \
|
||||
dir="$(dirname \
|
||||
"$(grep -Elir --include=plugin.json --exclude-dir=dist \
|
||||
'"id": "'"${PLUGIN_ID}"'"' \
|
||||
public/app/plugins \
|
||||
) \
|
||||
)
|
||||
echo "dir=${dir}" >> $GITHUB_OUTPUT
|
||||
)" \
|
||||
)"
|
||||
echo "dir=${dir}" >> "$GITHUB_OUTPUT"
|
||||
- name: Install frontend dependencies
|
||||
shell: bash
|
||||
working-directory: ${{ steps.get_dir.outputs.dir }}
|
||||
@@ -84,20 +88,20 @@ jobs:
|
||||
shell: sh
|
||||
working-directory: ${{ steps.get_dir.outputs.dir }}
|
||||
run: |
|
||||
[ ! -d ./bin ] && mkdir -pv ./bin || true
|
||||
curl -fL -o ./bin/grabpl https://grafana-downloads.storage.googleapis.com/grafana-build-pipeline/v${{ env.GRABPL_VERSION }}/grabpl
|
||||
mkdir -pv ./bin
|
||||
curl -fL -o ./bin/grabpl https://grafana-downloads.storage.googleapis.com/grafana-build-pipeline/v"$GRABPL_VERSION"/grabpl
|
||||
chmod 0755 ./bin/grabpl
|
||||
- name: Check backend
|
||||
id: check_backend
|
||||
shell: bash
|
||||
run: |
|
||||
if egrep -qr --include=main.go 'datasource.Manage\("${{ inputs.plugin_id }}"' pkg/tsdb; then
|
||||
echo "has_backend=true" >> $GITHUB_OUTPUT
|
||||
if grep -Eqr --include=main.go 'datasource.Manage\('"$PLUGIN_ID" pkg/tsdb; then
|
||||
echo "has_backend=true" >> "$GITHUB_OUTPUT"
|
||||
else
|
||||
echo "has_backend=false" >> $GITHUB_OUTPUT
|
||||
echo "has_backend=false" >> "$GITHUB_OUTPUT"
|
||||
fi
|
||||
- name: Setup golang environment
|
||||
uses: actions/setup-go@v4
|
||||
uses: actions/setup-go@19bb51245e9c80abacb2e91cc42b33fa478b8639
|
||||
if: steps.check_backend.outputs.has_backend == 'true'
|
||||
with:
|
||||
go-version-file: go.mod
|
||||
@@ -145,22 +149,24 @@ jobs:
|
||||
- name: build:frontend
|
||||
shell: bash
|
||||
id: build_frontend
|
||||
env:
|
||||
OUTPUT_DIR: ${{ steps.get_dir.outputs.dir }}
|
||||
run: |
|
||||
command="plugin:build:commit"
|
||||
if [ "$GITHUB_REF" != "refs/heads/main" ]; then
|
||||
# Release branch, do not add commit hash to version
|
||||
command="plugin:build"
|
||||
fi
|
||||
yarn $command --scope="@grafana-plugins/${{ inputs.plugin_id }}"
|
||||
version=$(cat ${{ steps.get_dir.outputs.dir }}/dist/plugin.json | jq -r .info.version)
|
||||
echo "version=${version}" >> $GITHUB_OUTPUT
|
||||
yarn $command --scope="@grafana-plugins/$PLUGIN_ID"
|
||||
version="$(jq -r .info.version "$OUTPUT_DIR"/dist/plugin.json)"
|
||||
echo "version=${version}" >> "$GITHUB_OUTPUT"
|
||||
- name: build:backend
|
||||
if: steps.check_backend.outputs.has_backend == 'true'
|
||||
shell: bash
|
||||
env:
|
||||
VERSION: ${{ steps.build_frontend.outputs.version }}
|
||||
run: |
|
||||
make build-plugin-go PLUGIN_ID=${{ inputs.plugin_id }}
|
||||
make build-plugin-go PLUGIN_ID="$PLUGIN_ID"
|
||||
- name: package
|
||||
working-directory: ${{ steps.get_dir.outputs.dir }}
|
||||
run: |
|
||||
@@ -173,16 +179,17 @@ jobs:
|
||||
env:
|
||||
GCOM_TOKEN: ${{ env.PLUGINS_GCOM_TOKEN }}
|
||||
VERSION: ${{ steps.build_frontend.outputs.version }}
|
||||
GCOM_API: ${{ env.GCOM_API }}
|
||||
run: |
|
||||
api_res=$(curl -X 'GET' -H "Authorization: Bearer $GCOM_TOKEN" \
|
||||
'${{ env.GCOM_API}}/api/plugins/${{ inputs.plugin_id }}?version=$VERSION' \
|
||||
-H 'accept: application/json')
|
||||
api_res_code=$(echo $api_res | jq -r .code)
|
||||
api_res="$(curl -X 'GET' -H "Authorization: Bearer $GCOM_TOKEN" \
|
||||
"$GCOM_API/api/plugins/$PLUGIN_ID?version=$VERSION" \
|
||||
-H 'accept: application/json')"
|
||||
api_res_code="$(echo "$api_res" | jq -r .code)"
|
||||
if [ "$api_res_code" = "NotFound" ]; then
|
||||
echo "No existing release found"
|
||||
else
|
||||
echo "Expecting a missing release, got:"
|
||||
echo $api_res
|
||||
echo "$api_res"
|
||||
exit 1
|
||||
fi
|
||||
- name: store build artifacts
|
||||
@@ -193,55 +200,46 @@ jobs:
|
||||
- name: Publish release to Google Cloud Storage
|
||||
working-directory: ${{ steps.get_dir.outputs.dir }}
|
||||
env:
|
||||
VERSION: ${{ steps.build_frontend.outputs.version }}
|
||||
VERSION: ${{ steps.build_frontend.outputs.version }}
|
||||
GCP_BUCKET: ${{ env.GCP_BUCKET }}
|
||||
run: |
|
||||
echo "Publish release to Google Cloud Storage:"
|
||||
set -x
|
||||
touch ci/packages/windows ci/packages/darwin ci/packages/linux ci/packages/any
|
||||
gsutil -m cp -r ci/packages/*windows* gs://${{ env.GCP_BUCKET }}/${{ inputs.plugin_id }}/release/${VERSION}/windows
|
||||
gsutil -m cp -r ci/packages/*linux* gs://${{ env.GCP_BUCKET }}/${{ inputs.plugin_id }}/release/${VERSION}/linux
|
||||
gsutil -m cp -r ci/packages/*darwin* gs://${{ env.GCP_BUCKET }}/${{ inputs.plugin_id }}/release/${VERSION}/darwin
|
||||
gsutil -m cp -r ci/packages/*any* gs://${{ env.GCP_BUCKET }}/${{ inputs.plugin_id }}/release/${VERSION}/any
|
||||
gsutil -m cp -r ci/packages/*windows* "gs://$GCP_BUCKET/$PLUGIN_ID/release/${VERSION}/windows"
|
||||
gsutil -m cp -r ci/packages/*linux* "gs://$GCP_BUCKET/$PLUGIN_ID/release/${VERSION}/linux"
|
||||
gsutil -m cp -r ci/packages/*darwin* "gs://$GCP_BUCKET/$PLUGIN_ID/release/${VERSION}/darwin"
|
||||
gsutil -m cp -r ci/packages/*any* "gs://$GCP_BUCKET/$PLUGIN_ID/release/${VERSION}/any"
|
||||
- name: Publish new plugin version on grafana.com
|
||||
if: steps.check_backend.outputs.has_backend == 'true'
|
||||
working-directory: ${{ steps.get_dir.outputs.dir }}
|
||||
env:
|
||||
GCOM_TOKEN: ${{ env.PLUGINS_GCOM_TOKEN }}
|
||||
VERSION: ${{ steps.build_frontend.outputs.version }}
|
||||
GCP_BUCKET: ${{ env.GCP_BUCKET }}
|
||||
OUTPUT_DIR: ${{ steps.get_dir.outputs.dir }}
|
||||
GCOM_API: ${{ env.GCOM_API }}
|
||||
run: |
|
||||
echo "Publish new plugin version on grafana.com:"
|
||||
echo "Plugin version: ${VERSION}"
|
||||
result=`curl -H "Authorization: Bearer $GCOM_TOKEN" -H "Content-Type: application/json" ${{ env.GCOM_API}}/api/plugins -d "{
|
||||
\"url\": \"https://github.com/grafana/grafana/tree/main/${{ steps.get_dir.outputs.dir }}\",
|
||||
\"download\": {
|
||||
\"linux-amd64\": {
|
||||
\"url\": \"https://storage.googleapis.com/${{ env.GCP_BUCKET }}/${{ inputs.plugin_id }}/release/${VERSION}/linux/${{ inputs.plugin_id }}-${VERSION}.linux_amd64.zip\",
|
||||
\"md5\": \"$(cat ci/packages/info-linux_amd64.json | jq -r .plugin.md5)\"
|
||||
},
|
||||
\"linux-arm64\": {
|
||||
\"url\": \"https://storage.googleapis.com/${{ env.GCP_BUCKET }}/${{ inputs.plugin_id }}/release/${VERSION}/linux/${{ inputs.plugin_id }}-${VERSION}.linux_arm64.zip\",
|
||||
\"md5\": \"$(cat ci/packages/info-linux_arm64.json | jq -r .plugin.md5)\"
|
||||
},
|
||||
\"linux-arm\": {
|
||||
\"url\": \"https://storage.googleapis.com/${{ env.GCP_BUCKET }}/${{ inputs.plugin_id }}/release/${VERSION}/linux/${{ inputs.plugin_id }}-${VERSION}.linux_arm.zip\",
|
||||
\"md5\": \"$(cat ci/packages/info-linux_arm.json | jq -r .plugin.md5)\"
|
||||
},
|
||||
\"windows-amd64\": {
|
||||
\"url\": \"https://storage.googleapis.com/${{ env.GCP_BUCKET }}/${{ inputs.plugin_id }}/release/${VERSION}/windows/${{ inputs.plugin_id }}-${VERSION}.windows_amd64.zip\",
|
||||
\"md5\": \"$(cat ci/packages/info-windows_amd64.json | jq -r .plugin.md5)\"
|
||||
},
|
||||
\"darwin-amd64\": {
|
||||
\"url\": \"https://storage.googleapis.com/${{ env.GCP_BUCKET }}/${{ inputs.plugin_id }}/release/${VERSION}/darwin/${{ inputs.plugin_id }}-${VERSION}.darwin_amd64.zip\",
|
||||
\"md5\": \"$(cat ci/packages/info-darwin_amd64.json | jq -r .plugin.md5)\"
|
||||
},
|
||||
\"darwin-arm64\": {
|
||||
\"url\": \"https://storage.googleapis.com/${{ env.GCP_BUCKET }}/${{ inputs.plugin_id }}/release/${VERSION}/darwin/${{ inputs.plugin_id }}-${VERSION}.darwin_arm64.zip\",
|
||||
\"md5\": \"$(cat ci/packages/info-darwin_arm64.json | jq -r .plugin.md5)\"
|
||||
}
|
||||
}
|
||||
}"`
|
||||
if [[ "$(echo $result | jq -r .version)" == "null" ]]; then
|
||||
|
||||
OUTPUT_URL="https://github.com/grafana/grafana/tree/$OUTPUT_DIR" \
|
||||
jq -n '{"url": env.OUTPUT_URL}' > body.json
|
||||
osarchs=(linux_amd64 linux_arm64 linux_arm windows_amd64 darwin_amd64 darwin_arm64)
|
||||
for osarch in "${osarchs[@]}"; do
|
||||
echo "Processing $osarch"
|
||||
KEY="${osarch//_/-}" \
|
||||
OSARCH="$osarch" \
|
||||
jq -s '. as $i | .[0] | .download[env.KEY] = {
|
||||
"url": "https://storage.googleapis.com/\(env.GCP_BUCKET)/\(env.PLUGIN_ID)/release/\(env.VERSION)/linux/\(env.PLUGIN_ID)-\(env.VERSION).\(env.OSARCH).zip",
|
||||
"md5": $i[1].plugin.md5
|
||||
}' body.json ci/packages/info-"$osarch".json > tmp.json && mv tmp.json body.json
|
||||
done
|
||||
|
||||
result="$(curl -H "Authorization: Bearer $GCOM_TOKEN" -H "Content-Type: application/json" "$GCOM_API"/api/plugins --data-binary '@body.json')"
|
||||
if [[ "$(echo "$result" | jq -r .version)" == "null" ]]; then
|
||||
echo "Failed to publish plugin version. Got:"
|
||||
echo $result
|
||||
echo "$result"
|
||||
exit 1
|
||||
fi
|
||||
- name: Publish new plugin version on grafana.com (frontend only)
|
||||
@@ -250,20 +248,29 @@ jobs:
|
||||
env:
|
||||
GCOM_TOKEN: ${{ env.PLUGINS_GCOM_TOKEN }}
|
||||
VERSION: ${{ steps.build_frontend.outputs.version }}
|
||||
GCOM_API: ${{ env.GCOM_API }}
|
||||
OUTPUT_DIR: ${{ steps.get_dir.outputs.dir }}
|
||||
GCP_BUCKET: ${{ env.GCP_BUCKET }}
|
||||
run: |
|
||||
echo "Publish new plugin version on grafana.com:"
|
||||
echo "Plugin version: ${VERSION}"
|
||||
result=`curl -H "Authorization: Bearer $GCOM_TOKEN" -H "Content-Type: application/json" ${{ env.GCOM_API}}/api/plugins -d "{
|
||||
\"url\": \"https://github.com/grafana/grafana/tree/main/${{ steps.get_dir.outputs.dir }}\",
|
||||
\"download\": {
|
||||
\"any\": {
|
||||
\"url\": \"https://storage.googleapis.com/${{ env.GCP_BUCKET }}/${{ inputs.plugin_id }}/release/${VERSION}/any/${{ inputs.plugin_id }}-${VERSION}.any.zip\",
|
||||
\"md5\": \"$(cat ci/packages/info-any.json | jq -r .plugin.md5)\"
|
||||
|
||||
OUTPUT_URL="https://github.com/grafana/grafana/tree/$OUTPUT_DIR" \
|
||||
DOWNLOAD_URL="https://storage.googleapis.com/$GCP_BUCKET/$PLUGIN_ID/release/${VERSION}/any/$PLUGIN_ID-${VERSION}.any.zip" \
|
||||
MD5_CHECKSUM="$(jq -r '.plugin.md5' ci/packages/info-any.json)" \
|
||||
jq -rn '{
|
||||
"url": env.OUTPUT_URL,
|
||||
"download": {
|
||||
"any": {
|
||||
"url": env.DOWNLOAD_URL,
|
||||
"md5": env.MD5_CHECKSUM
|
||||
}
|
||||
}
|
||||
}"`
|
||||
if [[ "$(echo $result | jq -r .version)" == "null" ]]; then
|
||||
}' > body.json
|
||||
|
||||
result="$(curl -H "Authorization: Bearer $GCOM_TOKEN" -H "Content-Type: application/json" "$GCOM_API"/api/plugins --data-binary '@body.json')"
|
||||
if [[ "$(echo "$result" | jq -r .version)" == "null" ]]; then
|
||||
echo "Failed to publish plugin version. Got:"
|
||||
echo $result
|
||||
echo "$result"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
57
.github/workflows/create-next-release-branch.yml
vendored
Normal file
57
.github/workflows/create-next-release-branch.yml
vendored
Normal file
@@ -0,0 +1,57 @@
|
||||
name: Create next release branch
|
||||
on:
|
||||
workflow_call:
|
||||
inputs:
|
||||
ownerRepo:
|
||||
type: string
|
||||
description: Owner/repo of the repository where the branch is created (e.g. 'grafana/grafana')
|
||||
required: true
|
||||
source:
|
||||
description: The release branch to increment (eg providing `release-11.2.3` will result in `release-11.2.4` being created)
|
||||
type: string
|
||||
required: true
|
||||
outputs:
|
||||
branch:
|
||||
description: The new branch that was created
|
||||
value: ${{ jobs.main.outputs.branch }}
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
ownerRepo:
|
||||
description: Owner/repo of the repository where the branch is created (e.g. 'grafana/grafana')
|
||||
source:
|
||||
description: The release branch to increment (eg providing `release-11.2.3` will result in `release-11.2.4` being created)
|
||||
type: string
|
||||
required: true
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
id-token: write
|
||||
|
||||
jobs:
|
||||
main:
|
||||
runs-on: ubuntu-latest
|
||||
outputs:
|
||||
branch: ${{ steps.branch.outputs.branch }}
|
||||
steps:
|
||||
- name: "Get vault secrets"
|
||||
id: vault-secrets
|
||||
uses: grafana/shared-workflows/actions/get-vault-secrets@main
|
||||
with:
|
||||
# Secrets placed in the ci/data/repo/grafana/grafana/delivery-bot-app path in Vault
|
||||
repo_secrets: |
|
||||
GRAFANA_DELIVERY_BOT_APP_PEM=delivery-bot-app:PRIVATE_KEY
|
||||
- name: "Generate token"
|
||||
id: generate_token
|
||||
uses: tibdex/github-app-token@3beb63f4bd073e61482598c45c71c1019b59b73a
|
||||
with:
|
||||
app_id: ${{ vars.DELIVERY_BOT_APP_ID }}
|
||||
private_key: ${{ env.GRAFANA_DELIVERY_BOT_APP_PEM }}
|
||||
repositories: "[\"grafana\", \"grafana-enterprise\"]"
|
||||
permissions: "{\"contents\": \"write\", \"pull_requests\": \"write\", \"workflows\":\"write\"}"
|
||||
- name: Create release branch
|
||||
id: branch
|
||||
uses: grafana/grafana-github-actions-go/bump-release@main # zizmor: ignore[unpinned-uses]
|
||||
with:
|
||||
ownerRepo: ${{ inputs.ownerRepo }}
|
||||
source: ${{ inputs.source }}
|
||||
token: ${{ steps.generate_token.outputs.token }}
|
||||
79
.github/workflows/create-security-branch.yml
vendored
Normal file
79
.github/workflows/create-security-branch.yml
vendored
Normal file
@@ -0,0 +1,79 @@
|
||||
name: Create security branch
|
||||
on:
|
||||
workflow_call:
|
||||
inputs:
|
||||
release_branch:
|
||||
type: string
|
||||
description: The release branch to increment (eg providing `release-11.2.3` will result in `release-11.2.3+security-01` being created)
|
||||
required: true
|
||||
security_branch_number:
|
||||
type: string
|
||||
description: 'The security branch number (e.g., 01)'
|
||||
required: false
|
||||
default: '01'
|
||||
repository:
|
||||
type: string
|
||||
description: 'The repository to create the security branch in (e.g., grafana/grafana-security-mirror)'
|
||||
required: true
|
||||
outputs:
|
||||
branch:
|
||||
description: The new security branch that was created
|
||||
value: ${{ jobs.main.outputs.branch }}
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
release_branch:
|
||||
type: string
|
||||
description: The release branch to increment (eg providing `release-11.2.3` will result in `release-11.2.3+security-01` being created)
|
||||
required: true
|
||||
security_branch_number:
|
||||
type: string
|
||||
description: 'The security branch number (e.g., 01)'
|
||||
required: false
|
||||
default: '01'
|
||||
repository:
|
||||
type: string
|
||||
description: 'The repository to create the security branch in (e.g., grafana/grafana-security-mirror)'
|
||||
required: true
|
||||
|
||||
permissions:
|
||||
contents: write
|
||||
id-token: write
|
||||
|
||||
jobs:
|
||||
main:
|
||||
runs-on: ubuntu-latest
|
||||
outputs:
|
||||
branch: ${{ steps.branch.outputs.branch }}
|
||||
steps:
|
||||
- name: "Get vault secrets"
|
||||
id: vault-secrets
|
||||
uses: grafana/shared-workflows/actions/get-vault-secrets@main
|
||||
with:
|
||||
# Secrets placed in the ci/data/repo/grafana/grafana/delivery-bot-app path in Vault
|
||||
repo_secrets: |
|
||||
GRAFANA_DELIVERY_BOT_APP_PEM=delivery-bot-app:PRIVATE_KEY
|
||||
|
||||
- name: "Generate token"
|
||||
id: generate_token
|
||||
uses: tibdex/github-app-token@b62528385c34dbc9f38e5f4225ac829252d1ea92
|
||||
with:
|
||||
app_id: ${{ vars.DELIVERY_BOT_APP_ID }}
|
||||
private_key: ${{ env.GRAFANA_DELIVERY_BOT_APP_PEM }}
|
||||
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
token: ${{ steps.generate_token.outputs.token }}
|
||||
repository: ${{ inputs.repository }}
|
||||
ref: ${{ inputs.release_branch }}
|
||||
|
||||
- name: Create security branch
|
||||
id: branch
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ steps.generate_token.outputs.token }}
|
||||
INPUT_RELEASE_BRANCH: ${{ inputs.release_branch }}
|
||||
INPUT_SECURITY_BRANCH_NUMBER: ${{ inputs.security_branch_number }}
|
||||
INPUT_REPOSITORY: ${{ inputs.repository }}
|
||||
run: |
|
||||
chmod +x .github/workflows/scripts/create-security-branch/create-security-branch.sh
|
||||
.github/workflows/scripts/create-security-branch/create-security-branch.sh
|
||||
@@ -11,12 +11,13 @@ on:
|
||||
branches:
|
||||
- "main"
|
||||
- "v*.*.*"
|
||||
- "release-*.*.*"
|
||||
|
||||
# This is run before the pull request has been merged, so we'll run against the src branch
|
||||
jobs:
|
||||
trigger_downstream_create_security_patch:
|
||||
concurrency: create-patch-${{ github.ref_name }}
|
||||
uses: grafana/security-patch-actions/.github/workflows/create-patch.yml@main
|
||||
uses: grafana/security-patch-actions/.github/workflows/create-patch.yml@main # zizmor: ignore[unpinned-uses]
|
||||
if: github.repository == 'grafana/grafana-security-mirror'
|
||||
with:
|
||||
repo: "${{ github.repository }}"
|
||||
@@ -24,5 +25,4 @@ jobs:
|
||||
patch_ref: "${{ github.base_ref }}" # this is the target branch name, Ex: "main"
|
||||
patch_repo: "grafana/grafana-security-patches"
|
||||
patch_prefix: "${{ github.event.pull_request.number }}"
|
||||
secrets: inherit
|
||||
|
||||
secrets: inherit # zizmor: ignore[secrets-inherit]
|
||||
|
||||
68
.github/workflows/dashboards-issue-add-label.yml
vendored
68
.github/workflows/dashboards-issue-add-label.yml
vendored
@@ -3,42 +3,49 @@ on:
|
||||
issues:
|
||||
types: [opened, closed, edited, reopened, assigned, unassigned, labeled, unlabeled]
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
id-token: write
|
||||
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.ISSUE_COMMANDS_TOKEN }}
|
||||
ORGANIZATION: ${{ github.repository_owner }}
|
||||
REPO: ${{ github.event.repository.name }}
|
||||
TARGET_PROJECT: 202
|
||||
LABEL_IDs: "LA_kwDOAOaWjc8AAAABT38U-A"
|
||||
LABEL_IDS: "LA_kwDOAOaWjc8AAAABT38U-A"
|
||||
|
||||
concurrency:
|
||||
group: issue-label-when-in-project-${{ github.event.number }}
|
||||
jobs:
|
||||
config:
|
||||
runs-on: "ubuntu-latest"
|
||||
outputs:
|
||||
has-secrets: ${{ steps.check.outputs.has-secrets }}
|
||||
steps:
|
||||
- name: "Check for secrets"
|
||||
id: check
|
||||
shell: bash
|
||||
run: |
|
||||
if [ -n "${{ (secrets.ISSUE_COMMANDS_TOKEN != '') || '' }}" ]; then
|
||||
echo "has-secrets=1" >> "$GITHUB_OUTPUT"
|
||||
fi
|
||||
|
||||
main:
|
||||
needs: config
|
||||
if: needs.config.outputs.has-secrets
|
||||
if: github.repository == 'grafana/grafana'
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: log in
|
||||
run: gh api user -q .login
|
||||
- name: "Get vault secrets"
|
||||
id: vault-secrets
|
||||
uses: grafana/shared-workflows/actions/get-vault-secrets@main # zizmor: ignore[unpinned-uses]
|
||||
with:
|
||||
# Secrets placed in the ci/repo/grafana/grafana/plugins_platform_issue_commands_github_bot path in Vault
|
||||
repo_secrets: |
|
||||
GITHUB_APP_ID=grafana_pr_automation_app:app_id
|
||||
GITHUB_APP_PRIVATE_KEY=grafana_pr_automation_app:app_pem
|
||||
|
||||
- name: Generate token
|
||||
id: generate_token
|
||||
uses: actions/create-github-app-token@3ff1caaa28b64c9cc276ce0a02e2ff584f3900c5 # v2.0.2
|
||||
with:
|
||||
app-id: ${{ env.GITHUB_APP_ID }}
|
||||
private-key: ${{ env.GITHUB_APP_PRIVATE_KEY }}
|
||||
- name: Check if issue is in target project
|
||||
env:
|
||||
GH_TOKEN: ${{ steps.generate_token.outputs.token }}
|
||||
ISSUE_NUMBER: ${{ github.event.issue.number }}
|
||||
TARGET_PROJECT: ${{ env.TARGET_PROJECT }}
|
||||
run: |
|
||||
# shellcheck disable=SC2016 # we don't want the $s to be expanded
|
||||
gh api graphql -f query='
|
||||
query($org: String!, $repo: String!) {
|
||||
query($org: String!, $repo: String!, $issueNumber: Int!) {
|
||||
repository(name: $repo, owner: $org) {
|
||||
issue (number: ${{ github.event.issue.number }}) {
|
||||
issue (number: $issueNumber) {
|
||||
id
|
||||
projectItems(first:20) {
|
||||
nodes {
|
||||
@@ -49,20 +56,29 @@ jobs:
|
||||
}
|
||||
}
|
||||
}
|
||||
}' -f org=$ORGANIZATION -f repo=$REPO > projects_data.json
|
||||
}' -f org="$ORGANIZATION" -f repo="$REPO" -F issueNumber="$ISSUE_NUMBER" > projects_data.json
|
||||
|
||||
echo 'IN_TARGET_PROJ='$(jq '.data.repository.issue.projectItems.nodes[] | select(.project.number==${{ env.TARGET_PROJECT }}) | .project != null' projects_data.json) >> $GITHUB_ENV
|
||||
echo 'ITEM_ID='$(jq '.data.repository.issue.id' projects_data.json) >> $GITHUB_ENV
|
||||
{
|
||||
echo "IN_TARGET_PROJ=$(jq '.data.repository.issue.projectItems.nodes[] | select(.project.number=='"$TARGET_PROJECT"') | .project != null' projects_data.json)"
|
||||
echo "ITEM_ID=$(jq '.data.repository.issue.id' projects_data.json)"
|
||||
} >> "$GITHUB_ENV"
|
||||
- name: Set up label array
|
||||
if: env.IN_TARGET_PROJ
|
||||
env:
|
||||
LABEL_IDS: ${{ env.LABEL_IDS }}
|
||||
run: |
|
||||
IFS=',' read -ra LABEL_IDs <<< "${{ env.LABEL_IDs }}"
|
||||
# shellcheck disable=SC2153 # we define the variable on the line above in 'read'
|
||||
IFS=',' read -ra LABEL_IDs <<< "$LABEL_IDS"
|
||||
for item in "${LABEL_IDs[@]}"; do
|
||||
echo "Item: $item"
|
||||
done
|
||||
- name: Add label to issue
|
||||
if: env.IN_TARGET_PROJ
|
||||
env:
|
||||
GH_TOKEN: ${{ steps.generate_token.outputs.token }}
|
||||
LABEL_IDS: ${{ env.LABEL_IDS }}
|
||||
run: |
|
||||
# shellcheck disable=SC2016 # we don't want the $s to be expanded
|
||||
gh api graphql -f query='
|
||||
mutation ($labelableId: ID!, $labelIds: [ID!]!) {
|
||||
addLabelsToLabelable(
|
||||
@@ -70,4 +86,4 @@ jobs:
|
||||
) {
|
||||
clientMutationId
|
||||
}
|
||||
}' -f labelableId=$ITEM_ID -f labelIds=${{ env.LABEL_IDs }}
|
||||
}' -f labelableId="$ITEM_ID" -f labelIds="$LABEL_IDS"
|
||||
|
||||
38
.github/workflows/deploy-pr-preview.yml
vendored
Normal file
38
.github/workflows/deploy-pr-preview.yml
vendored
Normal file
@@ -0,0 +1,38 @@
|
||||
name: Deploy pr preview
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
types:
|
||||
- opened
|
||||
- synchronize
|
||||
- closed
|
||||
paths:
|
||||
- "docs/sources/**"
|
||||
|
||||
permissions: {}
|
||||
|
||||
jobs:
|
||||
deploy-pr-preview:
|
||||
permissions:
|
||||
contents: read # Clone repositories.
|
||||
id-token: write # Fetch Vault secrets.
|
||||
pull-requests: write # Create or update PR comments.
|
||||
statuses: write # Update GitHub status check with deploy preview link.
|
||||
if: "!github.event.pull_request.head.repo.fork"
|
||||
uses: grafana/writers-toolkit/.github/workflows/deploy-preview.yml@main # zizmor: ignore[unpinned-uses]
|
||||
with:
|
||||
branch: ${{ github.head_ref }}
|
||||
event_number: ${{ github.event.number }}
|
||||
repo: grafana
|
||||
sha: ${{ github.event.pull_request.head.sha }}
|
||||
sources: |
|
||||
[
|
||||
{
|
||||
"index_file": "content/docs/grafana/_index.md",
|
||||
"relative_prefix": "/docs/grafana/latest/",
|
||||
"repo": "grafana",
|
||||
"source_directory": "docs/sources",
|
||||
"website_directory": "content/docs/grafana/latest"
|
||||
}
|
||||
]
|
||||
title: ${{ github.event.pull_request.title }}
|
||||
93
.github/workflows/deploy-storybook-preview.yml
vendored
Normal file
93
.github/workflows/deploy-storybook-preview.yml
vendored
Normal file
@@ -0,0 +1,93 @@
|
||||
name: Deploy Storybook preview
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
paths:
|
||||
- 'packages/grafana-ui/**'
|
||||
|
||||
concurrency:
|
||||
group: ${{ github.workflow }}-${{ github.ref }}
|
||||
cancel-in-progress: true
|
||||
|
||||
permissions: {}
|
||||
|
||||
jobs:
|
||||
deploy-storybook-preview:
|
||||
name: Deploy Storybook preview
|
||||
runs-on: ubuntu-latest
|
||||
# Don't run from forks for the moment. If we find this useful we can do the workflow_run dance
|
||||
# to make it work for forks.
|
||||
if: github.event.pull_request.head.repo.fork == false
|
||||
permissions:
|
||||
contents: read
|
||||
id-token: write
|
||||
|
||||
env:
|
||||
BUCKET_NAME: grafana-storybook-previews
|
||||
|
||||
steps:
|
||||
- name: Checkout code
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
persist-credentials: false
|
||||
|
||||
- name: Setup Node.js
|
||||
uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version-file: '.nvmrc'
|
||||
cache: 'yarn'
|
||||
|
||||
- name: Cache node_modules
|
||||
uses: actions/cache@v4
|
||||
with:
|
||||
path: |
|
||||
node_modules
|
||||
key: node_modules-${{ hashFiles('yarn.lock') }}
|
||||
restore-keys: |
|
||||
node_modules-
|
||||
|
||||
- name: Install dependencies
|
||||
env:
|
||||
# If the PR isn't from a fork then don't use the slower yarn checks
|
||||
YARN_ENABLE_HARDENED_MODE: ${{ github.event.pull_request.head.repo.fork == false && '1' || '0' }}
|
||||
run: yarn install --immutable
|
||||
|
||||
- name: Build storybook
|
||||
run: yarn storybook:build
|
||||
|
||||
# Create the GCS folder name for the preview. Creates a consistent name for all deploys for the PR.
|
||||
# Matches format of `pr_<PR_NUMBER>_<SANITIZED_BRANCH>`.
|
||||
# Where `SANITIZED_BRANCH` is the branch name with only alphanumeric and hyphens, limited to 30 characters.
|
||||
- name: Create deploy name
|
||||
id: create-deploy-name
|
||||
env:
|
||||
BRANCH_NAME: ${{ github.event.pull_request.head.ref }}
|
||||
PR_NUMBER: ${{ github.event.pull_request.number }}
|
||||
run: |
|
||||
# Convert branch name to only contain alphanumeric and hyphens
|
||||
SANITIZED_BRANCH=$(echo "$BRANCH_NAME" | tr -cs "[:alnum:]-" "-" | sed "s/^-//;s/-$//")
|
||||
|
||||
# Check if SANITIZED_BRANCH is empty and fail if it is
|
||||
if [ -z "$SANITIZED_BRANCH" ]; then
|
||||
echo "Error: Branch name resulted in empty string after sanitization"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "deploy-name=pr_${PR_NUMBER}_${SANITIZED_BRANCH:0:30}" >> "$GITHUB_OUTPUT"
|
||||
|
||||
- name: Upload Storybook
|
||||
uses: grafana/shared-workflows/actions/push-to-gcs@main
|
||||
with:
|
||||
environment: prod
|
||||
bucket: ${{ env.BUCKET_NAME }}
|
||||
bucket_path: ${{ steps.create-deploy-name.outputs.deploy-name }}
|
||||
path: packages/grafana-ui/dist/storybook
|
||||
service_account: github-gf-storybook-preview@grafanalabs-workload-identity.iam.gserviceaccount.com
|
||||
parent: false
|
||||
|
||||
- name: Write summary
|
||||
env:
|
||||
DEPLOY_NAME: ${{ steps.create-deploy-name.outputs.deploy-name }}
|
||||
run: |
|
||||
echo "## Storybook preview deployed! 🚀" >> $GITHUB_STEP_SUMMARY
|
||||
echo "Check it out at https://storage.googleapis.com/${BUCKET_NAME}/${DEPLOY_NAME}/index.html" >> $GITHUB_STEP_SUMMARY
|
||||
@@ -2,32 +2,45 @@
|
||||
---
|
||||
name: Levitate / Detect breaking changes in PR
|
||||
|
||||
concurrency:
|
||||
group: ${{ github.workflow }}-${{ github.ref }}
|
||||
cancel-in-progress: true
|
||||
|
||||
permissions: {}
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
paths:
|
||||
- 'packages/**'
|
||||
- '.nvmrc'
|
||||
- '.github/workflows/detect-breaking-changes-levitate.yml'
|
||||
branches:
|
||||
- 'main'
|
||||
|
||||
jobs:
|
||||
buildPR:
|
||||
name: Build PR
|
||||
name: Build PR packages artifacts
|
||||
runs-on: ubuntu-latest
|
||||
defaults:
|
||||
run:
|
||||
working-directory: './pr'
|
||||
permissions:
|
||||
contents: read
|
||||
id-token: write
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
path: './pr'
|
||||
persist-credentials: false
|
||||
|
||||
- uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: 20.9.0
|
||||
node-version-file: './pr/.nvmrc'
|
||||
|
||||
- name: Get yarn cache directory path
|
||||
id: yarn-cache-dir-path
|
||||
run: echo "dir=$(yarn config get cacheFolder)" >> $GITHUB_OUTPUT
|
||||
run: echo "dir=$(yarn config get cacheFolder)" >> "$GITHUB_OUTPUT"
|
||||
|
||||
- name: Restore yarn cache
|
||||
uses: actions/cache@v4
|
||||
@@ -57,8 +70,11 @@ jobs:
|
||||
path: './pr/pr_built_packages.zip'
|
||||
|
||||
buildBase:
|
||||
name: Build Base
|
||||
name: Build Base packages artifacts
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
contents: read
|
||||
id-token: write
|
||||
defaults:
|
||||
run:
|
||||
working-directory: './base'
|
||||
@@ -68,14 +84,15 @@ jobs:
|
||||
with:
|
||||
path: './base'
|
||||
ref: ${{ github.event.pull_request.base.ref }}
|
||||
persist-credentials: false
|
||||
|
||||
- uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: 20.9.0
|
||||
node-version-file: './base/.nvmrc'
|
||||
|
||||
- name: Get yarn cache directory path
|
||||
id: yarn-cache-dir-path
|
||||
run: echo "dir=$(yarn config get cacheFolder)" >> $GITHUB_OUTPUT
|
||||
run: echo "dir=$(yarn config get cacheFolder)" >> "$GITHUB_OUTPUT"
|
||||
|
||||
- name: Restore yarn cache
|
||||
uses: actions/cache@v4
|
||||
@@ -105,17 +122,23 @@ jobs:
|
||||
path: './base/base_built_packages.zip'
|
||||
|
||||
Detect:
|
||||
name: Detect breaking changes
|
||||
name: Detect breaking changes between PR and base
|
||||
runs-on: ubuntu-latest
|
||||
needs: ['buildPR', 'buildBase']
|
||||
env:
|
||||
GITHUB_STEP_NUMBER: 8
|
||||
permissions:
|
||||
contents: 'read'
|
||||
id-token: 'write'
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
persist-credentials: false
|
||||
|
||||
- uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: 20.9.0
|
||||
node-version-file: '.nvmrc'
|
||||
|
||||
- name: Get built packages from pr
|
||||
uses: actions/download-artifact@v4
|
||||
@@ -133,26 +156,37 @@ jobs:
|
||||
- name: Unzip artifact from base
|
||||
run: unzip -j base_built_packages.zip -d ./base && rm base_built_packages.zip
|
||||
|
||||
- name: Get link for the Github Action job
|
||||
id: job
|
||||
uses: actions/github-script@v6
|
||||
- id: 'auth'
|
||||
uses: 'google-github-actions/auth@6fc4af4b145ae7821d527454aa9bd537d1f2dc5f'
|
||||
if: github.event.pull_request.head.repo.full_name == github.repository
|
||||
with:
|
||||
script: |
|
||||
const name = 'Detect breaking changes';
|
||||
const script = require('./.github/workflows/scripts/pr-get-job-link.js')
|
||||
await script({name, github, context, core})
|
||||
workload_identity_provider: projects/304398677251/locations/global/workloadIdentityPools/github/providers/github-provider
|
||||
service_account: github-plugins-data-levitate@grafanalabs-workload-identity.iam.gserviceaccount.com
|
||||
project_id: 'grafanalabs-global'
|
||||
|
||||
- name: 'Set up Cloud SDK'
|
||||
uses: 'google-github-actions/setup-gcloud@6189d56e4096ee891640bb02ac264be376592d6a'
|
||||
if: github.event.pull_request.head.repo.full_name == github.repository
|
||||
with:
|
||||
version: '>= 363.0.0'
|
||||
project_id: 'grafanalabs-global'
|
||||
install_components: 'bq'
|
||||
|
||||
- name: Detect breaking changes
|
||||
id: breaking-changes
|
||||
run: ./scripts/check-breaking-changes.sh
|
||||
env:
|
||||
FORCE_COLOR: 3
|
||||
GITHUB_JOB_LINK: ${{ steps.job.outputs.link }}
|
||||
IS_FORK: ${{ github.event.pull_request.head.repo.full_name != github.repository }} # used in check-breaking-changes.sh and levitate-parse-json-report.js
|
||||
|
||||
- name: Persisting the check output
|
||||
run: |
|
||||
mkdir -p ./levitate
|
||||
echo "{ \"exit_code\": ${{ steps.breaking-changes.outputs.is_breaking }}, \"message\": \"${{ steps.breaking-changes.outputs.message }}\", \"job_link\": \"${{ steps.job.outputs.link }}#step:${GITHUB_STEP_NUMBER}:1\", \"pr_number\": \"${{ github.event.pull_request.number }}\" }" > ./levitate/result.json
|
||||
echo "{ \"exit_code\": ${IS_BREAKING}, \"message\": \"${MESSAGE}\", \"pr_number\": \"${PR_NUMBER}\" }" > ./levitate/result.json
|
||||
env:
|
||||
IS_BREAKING: ${{ steps.breaking-changes.outputs.is_breaking }}
|
||||
MESSAGE: ${{ steps.breaking-changes.outputs.message }}
|
||||
PR_NUMBER: ${{ github.event.pull_request.number }}
|
||||
|
||||
- name: Upload check output as artifact
|
||||
uses: actions/upload-artifact@v4
|
||||
@@ -162,19 +196,33 @@ jobs:
|
||||
|
||||
|
||||
Report:
|
||||
name: Report breaking changes in PR
|
||||
name: Report breaking changes in PR comment
|
||||
runs-on: ubuntu-latest
|
||||
needs: ['Detect']
|
||||
permissions:
|
||||
contents: read
|
||||
id-token: write
|
||||
if: github.event.pull_request.head.repo.full_name == github.repository
|
||||
|
||||
steps:
|
||||
- name: "Generate token"
|
||||
id: generate_token
|
||||
uses: tibdex/github-app-token@b62528385c34dbc9f38e5f4225ac829252d1ea92
|
||||
- id: get-secrets
|
||||
uses: grafana/shared-workflows/actions/get-vault-secrets@28361cdb22223e5f1e34358c86c20908e7248760 # get-vault-secrets-v1.1.0
|
||||
with:
|
||||
app_id: ${{ secrets.GRAFANA_PR_AUTOMATION_APP_ID }}
|
||||
private_key: ${{ secrets.GRAFANA_PR_AUTOMATION_APP_PEM }}
|
||||
# Secrets placed in the ci/repo/grafana/grafana in vault
|
||||
repo_secrets: |
|
||||
GITHUB_APP_ID=grafana_pr_automation_app:app_id
|
||||
GITHUB_APP_PRIVATE_KEY=grafana_pr_automation_app:app_pem
|
||||
|
||||
- name: Generate token
|
||||
id: generate_token
|
||||
uses: actions/create-github-app-token@3ff1caaa28b64c9cc276ce0a02e2ff584f3900c5 # v2.0.2
|
||||
with:
|
||||
app-id: ${{ env.GITHUB_APP_ID }}
|
||||
private-key: ${{ env.GITHUB_APP_PRIVATE_KEY }}
|
||||
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
persist-credentials: false
|
||||
|
||||
- name: 'Download artifact'
|
||||
uses: actions/download-artifact@v4
|
||||
@@ -182,7 +230,7 @@ jobs:
|
||||
name: levitate
|
||||
|
||||
- name: Parsing levitate result
|
||||
uses: actions/github-script@v6
|
||||
uses: actions/github-script@v7
|
||||
id: levitate-run
|
||||
with:
|
||||
script: |
|
||||
@@ -193,20 +241,17 @@ jobs:
|
||||
# Check if label exists
|
||||
- name: Check if "levitate breaking change" label exists
|
||||
id: does-label-exist
|
||||
uses: actions/github-script@v6
|
||||
uses: actions/github-script@v7
|
||||
env:
|
||||
PR_NUMBER: ${{ github.event.pull_request.number }}
|
||||
with:
|
||||
script: |
|
||||
const { data } = await github.rest.issues.listLabelsOnIssue({
|
||||
issue_number: process.env.PR_NUMBER,
|
||||
const { data: labels } = await github.rest.issues.listLabelsOnIssue({
|
||||
issue_number: context.issue.number,
|
||||
owner: context.repo.owner,
|
||||
repo: context.repo.repo,
|
||||
});
|
||||
const labels = data.map(({ name }) => name);
|
||||
const doesExist = labels.includes('levitate breaking change');
|
||||
|
||||
return doesExist ? 1 : 0;
|
||||
return labels.some(label => label.name === 'levitate breaking change') ? 1 : 0
|
||||
|
||||
# put the markdown into a variable
|
||||
- name: Levitate Markdown
|
||||
@@ -217,16 +262,16 @@ jobs:
|
||||
echo 'levitate_markdown<<EOF'
|
||||
cat levitate.md
|
||||
echo EOF
|
||||
} >> $GITHUB_OUTPUT
|
||||
} >> "$GITHUB_OUTPUT"
|
||||
else
|
||||
echo "levitate_markdown=No breaking changes detected" >> $GITHUB_OUTPUT
|
||||
echo "levitate_markdown=No breaking changes detected" >> "$GITHUB_OUTPUT"
|
||||
fi
|
||||
|
||||
|
||||
# Comment on the PR
|
||||
- name: Comment on PR
|
||||
if: steps.levitate-run.outputs.exit_code == 1
|
||||
uses: marocchino/sticky-pull-request-comment@v2
|
||||
uses: marocchino/sticky-pull-request-comment@52423e01640425a022ef5fd42c6fb5f633a02728
|
||||
with:
|
||||
header: levitate-breaking-change-comment
|
||||
number: ${{ github.event.pull_request.number }}
|
||||
@@ -236,41 +281,60 @@ jobs:
|
||||
${{ steps.levitate-markdown.outputs.levitate_markdown }}
|
||||
|
||||
[Read our guideline](https://github.com/grafana/grafana/blob/main/contribute/breaking-changes-guide/breaking-changes-guide.md)
|
||||
[Console output](${{ steps.levitate-run.outputs.job_link }})
|
||||
|
||||
* Your pull request merge won't be blocked.
|
||||
GITHUB_TOKEN: ${{ steps.generate_token.outputs.token }}
|
||||
|
||||
# Remove comment from the PR (no more breaking changes)
|
||||
- name: Remove comment from PR
|
||||
if: steps.levitate-run.outputs.exit_code == 0
|
||||
uses: marocchino/sticky-pull-request-comment@v2
|
||||
uses: marocchino/sticky-pull-request-comment@52423e01640425a022ef5fd42c6fb5f633a02728
|
||||
with:
|
||||
header: levitate-breaking-change-comment
|
||||
number: ${{ github.event.pull_request.number }}
|
||||
delete: true
|
||||
GITHUB_TOKEN: ${{ steps.generate_token.outputs.token }}
|
||||
|
||||
# Posts a notification to Slack if a PR has a breaking change and it did not have a breaking change before
|
||||
- name: Post to Slack
|
||||
- name: Send Slack Message via Payload
|
||||
id: slack
|
||||
if: steps.levitate-run.outputs.exit_code == 1 && steps.does-label-exist.outputs.result == 0 && env.HAS_SECRETS
|
||||
uses: slackapi/slack-github-action@v1.26.0
|
||||
if: steps.levitate-run.outputs.exit_code == 1 && steps.does-label-exist.outputs.result == 0 && github.repository == 'grafana/grafana'
|
||||
uses: grafana/shared-workflows/actions/send-slack-message@7b628e7352c2dea057c565cc4fcd5564d5f396c0 #v1.0.0
|
||||
with:
|
||||
payload: |
|
||||
channel-id: "C031SLFH6G0"
|
||||
payload: |
|
||||
{
|
||||
"pr_link": "https://github.com/grafana/grafana/pull/${{ steps.levitate-run.outputs.pr_number }}",
|
||||
"pr_number": "${{ steps.levitate-run.outputs.pr_number }}",
|
||||
"job_link": "${{ steps.levitate-run.outputs.job_link }}",
|
||||
"reporting_job_link": "${{ github.event.workflow_run.html_url }}",
|
||||
"message": "${{ steps.levitate-run.outputs.message }}"
|
||||
"channel": "C031SLFH6G0",
|
||||
"text": ":warning: Possible breaking changes detected in *PR:* <${{ github.event.pull_request.html_url }}|#${{ github.event.pull_request.number }} :warning:",
|
||||
"icon_emoji": ":grot:",
|
||||
"username": "Levitate Bot",
|
||||
"blocks": [
|
||||
{
|
||||
"type": "section",
|
||||
"text": {
|
||||
"type": "mrkdwn",
|
||||
"text": "*grafana/grafana* repository has possible breaking changes"
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "section",
|
||||
"fields": [
|
||||
{
|
||||
"type": "mrkdwn",
|
||||
"text": "*PR:* <${{ github.event.pull_request.html_url }}|#${{ github.event.pull_request.number }}>\n\nAuthor: ${{ github.event.pull_request.user.login }}"
|
||||
},
|
||||
{
|
||||
"type": "mrkdwn",
|
||||
"text": "*Job:* <${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}|View Job>"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
env:
|
||||
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_LEVITATE_WEBHOOK_URL }}
|
||||
HAS_SECRETS: ${{ (github.repository == 'grafana/grafana' || secrets.SLACK_LEVITATE_WEBHOOK_URL != '') || '' }}
|
||||
|
||||
# Add the label
|
||||
- name: Add "levitate breaking change" label
|
||||
if: steps.levitate-run.outputs.exit_code == 1 && steps.does-label-exist.outputs.result == 0
|
||||
uses: actions/github-script@v6
|
||||
uses: actions/github-script@v7
|
||||
env:
|
||||
PR_NUMBER: ${{ steps.levitate-run.outputs.pr_number }}
|
||||
with:
|
||||
@@ -286,7 +350,7 @@ jobs:
|
||||
# Remove label (no more breaking changes)
|
||||
- name: Remove "levitate breaking change" label
|
||||
if: steps.levitate-run.outputs.exit_code == 0 && steps.does-label-exist.outputs.result == 1
|
||||
uses: actions/github-script@v6
|
||||
uses: actions/github-script@v7
|
||||
env:
|
||||
PR_NUMBER: ${{ steps.levitate-run.outputs.pr_number }}
|
||||
with:
|
||||
@@ -304,7 +368,7 @@ jobs:
|
||||
# Related issue: https://github.com/renovatebot/renovate/issues/1908
|
||||
- name: Add "grafana/plugins-platform-frontend" as a reviewer
|
||||
if: steps.levitate-run.outputs.exit_code == 1
|
||||
uses: actions/github-script@v6
|
||||
uses: actions/github-script@v7
|
||||
env:
|
||||
PR_NUMBER: ${{ steps.levitate-run.outputs.pr_number }}
|
||||
with:
|
||||
@@ -321,7 +385,7 @@ jobs:
|
||||
# Remove reviewers (no more breaking changes)
|
||||
- name: Remove "grafana/plugins-platform-frontend" from the list of reviewers
|
||||
if: steps.levitate-run.outputs.exit_code == 0
|
||||
uses: actions/github-script@v6
|
||||
uses: actions/github-script@v7
|
||||
env:
|
||||
PR_NUMBER: ${{ steps.levitate-run.outputs.pr_number }}
|
||||
with:
|
||||
@@ -336,5 +400,12 @@ jobs:
|
||||
});
|
||||
|
||||
- name: Exit
|
||||
run: exit ${{ steps.levitate-run.outputs.exit_code }}
|
||||
run: |
|
||||
if [ "${LV_EXIT_CODE}" -ne 0 ]; then
|
||||
echo "Breaking changes detected. Please check the levitate report in your pull request. This workflow won't block merging."
|
||||
fi
|
||||
|
||||
exit "${LV_EXIT_CODE}"
|
||||
shell: bash
|
||||
env:
|
||||
LV_EXIT_CODE: ${{ steps.levitate-run.outputs.exit_code }}
|
||||
|
||||
29
.github/workflows/doc-validator.yml
vendored
29
.github/workflows/doc-validator.yml
vendored
@@ -1,29 +0,0 @@
|
||||
name: "doc-validator"
|
||||
on:
|
||||
pull_request:
|
||||
paths: ["docs/sources/**"]
|
||||
workflow_dispatch:
|
||||
jobs:
|
||||
doc-validator:
|
||||
runs-on: "ubuntu-latest"
|
||||
container:
|
||||
image: "grafana/doc-validator:v5.0.0"
|
||||
steps:
|
||||
- name: "Checkout code"
|
||||
uses: "actions/checkout@v4"
|
||||
- name: "Run doc-validator tool"
|
||||
# Only run doc-validator on specific directories.
|
||||
run: >
|
||||
doc-validator
|
||||
'--include=^docs/sources/(?:alerting|fundamentals|getting-started|introduction|setup-grafana|upgrade-guide|whatsnew/whats-new-in-v(?:9|10))/.+\.md$'
|
||||
'--skip-checks=^(?:image.+|canonical-does-not-match-pretty-URL)$'
|
||||
./docs/sources
|
||||
/docs/grafana/latest
|
||||
| reviewdog
|
||||
-f=rdjsonl
|
||||
--fail-on-error
|
||||
--filter-mode=nofilter
|
||||
--name=doc-validator
|
||||
--reporter=github-pr-review
|
||||
env:
|
||||
REVIEWDOG_GITHUB_API_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user