mirror of https://github.com/vitessio/vitess.git
Compare commits
587 Commits
Author | SHA1 | Date |
---|---|---|
|
c8d71bcdf7 | |
|
de17a2da90 | |
|
c336ea3bea | |
|
8d90d26df8 | |
|
f27b909b3b | |
|
7dd3c6b550 | |
|
ee051c639d | |
|
44615b179a | |
|
b9fcdba600 | |
|
c91f253fe1 | |
|
6c5a048081 | |
|
b344301474 | |
|
aef22581eb | |
|
22f9190a34 | |
|
ecb1a54a9e | |
|
24d67c4dc6 | |
|
5b72bc2515 | |
|
dc64dfee94 | |
|
5b516a2bd0 | |
|
21df269ca9 | |
|
4665972c88 | |
|
51fc97722a | |
|
f9c10b9ef3 | |
|
f4a735b27f | |
|
f4c531d25a | |
|
e4a0f79838 | |
|
b9e2ed75ae | |
|
a830cb018e | |
|
1b1f69b4bd | |
|
95dd11c26b | |
|
29836cd3f4 | |
|
acadf2ee5d | |
|
abf1f77d4f | |
|
d0ce40c413 | |
|
9c5d552df1 | |
|
256ca78391 | |
|
9cafbd3b42 | |
|
a0433f3037 | |
|
69f5a2bd57 | |
|
a3854e5bf6 | |
|
3baf4bc095 | |
|
2df46c73ae | |
|
d9380c153a | |
|
4fbab4f077 | |
|
826d78d19a | |
|
c1cda2bdfd | |
|
683f74060f | |
|
5e314842d7 | |
|
5aefdb004f | |
|
efae039f06 | |
|
bd9e5d0f8a | |
|
d42936810a | |
|
887e4c4ff0 | |
|
33da09818c | |
|
c21afc0219 | |
|
42493fdef1 | |
|
d0034653fe | |
|
aa68b96c95 | |
|
fae2b51728 | |
|
28ceeeab7b | |
|
460fffe685 | |
|
d032bfcba0 | |
|
5078ca8c7e | |
|
c18dcbd2e1 | |
|
98c3f03d95 | |
|
6f2dd86f24 | |
|
fc54091d28 | |
|
8d2c08c312 | |
|
ad3574dd8f | |
|
f2b12a0485 | |
|
8bd3fbe708 | |
|
42317c0ecf | |
|
bf253ebc5c | |
|
2520f7f67b | |
|
108e10d436 | |
|
26700d5a11 | |
|
5ebc32f4bc | |
|
b11127027b | |
|
8d659aaf3f | |
|
aea03ede2d | |
|
91acd729aa | |
|
dedea93b7f | |
|
cec7812fc5 | |
|
fc93d4f6b9 | |
|
0344d8e6ae | |
|
330cf3aadd | |
|
5290b86d1b | |
|
3aef1b4bcd | |
|
f8d08a33ee | |
|
11409238b4 | |
|
b42c0df1ed | |
|
fcfa0c8c42 | |
|
9f6b87446e | |
|
86652300fe | |
|
55564ca78a | |
|
0e0f4da2fe | |
|
c3daef30d4 | |
|
d849b9fc1d | |
|
15c4e28d0e | |
|
516b85487d | |
|
e9a6589bea | |
|
d0176be34a | |
|
421aca015d | |
|
6c597f6f57 | |
|
b3d80b27c7 | |
|
d36d18300f | |
|
1bbbcda029 | |
|
03a9bfe104 | |
|
5601849931 | |
|
68242a621b | |
|
f0e9a2df17 | |
|
8dbe553c4e | |
|
4399cbc02c | |
|
3a33fddddc | |
|
e6aaec0ca7 | |
|
673e0d3e2d | |
|
a8c0d32db1 | |
|
9a8dbe035d | |
|
9e734f8cbe | |
|
d2a4a4b850 | |
|
be667369d7 | |
|
0df4e52cff | |
|
6cc722347d | |
|
2c92e85546 | |
|
b9fbe526fe | |
|
3b4d89f891 | |
|
0bf2eb1081 | |
|
567c0ddb70 | |
|
f36c87283c | |
|
282022b6b5 | |
|
cf5f9136c3 | |
|
6b88ff2a1e | |
|
8ee1f29e37 | |
|
9e66c21910 | |
|
4eb164e3dd | |
|
3aa689a819 | |
|
c13f7733b8 | |
|
ffac142428 | |
|
a5ff0175db | |
|
f37393ef0c | |
|
7736d86a1f | |
|
9c59a5d246 | |
|
eca792265a | |
|
6658d1ce4a | |
|
f8810bb131 | |
|
b0352bd57c | |
|
2d0306f37b | |
|
704bbb9cf2 | |
|
9f9d6ceb51 | |
|
a015953c75 | |
|
84a48703ff | |
|
a51badcdde | |
|
1de485518f | |
|
c7f3bdef02 | |
|
cac80fa413 | |
|
adee0bc569 | |
|
e84ceb408c | |
|
92b1e76ba0 | |
|
a294d7fb9b | |
|
9f40b39009 | |
|
f1fbe49e39 | |
|
9d7d084242 | |
|
6027300263 | |
|
18b1fba064 | |
|
0f35eb6193 | |
|
0a7efbf595 | |
|
4e897b6d7c | |
|
f2f27915ea | |
|
8f483787a5 | |
|
f9643b629c | |
|
7edf257ebe | |
|
8937eb3c67 | |
|
164ec9e264 | |
|
c42d13d9a2 | |
|
6e5203bd67 | |
|
da61396c83 | |
|
653cde0208 | |
|
cddf51722a | |
|
a54bb82030 | |
|
470671c6ba | |
|
5cb0f590c2 | |
|
ebb2b47be1 | |
|
5b15223579 | |
|
0e54bd6bae | |
|
ecedf4db9a | |
|
b0976c21e8 | |
|
c6ddadbdb0 | |
|
56806bd4fc | |
|
dc63684eef | |
|
85b8e595cd | |
|
7e24b085be | |
|
4a0513fc3a | |
|
dd5d4c85f9 | |
|
5aeb68e85a | |
|
987480d0a6 | |
|
c307c442f0 | |
|
8b925babab | |
|
31f3b0a1b0 | |
|
3f638eb55e | |
|
e339eb5d41 | |
|
eef0e475ae | |
|
bbba2127ce | |
|
f4bd45f436 | |
|
123e309bbe | |
|
ff80a37f2d | |
|
209d940ad9 | |
|
cedd0667d3 | |
|
0bf4276e32 | |
|
0515c0fe3c | |
|
76d80e0bcf | |
|
04835a0ac5 | |
|
f41ed903c3 | |
|
a3a52c02bf | |
|
99479bd791 | |
|
902e7a1eb8 | |
|
97d7cf4a2f | |
|
526665e090 | |
|
74d99497a2 | |
|
8be84705d5 | |
|
a1ff812cbb | |
|
c710c8141f | |
|
5d6b8fadf7 | |
|
66b4bf1ab5 | |
|
fa149c324f | |
|
3657ad2e25 | |
|
b3dac06cce | |
|
5f80483f09 | |
|
2952ac514a | |
|
1141d844de | |
|
ea9ea398f5 | |
|
41a8d1dd32 | |
|
0af627a4a0 | |
|
1582d5b7c8 | |
|
79dc8e3775 | |
|
9bd34a35f7 | |
|
2c10c9508e | |
|
7958251d68 | |
|
fb897e3c27 | |
|
f8bc9fa5d1 | |
|
37a78eba4b | |
|
b05df12741 | |
|
96f45350bb | |
|
b72683dfb4 | |
|
cfd4d29ce9 | |
|
965253a082 | |
|
e6b1b5dc21 | |
|
9ca2135931 | |
|
afdb26b527 | |
|
82d21e56ca | |
|
81ce29c91d | |
|
80707f7f60 | |
|
413b95328d | |
|
ef84b32ab6 | |
|
55909dc29d | |
|
a9192fd422 | |
|
0a6f982bca | |
|
db77d81d7c | |
|
c9c227db69 | |
|
22988df395 | |
|
2118bc35d4 | |
|
5c27b400a8 | |
|
83e2a4f5b1 | |
|
0c6ad63126 | |
|
c88ac785d6 | |
|
67d081a7a3 | |
|
f131dd6d31 | |
|
cf7fa682d1 | |
|
1c064271cc | |
|
70114ad687 | |
|
420342fddb | |
|
efa30d4f1a | |
|
624a7ea37c | |
|
000fbbe0f8 | |
|
057bcc9219 | |
|
f53fa5b062 | |
|
d4e0f91367 | |
|
01b3e02c2b | |
|
48dba174e6 | |
|
fa965623e2 | |
|
22cf8b6c9b | |
|
a10d34c5f0 | |
|
e697991b84 | |
|
c47f1bd6cb | |
|
b5ede71dab | |
|
fa54e1d261 | |
|
4f2cd1856b | |
|
cca7b7f9f1 | |
|
2b21fb47b6 | |
|
404a55a5c0 | |
|
4c27ea8caf | |
|
8fc98010e9 | |
|
b567098404 | |
|
4c9de0b96d | |
|
10a6916020 | |
|
1c56ca1435 | |
|
b50894f4a5 | |
|
e08d85c85b | |
|
3669569f65 | |
|
9bf33261ff | |
|
cf28afab4e | |
|
747c3089c8 | |
|
202065e9d8 | |
|
5d439cd82e | |
|
f880198a4c | |
|
b461dcdd13 | |
|
aebc4b82f9 | |
|
71b2cae69e | |
|
bd342dd7a1 | |
|
30c09f56be | |
|
3c4a4ceb99 | |
|
78c7470f54 | |
|
cb7d61a478 | |
|
92c25af2d6 | |
|
770dcf0914 | |
|
be677efe5f | |
|
f7ea3a3c03 | |
|
92fe3011a8 | |
|
10d36cbdbc | |
|
53396cdb1c | |
|
9c6c38007c | |
|
39a0ddde8f | |
|
fd1186c6a9 | |
|
19890cfb8e | |
|
c2f4dcf80a | |
|
8921bce64b | |
|
489fd05eda | |
|
de33a39a9d | |
|
44e46edf20 | |
|
5265e510f2 | |
|
8412fe81d4 | |
|
a6c2896efd | |
|
1df1dc8fb9 | |
|
43e6089d61 | |
|
f2827f9b90 | |
|
91dd79d38b | |
|
1d57f39e52 | |
|
55b6865b53 | |
|
99856a2c03 | |
|
5363f038ac | |
|
d1aa2f49f7 | |
|
aaee12a80f | |
|
9743929544 | |
|
b406e96a5b | |
|
bf2423fa6f | |
|
d6cd88c1df | |
|
a809fae6ee | |
|
a86d3d9dc7 | |
|
5a46da3228 | |
|
02c499384a | |
|
4370a480dd | |
|
78f633cd58 | |
|
9b57dafc88 | |
|
4687195766 | |
|
10ff5e372d | |
|
ff7c5adae3 | |
|
cd94eff7f2 | |
|
eaaa2063ef | |
|
71ccd6d7bd | |
|
b103492f4b | |
|
5468f5db7d | |
|
859632ff9f | |
|
8e905aaf74 | |
|
301c92c0c3 | |
|
72eb041781 | |
|
cbf146b5eb | |
|
e207a4460e | |
|
b0a5d6605b | |
|
0bcbe4c038 | |
|
db4fca3aa5 | |
|
9d8f3d5c21 | |
|
fd0ffeb17b | |
|
a9d6969b30 | |
|
ec29bdbebb | |
|
ac8bbc6586 | |
|
f3cafe81a2 | |
|
8fff0ea379 | |
|
54dfd6005b | |
|
9b0bbadd8b | |
|
13550182b8 | |
|
555f1d7bb4 | |
|
694b02c8ca | |
|
4bd822b5fe | |
|
8fe04c52e5 | |
|
aabf1c9b90 | |
|
b865d138ee | |
|
06def14056 | |
|
6d35e825ce | |
|
513a0671bd | |
|
6ac89989b6 | |
|
72d91bdae7 | |
|
1ce7550046 | |
|
68861b1311 | |
|
69e02247bd | |
|
549a8c483b | |
|
8ba7607230 | |
|
b1f6147601 | |
|
b36b228417 | |
|
b8b0383579 | |
|
a57ae939ec | |
|
76abae45fe | |
|
dce8d00446 | |
|
c25802da2a | |
|
9383943bde | |
|
30e1e40733 | |
|
837ddd4dc3 | |
|
524dec934f | |
|
bd02b458aa | |
|
83f2aab5ce | |
|
059d01aa9d | |
|
fa79c3fef8 | |
|
dd4ec2e3e2 | |
|
1355baef0a | |
|
e750d228a1 | |
|
9714713103 | |
|
4299951b53 | |
|
56b5c2a8a3 | |
|
c336557042 | |
|
66e71db9a0 | |
|
8652490010 | |
|
c48d76165e | |
|
998433c1aa | |
|
45192d2104 | |
|
69f2f8f330 | |
|
a3d400177f | |
|
44aa9d78fe | |
|
a0b85afa7f | |
|
083cdac42b | |
|
e39207b1f1 | |
|
e4dc8729ec | |
|
0d84a49ab6 | |
|
ac23e59722 | |
|
bad431deed | |
|
0fe256e2c8 | |
|
2c2b8a48ee | |
|
63dfb9e711 | |
|
9b71606c06 | |
|
91811154ac | |
|
f746c48810 | |
|
9a03317dcc | |
|
3cdda35489 | |
|
cb66920194 | |
|
250148ee79 | |
|
775ec983ba | |
|
747a61c143 | |
|
f9acb7722b | |
|
4675244082 | |
|
5ace629a06 | |
|
f7b9295199 | |
|
ab7b5169eb | |
|
2da38932e6 | |
|
1cb39b0d77 | |
|
551a5f7e28 | |
|
99d534bc62 | |
|
8c51043074 | |
|
f0c0a70d4e | |
|
10586218a7 | |
|
1ee4e97415 | |
|
9976b3747c | |
|
653b0aee04 | |
|
be663c2af7 | |
|
2b71d1b5f8 | |
|
68b25b30f2 | |
|
9422e32d10 | |
|
aad2e469ae | |
|
2f281de91c | |
|
a1830b37cc | |
|
0726ea6ad9 | |
|
16fa7a3641 | |
|
8648264f90 | |
|
1f23496f0f | |
|
69b381fe18 | |
|
96f4ac7562 | |
|
ebf321ef95 | |
|
0439d89f5b | |
|
145ff6b09e | |
|
072d1fadb6 | |
|
0b51839d66 | |
|
aa6f2fbd72 | |
|
9094b55b2a | |
|
c5d0eccd87 | |
|
fb79106214 | |
|
2c6e053e50 | |
|
626b16ff12 | |
|
d2815bfb23 | |
|
ea600c3d35 | |
|
7baa4f28e2 | |
|
216fd70be4 | |
|
9fdfdb962a | |
|
3499a77294 | |
|
c72bbdce9e | |
|
f6067e04de | |
|
d512393492 | |
|
04afd9a494 | |
|
4980d6f70b | |
|
221a663e3c | |
|
41984cc9e2 | |
|
11c619ea19 | |
|
4c248416b8 | |
|
8952b5af4e | |
|
0403d541c1 | |
|
57aed0d529 | |
|
655f7fa15b | |
|
8af57c0131 | |
|
2d1e96ac46 | |
|
0eb27b2843 | |
|
78f7db2cee | |
|
de16affb4d | |
|
aa69c7c3e3 | |
|
469bdcc53a | |
|
d9ab9f7a1c | |
|
f6ca94f013 | |
|
31b956b637 | |
|
9946ce8203 | |
|
e87457ee24 | |
|
a5759828ce | |
|
5b699d8e08 | |
|
7dc7e69962 | |
|
b45d7c91fa | |
|
3402f48cbe | |
|
77da76b1c7 | |
|
a9bab82ffb | |
|
9ed8ee2c1b | |
|
1e2f15b0e0 | |
|
fdf529e99d | |
|
1a4f2b9d6c | |
|
1b0a902b97 | |
|
ffaeba0c5f | |
|
9c9a893a5d | |
|
0beb273786 | |
|
690bb79db5 | |
|
d1220c453c | |
|
c21d1dee4a | |
|
4550640e08 | |
|
fa5a2c5c68 | |
|
6b3160537e | |
|
4e385ced9c | |
|
6ad9898793 | |
|
be0bca33f8 | |
|
11a655ca06 | |
|
b0b79813f2 | |
|
17607fa5e3 | |
|
f8128355d5 | |
|
dbf2c6ae13 | |
|
0f9a985f2f | |
|
2203cfb6cb | |
|
03b93a1e3b | |
|
c429d51eec | |
|
e598a879d9 | |
|
ba129c7d04 | |
|
0e22a3e397 | |
|
4522a0ad89 | |
|
d651a4214e | |
|
327142de4a | |
|
c5f0c03383 | |
|
6c6499c9ec | |
|
aba477f42a | |
|
a34e22c014 | |
|
b8ba593e76 | |
|
eadba7b842 | |
|
c1603c0c66 | |
|
830ab74fda | |
|
3360865a53 | |
|
e881b9f36d | |
|
a0f8cde905 | |
|
dc692fa98f | |
|
0fa7e58928 | |
|
da49d08771 | |
|
c30d5eec27 | |
|
7eaf23646a | |
|
4e89152485 | |
|
9414611fbf | |
|
19f9c95632 | |
|
45a806736a | |
|
7581a3f7fc | |
|
b3579b859c | |
|
8b37c52cac | |
|
fc72c1c382 | |
|
0d5aaf31e1 | |
|
a4269dde5d | |
|
f0062e6daf | |
|
d209847b47 | |
|
9d2e450fb4 | |
|
a7b903bb08 | |
|
d75272ce75 | |
|
0f015c9fc7 | |
|
f40e076b4e | |
|
2cef46e32d |
|
@ -0,0 +1,8 @@
|
|||
# CLOMonitor metadata file
|
||||
# This file must be located at the root of the repository
|
||||
|
||||
# Checks exemptions
|
||||
exemptions:
|
||||
- check: slack_presence # Check identifier (see https://github.com/cncf/clomonitor/blob/main/docs/checks.md#exemptions)
|
||||
reason: "This project has a separate Slack workspace that predates its donation to CNCF. A link to it is present in the README." # Justification of this exemption (mandatory, it will be displayed on the UI)
|
||||
|
|
@ -1,88 +1,92 @@
|
|||
* @deepthi
|
||||
bootstrap.sh @ajm188 @deepthi @frouioui @vmg
|
||||
go.mod @ajm188 @deepthi @harshit-gangal @mattlord @rohit-nayak-ps @systay @frouioui
|
||||
go.sum @ajm188 @deepthi @harshit-gangal @mattlord @rohit-nayak-ps @systay @frouioui
|
||||
/.github/ @deepthi @mattlord @rohit-nayak-ps @frouioui
|
||||
/.github/ISSUE_TEMPLATE/ @deepthi @frouioui @mattlord
|
||||
/.github/workflows/ @deepthi @frouioui @mattlord @rohit-nayak-ps
|
||||
/config/mycnf/ @deepthi @shlomi-noach @mattlord
|
||||
/doc/ @deepthi @frouioui @GuptaManan100
|
||||
/docker/ @deepthi @derekperkins @mattlord @GuptaManan100 @frouioui
|
||||
bootstrap.sh @frouioui
|
||||
go.mod @harshit-gangal @mattlord @rohit-nayak-ps @systay @frouioui
|
||||
go.sum @harshit-gangal @mattlord @rohit-nayak-ps @systay @frouioui
|
||||
/.github/ @mattlord @rohit-nayak-ps @frouioui
|
||||
/.github/ISSUE_TEMPLATE/ @frouioui @mattlord
|
||||
/.github/workflows/ @frouioui @mattlord @rohit-nayak-ps
|
||||
/config/mycnf/ @shlomi-noach @mattlord
|
||||
/doc/ @frouioui @GuptaManan100
|
||||
/docker/ @derekperkins @mattlord @GuptaManan100 @frouioui
|
||||
/examples/compose @shlomi-noach @GuptaManan100 @frouioui
|
||||
/examples/demo @mattlord @rohit-nayak-ps
|
||||
/examples/local @rohit-nayak-ps @frouioui @mattlord @GuptaManan100
|
||||
/examples/operator @GuptaManan100 @frouioui @mattlord
|
||||
/examples/region_sharding @deepthi @mattlord
|
||||
/examples/region_sharding @mattlord
|
||||
/java/ @harshit-gangal
|
||||
/go/cache @vmg
|
||||
/go/cmd @ajm188 @deepthi @mattlord
|
||||
/go/cmd/vtadmin @ajm188 @notfelineit
|
||||
/go/cmd/vtctldclient @ajm188 @mattlord
|
||||
/go/cmd @mattlord
|
||||
/go/cmd/vtadmin @notfelineit
|
||||
/go/cmd/vtctldclient @mattlord @notfelineit
|
||||
/go/cmd/vtctldclient/command/throttler.go @shlomi-noach @mattlord
|
||||
/go/cmd/vtctldclient/command/vreplication @mattlord @rohit-nayak-ps
|
||||
/go/internal/flag @ajm188 @rohit-nayak-ps
|
||||
/go/cmd/vtctldclient/command/vreplication @mattlord @rohit-nayak-ps @shlomi-noach @notfelineit
|
||||
/go/cmd/vtctldclient/command/backups.go @frouioui @mattlord
|
||||
/go/cmd/vtbackup @frouioui
|
||||
/go/internal/flag @rohit-nayak-ps
|
||||
/go/mysql @harshit-gangal @systay @mattlord
|
||||
/go/pools @deepthi @harshit-gangal
|
||||
/go/protoutil @ajm188 @deepthi @mattlord
|
||||
/go/sqltypes @harshit-gangal @shlomi-noach @vmg
|
||||
/go/pools @harshit-gangal
|
||||
/go/protoutil @mattlord
|
||||
/go/sqltypes @harshit-gangal @shlomi-noach
|
||||
/go/test/endtoend/onlineddl @rohit-nayak-ps @shlomi-noach
|
||||
/go/test/endtoend/messaging @mattlord @rohit-nayak-ps @derekperkins
|
||||
/go/test/endtoend/schemadiff @shlomi-noach @mattlord
|
||||
/go/test/endtoend/transaction @harshit-gangal @systay @frouioui @GuptaManan100
|
||||
/go/test/endtoend/*throttler* @shlomi-noach @mattlord @timvaillancourt
|
||||
/go/test/endtoend/vtgate @harshit-gangal @systay @frouioui
|
||||
/go/test/endtoend/vtorc @deepthi @shlomi-noach @GuptaManan100 @timvaillancourt
|
||||
/go/test/endtoend/vtorc @shlomi-noach @GuptaManan100 @timvaillancourt
|
||||
/go/tools/ @frouioui @systay
|
||||
/go/vt/dbconnpool @harshit-gangal @mattlord
|
||||
/go/vt/discovery @deepthi @frouioui
|
||||
/go/vt/discovery @frouioui
|
||||
/go/vt/discovery/*tablet_picker* @rohit-nayak-ps @mattlord
|
||||
/go/vt/mysqlctl @deepthi @mattlord
|
||||
/go/vt/proto @deepthi @harshit-gangal @mattlord
|
||||
/go/vt/proto/vtadmin @ajm188 @notfelineit
|
||||
/go/vt/mysqlctl @mattlord @frouioui
|
||||
/go/vt/proto @harshit-gangal @mattlord
|
||||
/go/vt/proto/vtadmin @notfelineit
|
||||
/go/vt/schema @mattlord @shlomi-noach
|
||||
/go/vt/servenv @deepthi @ajm188
|
||||
/go/vt/servenv @dbussink
|
||||
/go/vt/schemadiff @shlomi-noach @mattlord
|
||||
/go/vt/sqlparser @harshit-gangal @systay @GuptaManan100
|
||||
/go/vt/srvtopo @deepthi @mattlord
|
||||
/go/vt/srvtopo @mattlord
|
||||
/go/vt/sysvars @harshit-gangal @systay
|
||||
/go/vt/topo @deepthi @mattlord
|
||||
/go/vt/topotools @deepthi @mattlord
|
||||
/go/vt/topo @mattlord
|
||||
/go/vt/topotools @mattlord
|
||||
/go/vt/vitessdriver @harshit-gangal
|
||||
/go/vt/vtadmin @ajm188 @notfelineit @rohit-nayak-ps
|
||||
/go/vt/vtctl @ajm188 @deepthi @rohit-nayak-ps
|
||||
/go/vt/vtadmin @notfelineit @rohit-nayak-ps
|
||||
/go/vt/vtctl @rohit-nayak-ps
|
||||
/go/vt/vtctl/vtctl.go @notfelineit @rohit-nayak-ps
|
||||
/go/vt/vtctl/grpcvtctldclient @ajm188 @notfelineit @mattlord
|
||||
/go/vt/vtctl/grpcvtctldserver @ajm188 @notfelineit @mattlord
|
||||
/go/vt/vtctl/reparentutil @ajm188 @GuptaManan100 @deepthi
|
||||
/go/vt/vtctl/vtctldclient @ajm188 @notfelineit @mattlord
|
||||
/go/vt/vtctld @ajm188 @deepthi @notfelineit @rohit-nayak-ps @mattlord
|
||||
/go/vt/vterrors @harshit-gangal @systay
|
||||
/go/vt/vtctl/grpcvtctldclient @notfelineit @mattlord
|
||||
/go/vt/vtctl/grpcvtctldserver @notfelineit @mattlord
|
||||
/go/vt/vtctl/reparentutil @GuptaManan100
|
||||
/go/vt/vtctl/vtctldclient @notfelineit @mattlord
|
||||
/go/vt/vtctld @notfelineit @rohit-nayak-ps @mattlord
|
||||
/go/vt/vterrors @harshit-gangal @systay @frouioui
|
||||
/go/vt/vtexplain @systay @harshit-gangal
|
||||
/go/vt/vtgate @harshit-gangal @systay @frouioui @GuptaManan100
|
||||
/go/vt/vtgate/endtoend/*vstream* @rohit-nayak-ps @mattlord
|
||||
/go/vt/vtgate/endtoend/*vstream* @rohit-nayak-ps @mattlord @shlomi-noach @notfelineit
|
||||
/go/vt/vtgate/planbuilder @harshit-gangal @systay @frouioui @GuptaManan100 @arthurschreiber
|
||||
/go/vt/vtgate/*vstream* @rohit-nayak-ps @mattlord
|
||||
/go/vt/vtorc @deepthi @shlomi-noach @GuptaManan100 @timvaillancourt
|
||||
/go/vt/vtgate/*vstream* @rohit-nayak-ps @mattlord @shlomi-noach @notfelineit
|
||||
/go/vt/vtgate/evalengine @dbussink @systay
|
||||
/go/vt/vtorc @shlomi-noach @GuptaManan100 @timvaillancourt
|
||||
/go/vt/vttablet/*conn* @harshit-gangal @systay
|
||||
/go/vt/vttablet/endtoend @harshit-gangal @mattlord @rohit-nayak-ps @systay
|
||||
/go/vt/vttablet/grpc* @ajm188 @rohit-nayak-ps @shlomi-noach @harshit-gangal
|
||||
/go/vt/vttablet/onlineddl @mattlord @rohit-nayak-ps @shlomi-noach
|
||||
/go/vt/vttablet/grpc* @rohit-nayak-ps @shlomi-noach @harshit-gangal
|
||||
/go/vt/vttablet/onlineddl @mattlord @rohit-nayak-ps @shlomi-noach @notfelineit
|
||||
/go/vt/vttablet/queryservice @harshit-gangal @systay
|
||||
/go/vt/vttablet/tabletmanager @deepthi @GuptaManan100 @rohit-nayak-ps @shlomi-noach
|
||||
/go/vt/vttablet/tabletmanager @GuptaManan100 @rohit-nayak-ps @shlomi-noach
|
||||
/go/vt/vttablet/tabletmanager/rpc_backup.go @GuptaManan100 @rohit-nayak-ps @shlomi-noach @frouioui
|
||||
/go/vt/vttablet/tabletmanager/rpc_throttler.go @shlomi-noach @mattlord @timvaillancourt
|
||||
/go/vt/vttablet/tabletserver/throttle @shlomi-noach @mattlord @timvaillancourt
|
||||
/go/vt/vttablet/tabletmanager/vreplication @rohit-nayak-ps @mattlord
|
||||
/go/vt/vttablet/tabletmanager/vstreamer @rohit-nayak-ps @mattlord
|
||||
/go/vt/vttablet/tabletmanager/vreplication @rohit-nayak-ps @mattlord @shlomi-noach @notfelineit
|
||||
/go/vt/vttablet/tabletmanager/vdiff @rohit-nayak-ps @mattlord @shlomi-noach @notfelineit
|
||||
/go/vt/vttablet/tabletmanager/vstreamer @rohit-nayak-ps @mattlord @shlomi-noach @notfelineit
|
||||
/go/vt/vttablet/tabletserver* @harshit-gangal @systay @shlomi-noach @rohit-nayak-ps @timvaillancourt
|
||||
/go/vt/vttablet/tabletserver/messager @mattlord @rohit-nayak-ps @derekperkins
|
||||
/go/vt/vttablet/*tmclient* @ajm188 @GuptaManan100 @rohit-nayak-ps @shlomi-noach
|
||||
/go/vt/vttablet/*tmclient* @GuptaManan100 @rohit-nayak-ps @shlomi-noach
|
||||
/go/vt/vttablet/vexec @mattlord @rohit-nayak-ps @shlomi-noach
|
||||
/go/vt/wrangler @deepthi @mattlord @rohit-nayak-ps
|
||||
/go/vt/workflow @mattlord @rohit-nayak-ps
|
||||
/proto/ @deepthi @harshit-gangal
|
||||
/proto/vtadmin.proto @ajm188 @notfelineit @mattlord
|
||||
/proto/vtctldata.proto @ajm188 @notfelineit @mattlord
|
||||
/proto/vtctlservice.proto @ajm188 @notfelineit @mattlord
|
||||
/test/ @GuptaManan100 @frouioui @rohit-nayak-ps @deepthi @mattlord @harshit-gangal
|
||||
/go/vt/wrangler @mattlord @rohit-nayak-ps
|
||||
/go/vt/vtctl/workflow @mattlord @rohit-nayak-ps @shlomi-noach @notfelineit
|
||||
/proto/ @harshit-gangal
|
||||
/proto/vtadmin.proto @notfelineit @mattlord
|
||||
/proto/vtctldata.proto @notfelineit @mattlord
|
||||
/proto/vtctlservice.proto @notfelineit @mattlord
|
||||
/test/ @GuptaManan100 @frouioui @rohit-nayak-ps @mattlord @harshit-gangal
|
||||
/tools/ @frouioui @rohit-nayak-ps
|
||||
/web/vtadmin @ajm188 @notfelineit
|
||||
/web/vtadmin/src/proto @deepthi @harshit-gangal @mattlord
|
||||
/web/vtadmin @notfelineit
|
||||
/web/vtadmin/src/proto @harshit-gangal @mattlord @notfelineit
|
||||
|
|
|
@ -4,7 +4,9 @@ on:
|
|||
pull_request_target:
|
||||
types: [opened]
|
||||
|
||||
permissions: read-all
|
||||
permissions:
|
||||
pull-requests: write
|
||||
contents: read
|
||||
|
||||
env:
|
||||
GH_TOKEN: ${{ github.token }}
|
||||
|
@ -12,19 +14,25 @@ env:
|
|||
jobs:
|
||||
build:
|
||||
name: Assign Milestone
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
pull-requests: write
|
||||
runs-on: ubuntu-24.04
|
||||
|
||||
steps:
|
||||
- name: Checkout code
|
||||
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
|
||||
|
||||
- name: Set up Go
|
||||
uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 # v5.0.2
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
go-version-file: go.mod
|
||||
# We must explicitly checkout the base's SHA to avoid executing any code coming from
|
||||
# the PR's SHA - Which would be executed in the base branch's context.
|
||||
# This is really important to limit any sort of pwn requests.
|
||||
ref: ${{ github.base_ref }}
|
||||
persist-credentials: 'false'
|
||||
|
||||
- name: Assign Milestone
|
||||
run: |
|
||||
gh pr edit ${{ github.event.number }} --milestone "v$(sed -n 's/.*versionName.*\"\([[:digit:]\.]*\).*\"/\1/p' ./go/vt/servenv/version.go)"
|
||||
# Ensure the content we sed from version.go is sanitized and match the correct format
|
||||
VERSION=$(sed -n 's/.*versionName.*\"\([[:digit:]\.]*\).*\"/\1/p' ./go/vt/servenv/version.go)
|
||||
if [[ ! "$VERSION" =~ ^[0-9]+\.[0-9]+\.[0-9]+$ ]]; then
|
||||
echo "Invalid version format: $VERSION"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
gh pr edit ${{ github.event.number }} --milestone "v$VERSION"
|
||||
|
|
|
@ -9,14 +9,17 @@ permissions:
|
|||
jobs:
|
||||
auto_approve:
|
||||
name: Auto Approve Pull Request
|
||||
runs-on: ubuntu-latest
|
||||
runs-on: ubuntu-24.04
|
||||
|
||||
permissions:
|
||||
pull-requests: write # only given on local PRs, forks run with `read` access
|
||||
|
||||
steps:
|
||||
- name: Checkout code
|
||||
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
persist-credentials: 'false'
|
||||
|
||||
- name: Auto Approve Pull Request
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
|
|
@ -9,7 +9,7 @@ jobs:
|
|||
check_pull_request_labels:
|
||||
name: Check Pull Request labels
|
||||
timeout-minutes: 10
|
||||
runs-on: ubuntu-latest
|
||||
runs-on: ubuntu-24.04
|
||||
if: github.repository == 'vitessio/vitess'
|
||||
steps:
|
||||
- name: Release Notes label
|
||||
|
|
|
@ -6,7 +6,7 @@ permissions: read-all
|
|||
jobs:
|
||||
build:
|
||||
name: Check Make vtadmin_authz_testgen
|
||||
runs-on: ubuntu-latest
|
||||
runs-on: ubuntu-24.04
|
||||
steps:
|
||||
- name: Skip CI
|
||||
run: |
|
||||
|
@ -27,7 +27,9 @@ jobs:
|
|||
|
||||
- name: Check out code
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false'
|
||||
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
persist-credentials: 'false'
|
||||
|
||||
- name: Check for changes in relevant files
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false'
|
||||
|
@ -61,7 +63,7 @@ jobs:
|
|||
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.vtadmin_changes == 'true'
|
||||
run: |
|
||||
sudo apt-get update
|
||||
sudo apt-get install -y make unzip g++ etcd curl git wget
|
||||
sudo apt-get install -y make unzip g++ etcd-client etcd-server curl git wget
|
||||
sudo service etcd stop
|
||||
go mod download
|
||||
go install golang.org/x/tools/cmd/goimports@latest
|
||||
|
|
|
@ -6,7 +6,7 @@ permissions: read-all
|
|||
jobs:
|
||||
build:
|
||||
name: Check Make VTAdmin Web Proto
|
||||
runs-on: ubuntu-latest
|
||||
runs-on: ubuntu-24.04
|
||||
steps:
|
||||
- name: Skip CI
|
||||
run: |
|
||||
|
@ -27,7 +27,9 @@ jobs:
|
|||
|
||||
- name: Check out code
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false'
|
||||
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
persist-credentials: 'false'
|
||||
|
||||
- name: Check for changes in relevant files
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false'
|
||||
|
@ -59,7 +61,7 @@ jobs:
|
|||
uses: actions/setup-node@1e60f620b9541d16bece96c5465dc8ee9832be0b # v4.0.3
|
||||
with:
|
||||
# node-version should match package.json
|
||||
node-version: '20.12.2'
|
||||
node-version: '22.13.1'
|
||||
|
||||
- name: Install npm dependencies
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.proto_changes == 'true'
|
||||
|
|
|
@ -9,7 +9,7 @@ permissions: read-all
|
|||
|
||||
jobs:
|
||||
close_stale_pull_requests:
|
||||
runs-on: ubuntu-latest
|
||||
runs-on: ubuntu-24.04
|
||||
permissions:
|
||||
pull-requests: write
|
||||
|
||||
|
|
|
@ -15,8 +15,9 @@ env:
|
|||
|
||||
jobs:
|
||||
build:
|
||||
timeout-minutes: 60
|
||||
name: Run endtoend tests on Cluster (12)
|
||||
runs-on: ubuntu-latest
|
||||
runs-on: ubuntu-24.04
|
||||
|
||||
steps:
|
||||
- name: Skip CI
|
||||
|
@ -45,7 +46,9 @@ jobs:
|
|||
|
||||
- name: Check out code
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false'
|
||||
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
persist-credentials: 'false'
|
||||
|
||||
- name: Check for changes in relevant files
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false'
|
||||
|
@ -55,6 +58,7 @@ jobs:
|
|||
token: ''
|
||||
filters: |
|
||||
end_to_end:
|
||||
- 'test/config.json'
|
||||
- 'go/**/*.go'
|
||||
- 'go/vt/sidecardb/**/*.sql'
|
||||
- 'go/test/endtoend/onlineddl/vrepl_suite/**'
|
||||
|
@ -91,17 +95,27 @@ jobs:
|
|||
|
||||
- name: Get dependencies
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
|
||||
timeout-minutes: 10
|
||||
run: |
|
||||
|
||||
# Get key to latest MySQL repo
|
||||
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys A8D3785C
|
||||
# Setup MySQL 8.0
|
||||
wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.32-1_all.deb
|
||||
wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.33-1_all.deb
|
||||
echo mysql-apt-config mysql-apt-config/select-server select mysql-8.0 | sudo debconf-set-selections
|
||||
sudo DEBIAN_FRONTEND="noninteractive" dpkg -i mysql-apt-config*
|
||||
sudo apt-get -qq update
|
||||
|
||||
# We have to install this old version of libaio1 in case we end up testing with MySQL 5.7. See also:
|
||||
# https://bugs.launchpad.net/ubuntu/+source/libaio/+bug/2067501
|
||||
curl -L -O http://mirrors.kernel.org/ubuntu/pool/main/liba/libaio/libaio1_0.3.112-13build1_amd64.deb
|
||||
sudo dpkg -i libaio1_0.3.112-13build1_amd64.deb
|
||||
# libtinfo5 is also needed for older MySQL 5.7 builds.
|
||||
curl -L -O http://mirrors.kernel.org/ubuntu/pool/universe/n/ncurses/libtinfo5_6.3-2ubuntu0.1_amd64.deb
|
||||
sudo dpkg -i libtinfo5_6.3-2ubuntu0.1_amd64.deb
|
||||
|
||||
# Install everything else we need, and configure
|
||||
sudo apt-get -qq install -y mysql-server mysql-shell mysql-client make unzip g++ etcd curl git wget eatmydata xz-utils libncurses5
|
||||
sudo apt-get -qq install -y mysql-server mysql-shell mysql-client make unzip g++ etcd-client etcd-server curl git wget eatmydata xz-utils libncurses6
|
||||
|
||||
sudo service mysql stop
|
||||
sudo service etcd stop
|
||||
|
@ -135,6 +149,8 @@ jobs:
|
|||
|
||||
set -exo pipefail
|
||||
|
||||
# Some of these tests require specific locales to be installed.
|
||||
# See https://github.com/cncf/automation/commit/49f2ad7a791a62ff7d038002bbb2b1f074eed5d5
|
||||
# run the tests however you normally do, then produce a JUnit XML file
|
||||
eatmydata -- go run test.go -docker=false -follow -shard 12 | tee -a output.txt | go-junit-report -set-exit-code > report.xml
|
||||
|
||||
|
|
|
@ -15,8 +15,9 @@ env:
|
|||
|
||||
jobs:
|
||||
build:
|
||||
timeout-minutes: 60
|
||||
name: Run endtoend tests on Cluster (13)
|
||||
runs-on: ubuntu-latest
|
||||
runs-on: ubuntu-24.04
|
||||
|
||||
steps:
|
||||
- name: Skip CI
|
||||
|
@ -45,7 +46,9 @@ jobs:
|
|||
|
||||
- name: Check out code
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false'
|
||||
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
persist-credentials: 'false'
|
||||
|
||||
- name: Check for changes in relevant files
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false'
|
||||
|
@ -55,6 +58,7 @@ jobs:
|
|||
token: ''
|
||||
filters: |
|
||||
end_to_end:
|
||||
- 'test/config.json'
|
||||
- 'go/**/*.go'
|
||||
- 'go/vt/sidecardb/**/*.sql'
|
||||
- 'go/test/endtoend/onlineddl/vrepl_suite/**'
|
||||
|
@ -91,17 +95,27 @@ jobs:
|
|||
|
||||
- name: Get dependencies
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
|
||||
timeout-minutes: 10
|
||||
run: |
|
||||
|
||||
# Get key to latest MySQL repo
|
||||
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys A8D3785C
|
||||
# Setup MySQL 8.0
|
||||
wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.32-1_all.deb
|
||||
wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.33-1_all.deb
|
||||
echo mysql-apt-config mysql-apt-config/select-server select mysql-8.0 | sudo debconf-set-selections
|
||||
sudo DEBIAN_FRONTEND="noninteractive" dpkg -i mysql-apt-config*
|
||||
sudo apt-get -qq update
|
||||
|
||||
# We have to install this old version of libaio1 in case we end up testing with MySQL 5.7. See also:
|
||||
# https://bugs.launchpad.net/ubuntu/+source/libaio/+bug/2067501
|
||||
curl -L -O http://mirrors.kernel.org/ubuntu/pool/main/liba/libaio/libaio1_0.3.112-13build1_amd64.deb
|
||||
sudo dpkg -i libaio1_0.3.112-13build1_amd64.deb
|
||||
# libtinfo5 is also needed for older MySQL 5.7 builds.
|
||||
curl -L -O http://mirrors.kernel.org/ubuntu/pool/universe/n/ncurses/libtinfo5_6.3-2ubuntu0.1_amd64.deb
|
||||
sudo dpkg -i libtinfo5_6.3-2ubuntu0.1_amd64.deb
|
||||
|
||||
# Install everything else we need, and configure
|
||||
sudo apt-get -qq install -y mysql-server mysql-shell mysql-client make unzip g++ etcd curl git wget eatmydata xz-utils libncurses5
|
||||
sudo apt-get -qq install -y mysql-server mysql-shell mysql-client make unzip g++ etcd-client etcd-server curl git wget eatmydata xz-utils libncurses6
|
||||
|
||||
sudo service mysql stop
|
||||
sudo service etcd stop
|
||||
|
@ -135,6 +149,8 @@ jobs:
|
|||
|
||||
set -exo pipefail
|
||||
|
||||
# Some of these tests require specific locales to be installed.
|
||||
# See https://github.com/cncf/automation/commit/49f2ad7a791a62ff7d038002bbb2b1f074eed5d5
|
||||
# run the tests however you normally do, then produce a JUnit XML file
|
||||
eatmydata -- go run test.go -docker=false -follow -shard 13 | tee -a output.txt | go-junit-report -set-exit-code > report.xml
|
||||
|
||||
|
|
|
@ -15,8 +15,9 @@ env:
|
|||
|
||||
jobs:
|
||||
build:
|
||||
timeout-minutes: 60
|
||||
name: Run endtoend tests on Cluster (15)
|
||||
runs-on: ubuntu-latest
|
||||
runs-on: ubuntu-24.04
|
||||
|
||||
steps:
|
||||
- name: Skip CI
|
||||
|
@ -45,7 +46,9 @@ jobs:
|
|||
|
||||
- name: Check out code
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false'
|
||||
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
persist-credentials: 'false'
|
||||
|
||||
- name: Check for changes in relevant files
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false'
|
||||
|
@ -55,6 +58,7 @@ jobs:
|
|||
token: ''
|
||||
filters: |
|
||||
end_to_end:
|
||||
- 'test/config.json'
|
||||
- 'go/**/*.go'
|
||||
- 'go/vt/sidecardb/**/*.sql'
|
||||
- 'go/test/endtoend/onlineddl/vrepl_suite/**'
|
||||
|
@ -91,17 +95,27 @@ jobs:
|
|||
|
||||
- name: Get dependencies
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
|
||||
timeout-minutes: 10
|
||||
run: |
|
||||
|
||||
# Get key to latest MySQL repo
|
||||
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys A8D3785C
|
||||
# Setup MySQL 8.0
|
||||
wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.32-1_all.deb
|
||||
wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.33-1_all.deb
|
||||
echo mysql-apt-config mysql-apt-config/select-server select mysql-8.0 | sudo debconf-set-selections
|
||||
sudo DEBIAN_FRONTEND="noninteractive" dpkg -i mysql-apt-config*
|
||||
sudo apt-get -qq update
|
||||
|
||||
# We have to install this old version of libaio1 in case we end up testing with MySQL 5.7. See also:
|
||||
# https://bugs.launchpad.net/ubuntu/+source/libaio/+bug/2067501
|
||||
curl -L -O http://mirrors.kernel.org/ubuntu/pool/main/liba/libaio/libaio1_0.3.112-13build1_amd64.deb
|
||||
sudo dpkg -i libaio1_0.3.112-13build1_amd64.deb
|
||||
# libtinfo5 is also needed for older MySQL 5.7 builds.
|
||||
curl -L -O http://mirrors.kernel.org/ubuntu/pool/universe/n/ncurses/libtinfo5_6.3-2ubuntu0.1_amd64.deb
|
||||
sudo dpkg -i libtinfo5_6.3-2ubuntu0.1_amd64.deb
|
||||
|
||||
# Install everything else we need, and configure
|
||||
sudo apt-get -qq install -y mysql-server mysql-shell mysql-client make unzip g++ etcd curl git wget eatmydata xz-utils libncurses5
|
||||
sudo apt-get -qq install -y mysql-server mysql-shell mysql-client make unzip g++ etcd-client etcd-server curl git wget eatmydata xz-utils libncurses6
|
||||
|
||||
sudo service mysql stop
|
||||
sudo service etcd stop
|
||||
|
@ -135,6 +149,8 @@ jobs:
|
|||
|
||||
set -exo pipefail
|
||||
|
||||
# Some of these tests require specific locales to be installed.
|
||||
# See https://github.com/cncf/automation/commit/49f2ad7a791a62ff7d038002bbb2b1f074eed5d5
|
||||
# run the tests however you normally do, then produce a JUnit XML file
|
||||
eatmydata -- go run test.go -docker=false -follow -shard 15 | tee -a output.txt | go-junit-report -set-exit-code > report.xml
|
||||
|
||||
|
|
|
@ -15,8 +15,9 @@ env:
|
|||
|
||||
jobs:
|
||||
build:
|
||||
timeout-minutes: 60
|
||||
name: Run endtoend tests on Cluster (18)
|
||||
runs-on: ubuntu-latest
|
||||
runs-on: ubuntu-24.04
|
||||
|
||||
steps:
|
||||
- name: Skip CI
|
||||
|
@ -45,7 +46,9 @@ jobs:
|
|||
|
||||
- name: Check out code
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false'
|
||||
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
persist-credentials: 'false'
|
||||
|
||||
- name: Check for changes in relevant files
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false'
|
||||
|
@ -55,6 +58,7 @@ jobs:
|
|||
token: ''
|
||||
filters: |
|
||||
end_to_end:
|
||||
- 'test/config.json'
|
||||
- 'go/**/*.go'
|
||||
- 'go/vt/sidecardb/**/*.sql'
|
||||
- 'go/test/endtoend/onlineddl/vrepl_suite/**'
|
||||
|
@ -91,17 +95,27 @@ jobs:
|
|||
|
||||
- name: Get dependencies
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
|
||||
timeout-minutes: 10
|
||||
run: |
|
||||
|
||||
# Get key to latest MySQL repo
|
||||
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys A8D3785C
|
||||
# Setup MySQL 8.0
|
||||
wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.32-1_all.deb
|
||||
wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.33-1_all.deb
|
||||
echo mysql-apt-config mysql-apt-config/select-server select mysql-8.0 | sudo debconf-set-selections
|
||||
sudo DEBIAN_FRONTEND="noninteractive" dpkg -i mysql-apt-config*
|
||||
sudo apt-get -qq update
|
||||
|
||||
# We have to install this old version of libaio1 in case we end up testing with MySQL 5.7. See also:
|
||||
# https://bugs.launchpad.net/ubuntu/+source/libaio/+bug/2067501
|
||||
curl -L -O http://mirrors.kernel.org/ubuntu/pool/main/liba/libaio/libaio1_0.3.112-13build1_amd64.deb
|
||||
sudo dpkg -i libaio1_0.3.112-13build1_amd64.deb
|
||||
# libtinfo5 is also needed for older MySQL 5.7 builds.
|
||||
curl -L -O http://mirrors.kernel.org/ubuntu/pool/universe/n/ncurses/libtinfo5_6.3-2ubuntu0.1_amd64.deb
|
||||
sudo dpkg -i libtinfo5_6.3-2ubuntu0.1_amd64.deb
|
||||
|
||||
# Install everything else we need, and configure
|
||||
sudo apt-get -qq install -y mysql-server mysql-shell mysql-client make unzip g++ etcd curl git wget eatmydata xz-utils libncurses5
|
||||
sudo apt-get -qq install -y mysql-server mysql-shell mysql-client make unzip g++ etcd-client etcd-server curl git wget eatmydata xz-utils libncurses6
|
||||
|
||||
sudo service mysql stop
|
||||
sudo service etcd stop
|
||||
|
@ -140,6 +154,8 @@ jobs:
|
|||
|
||||
set -exo pipefail
|
||||
|
||||
# Some of these tests require specific locales to be installed.
|
||||
# See https://github.com/cncf/automation/commit/49f2ad7a791a62ff7d038002bbb2b1f074eed5d5
|
||||
# run the tests however you normally do, then produce a JUnit XML file
|
||||
eatmydata -- go run test.go -docker=false -follow -shard 18 | tee -a output.txt | go-junit-report -set-exit-code > report.xml
|
||||
|
||||
|
|
|
@ -15,8 +15,9 @@ env:
|
|||
|
||||
jobs:
|
||||
build:
|
||||
timeout-minutes: 60
|
||||
name: Run endtoend tests on Cluster (21)
|
||||
runs-on: ubuntu-latest
|
||||
runs-on: ubuntu-24.04
|
||||
|
||||
steps:
|
||||
- name: Skip CI
|
||||
|
@ -45,7 +46,9 @@ jobs:
|
|||
|
||||
- name: Check out code
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false'
|
||||
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
persist-credentials: 'false'
|
||||
|
||||
- name: Check for changes in relevant files
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false'
|
||||
|
@ -55,6 +58,7 @@ jobs:
|
|||
token: ''
|
||||
filters: |
|
||||
end_to_end:
|
||||
- 'test/config.json'
|
||||
- 'go/**/*.go'
|
||||
- 'go/vt/sidecardb/**/*.sql'
|
||||
- 'go/test/endtoend/onlineddl/vrepl_suite/**'
|
||||
|
@ -91,17 +95,27 @@ jobs:
|
|||
|
||||
- name: Get dependencies
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
|
||||
timeout-minutes: 10
|
||||
run: |
|
||||
|
||||
# Get key to latest MySQL repo
|
||||
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys A8D3785C
|
||||
# Setup MySQL 8.0
|
||||
wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.32-1_all.deb
|
||||
wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.33-1_all.deb
|
||||
echo mysql-apt-config mysql-apt-config/select-server select mysql-8.0 | sudo debconf-set-selections
|
||||
sudo DEBIAN_FRONTEND="noninteractive" dpkg -i mysql-apt-config*
|
||||
sudo apt-get -qq update
|
||||
|
||||
# We have to install this old version of libaio1 in case we end up testing with MySQL 5.7. See also:
|
||||
# https://bugs.launchpad.net/ubuntu/+source/libaio/+bug/2067501
|
||||
curl -L -O http://mirrors.kernel.org/ubuntu/pool/main/liba/libaio/libaio1_0.3.112-13build1_amd64.deb
|
||||
sudo dpkg -i libaio1_0.3.112-13build1_amd64.deb
|
||||
# libtinfo5 is also needed for older MySQL 5.7 builds.
|
||||
curl -L -O http://mirrors.kernel.org/ubuntu/pool/universe/n/ncurses/libtinfo5_6.3-2ubuntu0.1_amd64.deb
|
||||
sudo dpkg -i libtinfo5_6.3-2ubuntu0.1_amd64.deb
|
||||
|
||||
# Install everything else we need, and configure
|
||||
sudo apt-get -qq install -y mysql-server mysql-shell mysql-client make unzip g++ etcd curl git wget eatmydata xz-utils libncurses5
|
||||
sudo apt-get -qq install -y mysql-server mysql-shell mysql-client make unzip g++ etcd-client etcd-server curl git wget eatmydata xz-utils libncurses6
|
||||
|
||||
sudo service mysql stop
|
||||
sudo service etcd stop
|
||||
|
@ -112,6 +126,13 @@ jobs:
|
|||
# install JUnit report formatter
|
||||
go install github.com/vitessio/go-junit-report@HEAD
|
||||
|
||||
- name: Install Minio
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false'
|
||||
run: |
|
||||
wget https://dl.min.io/server/minio/release/linux-amd64/minio
|
||||
chmod +x minio
|
||||
mv minio /usr/local/bin
|
||||
|
||||
- name: Setup launchable dependencies
|
||||
if: steps.skip-workflow.outputs.is_draft == 'false' && steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true' && github.base_ref == 'main'
|
||||
run: |
|
||||
|
@ -135,6 +156,8 @@ jobs:
|
|||
|
||||
set -exo pipefail
|
||||
|
||||
# Some of these tests require specific locales to be installed.
|
||||
# See https://github.com/cncf/automation/commit/49f2ad7a791a62ff7d038002bbb2b1f074eed5d5
|
||||
# run the tests however you normally do, then produce a JUnit XML file
|
||||
eatmydata -- go run test.go -docker=false -follow -shard 21 | tee -a output.txt | go-junit-report -set-exit-code > report.xml
|
||||
|
||||
|
|
|
@ -15,8 +15,9 @@ env:
|
|||
|
||||
jobs:
|
||||
build:
|
||||
timeout-minutes: 60
|
||||
name: Run endtoend tests on Cluster (backup_pitr)
|
||||
runs-on: ubuntu-latest
|
||||
runs-on: ubuntu-24.04
|
||||
|
||||
steps:
|
||||
- name: Skip CI
|
||||
|
@ -45,7 +46,9 @@ jobs:
|
|||
|
||||
- name: Check out code
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false'
|
||||
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
persist-credentials: 'false'
|
||||
|
||||
- name: Check for changes in relevant files
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false'
|
||||
|
@ -55,6 +58,7 @@ jobs:
|
|||
token: ''
|
||||
filters: |
|
||||
end_to_end:
|
||||
- 'test/config.json'
|
||||
- 'go/**/*.go'
|
||||
- 'go/vt/sidecardb/**/*.sql'
|
||||
- 'go/test/endtoend/onlineddl/vrepl_suite/**'
|
||||
|
@ -91,17 +95,27 @@ jobs:
|
|||
|
||||
- name: Get dependencies
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
|
||||
timeout-minutes: 10
|
||||
run: |
|
||||
|
||||
# Get key to latest MySQL repo
|
||||
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys A8D3785C
|
||||
# Setup MySQL 8.0
|
||||
wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.32-1_all.deb
|
||||
wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.33-1_all.deb
|
||||
echo mysql-apt-config mysql-apt-config/select-server select mysql-8.0 | sudo debconf-set-selections
|
||||
sudo DEBIAN_FRONTEND="noninteractive" dpkg -i mysql-apt-config*
|
||||
sudo apt-get -qq update
|
||||
|
||||
# We have to install this old version of libaio1 in case we end up testing with MySQL 5.7. See also:
|
||||
# https://bugs.launchpad.net/ubuntu/+source/libaio/+bug/2067501
|
||||
curl -L -O http://mirrors.kernel.org/ubuntu/pool/main/liba/libaio/libaio1_0.3.112-13build1_amd64.deb
|
||||
sudo dpkg -i libaio1_0.3.112-13build1_amd64.deb
|
||||
# libtinfo5 is also needed for older MySQL 5.7 builds.
|
||||
curl -L -O http://mirrors.kernel.org/ubuntu/pool/universe/n/ncurses/libtinfo5_6.3-2ubuntu0.1_amd64.deb
|
||||
sudo dpkg -i libtinfo5_6.3-2ubuntu0.1_amd64.deb
|
||||
|
||||
# Install everything else we need, and configure
|
||||
sudo apt-get -qq install -y mysql-server mysql-shell mysql-client make unzip g++ etcd curl git wget eatmydata xz-utils libncurses5
|
||||
sudo apt-get -qq install -y mysql-server mysql-shell mysql-client make unzip g++ etcd-client etcd-server curl git wget eatmydata xz-utils libncurses6
|
||||
|
||||
sudo service mysql stop
|
||||
sudo service etcd stop
|
||||
|
@ -135,6 +149,8 @@ jobs:
|
|||
|
||||
set -exo pipefail
|
||||
|
||||
# Some of these tests require specific locales to be installed.
|
||||
# See https://github.com/cncf/automation/commit/49f2ad7a791a62ff7d038002bbb2b1f074eed5d5
|
||||
# run the tests however you normally do, then produce a JUnit XML file
|
||||
eatmydata -- go run test.go -docker=false -follow -shard backup_pitr | tee -a output.txt | go-junit-report -set-exit-code > report.xml
|
||||
|
||||
|
|
|
@ -15,8 +15,9 @@ env:
|
|||
|
||||
jobs:
|
||||
build:
|
||||
timeout-minutes: 60
|
||||
name: Run endtoend tests on Cluster (backup_pitr_mysqlshell)
|
||||
runs-on: ubuntu-latest
|
||||
runs-on: ubuntu-24.04
|
||||
|
||||
steps:
|
||||
- name: Skip CI
|
||||
|
@ -45,7 +46,9 @@ jobs:
|
|||
|
||||
- name: Check out code
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false'
|
||||
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
persist-credentials: 'false'
|
||||
|
||||
- name: Check for changes in relevant files
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false'
|
||||
|
@ -55,6 +58,7 @@ jobs:
|
|||
token: ''
|
||||
filters: |
|
||||
end_to_end:
|
||||
- 'test/config.json'
|
||||
- 'go/**/*.go'
|
||||
- 'go/vt/sidecardb/**/*.sql'
|
||||
- 'go/test/endtoend/onlineddl/vrepl_suite/**'
|
||||
|
@ -91,17 +95,27 @@ jobs:
|
|||
|
||||
- name: Get dependencies
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
|
||||
timeout-minutes: 10
|
||||
run: |
|
||||
|
||||
# Get key to latest MySQL repo
|
||||
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys A8D3785C
|
||||
# Setup MySQL 8.0
|
||||
wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.32-1_all.deb
|
||||
wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.33-1_all.deb
|
||||
echo mysql-apt-config mysql-apt-config/select-server select mysql-8.0 | sudo debconf-set-selections
|
||||
sudo DEBIAN_FRONTEND="noninteractive" dpkg -i mysql-apt-config*
|
||||
sudo apt-get -qq update
|
||||
|
||||
# We have to install this old version of libaio1 in case we end up testing with MySQL 5.7. See also:
|
||||
# https://bugs.launchpad.net/ubuntu/+source/libaio/+bug/2067501
|
||||
curl -L -O http://mirrors.kernel.org/ubuntu/pool/main/liba/libaio/libaio1_0.3.112-13build1_amd64.deb
|
||||
sudo dpkg -i libaio1_0.3.112-13build1_amd64.deb
|
||||
# libtinfo5 is also needed for older MySQL 5.7 builds.
|
||||
curl -L -O http://mirrors.kernel.org/ubuntu/pool/universe/n/ncurses/libtinfo5_6.3-2ubuntu0.1_amd64.deb
|
||||
sudo dpkg -i libtinfo5_6.3-2ubuntu0.1_amd64.deb
|
||||
|
||||
# Install everything else we need, and configure
|
||||
sudo apt-get -qq install -y mysql-server mysql-shell mysql-client make unzip g++ etcd curl git wget eatmydata xz-utils libncurses5
|
||||
sudo apt-get -qq install -y mysql-server mysql-shell mysql-client make unzip g++ etcd-client etcd-server curl git wget eatmydata xz-utils libncurses6
|
||||
|
||||
sudo service mysql stop
|
||||
sudo service etcd stop
|
||||
|
@ -135,6 +149,8 @@ jobs:
|
|||
|
||||
set -exo pipefail
|
||||
|
||||
# Some of these tests require specific locales to be installed.
|
||||
# See https://github.com/cncf/automation/commit/49f2ad7a791a62ff7d038002bbb2b1f074eed5d5
|
||||
# run the tests however you normally do, then produce a JUnit XML file
|
||||
eatmydata -- go run test.go -docker=false -follow -shard backup_pitr_mysqlshell | tee -a output.txt | go-junit-report -set-exit-code > report.xml
|
||||
|
||||
|
|
|
@ -15,8 +15,9 @@ env:
|
|||
|
||||
jobs:
|
||||
build:
|
||||
timeout-minutes: 60
|
||||
name: Run endtoend tests on Cluster (backup_pitr_xtrabackup)
|
||||
runs-on: ubuntu-latest
|
||||
runs-on: ubuntu-24.04
|
||||
|
||||
steps:
|
||||
- name: Skip CI
|
||||
|
@ -45,7 +46,9 @@ jobs:
|
|||
|
||||
- name: Check out code
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false'
|
||||
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
persist-credentials: 'false'
|
||||
|
||||
- name: Check for changes in relevant files
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false'
|
||||
|
@ -55,6 +58,7 @@ jobs:
|
|||
token: ''
|
||||
filters: |
|
||||
end_to_end:
|
||||
- 'test/config.json'
|
||||
- 'go/**/*.go'
|
||||
- 'go/vt/sidecardb/**/*.sql'
|
||||
- 'go/test/endtoend/onlineddl/vrepl_suite/**'
|
||||
|
@ -91,6 +95,7 @@ jobs:
|
|||
|
||||
- name: Get dependencies
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
|
||||
timeout-minutes: 10
|
||||
run: |
|
||||
|
||||
# Setup Percona Server for MySQL 8.0
|
||||
|
@ -102,7 +107,7 @@ jobs:
|
|||
sudo apt-get -qq update
|
||||
|
||||
# Install everything else we need, and configure
|
||||
sudo apt-get -qq install -y percona-server-server percona-server-client make unzip g++ etcd git wget eatmydata xz-utils libncurses5
|
||||
sudo apt-get -qq install -y percona-server-server percona-server-client make unzip g++ etcd-client etcd-server git wget eatmydata xz-utils libncurses6
|
||||
|
||||
sudo service mysql stop
|
||||
sudo service etcd stop
|
||||
|
@ -138,6 +143,8 @@ jobs:
|
|||
|
||||
set -exo pipefail
|
||||
|
||||
# Some of these tests require specific locales to be installed.
|
||||
# See https://github.com/cncf/automation/commit/49f2ad7a791a62ff7d038002bbb2b1f074eed5d5
|
||||
# run the tests however you normally do, then produce a JUnit XML file
|
||||
eatmydata -- go run test.go -docker=false -follow -shard backup_pitr_xtrabackup | tee -a output.txt | go-junit-report -set-exit-code > report.xml
|
||||
|
||||
|
|
|
@ -15,8 +15,9 @@ env:
|
|||
|
||||
jobs:
|
||||
build:
|
||||
timeout-minutes: 60
|
||||
name: Run endtoend tests on Cluster (ers_prs_newfeatures_heavy)
|
||||
runs-on: ubuntu-latest
|
||||
runs-on: ubuntu-24.04
|
||||
|
||||
steps:
|
||||
- name: Skip CI
|
||||
|
@ -45,7 +46,9 @@ jobs:
|
|||
|
||||
- name: Check out code
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false'
|
||||
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
persist-credentials: 'false'
|
||||
|
||||
- name: Check for changes in relevant files
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false'
|
||||
|
@ -55,6 +58,7 @@ jobs:
|
|||
token: ''
|
||||
filters: |
|
||||
end_to_end:
|
||||
- 'test/config.json'
|
||||
- 'go/**/*.go'
|
||||
- 'go/vt/sidecardb/**/*.sql'
|
||||
- 'go/test/endtoend/onlineddl/vrepl_suite/**'
|
||||
|
@ -91,17 +95,27 @@ jobs:
|
|||
|
||||
- name: Get dependencies
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
|
||||
timeout-minutes: 10
|
||||
run: |
|
||||
|
||||
# Get key to latest MySQL repo
|
||||
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys A8D3785C
|
||||
# Setup MySQL 8.0
|
||||
wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.32-1_all.deb
|
||||
wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.33-1_all.deb
|
||||
echo mysql-apt-config mysql-apt-config/select-server select mysql-8.0 | sudo debconf-set-selections
|
||||
sudo DEBIAN_FRONTEND="noninteractive" dpkg -i mysql-apt-config*
|
||||
sudo apt-get -qq update
|
||||
|
||||
# We have to install this old version of libaio1 in case we end up testing with MySQL 5.7. See also:
|
||||
# https://bugs.launchpad.net/ubuntu/+source/libaio/+bug/2067501
|
||||
curl -L -O http://mirrors.kernel.org/ubuntu/pool/main/liba/libaio/libaio1_0.3.112-13build1_amd64.deb
|
||||
sudo dpkg -i libaio1_0.3.112-13build1_amd64.deb
|
||||
# libtinfo5 is also needed for older MySQL 5.7 builds.
|
||||
curl -L -O http://mirrors.kernel.org/ubuntu/pool/universe/n/ncurses/libtinfo5_6.3-2ubuntu0.1_amd64.deb
|
||||
sudo dpkg -i libtinfo5_6.3-2ubuntu0.1_amd64.deb
|
||||
|
||||
# Install everything else we need, and configure
|
||||
sudo apt-get -qq install -y mysql-server mysql-shell mysql-client make unzip g++ etcd curl git wget eatmydata xz-utils libncurses5
|
||||
sudo apt-get -qq install -y mysql-server mysql-shell mysql-client make unzip g++ etcd-client etcd-server curl git wget eatmydata xz-utils libncurses6
|
||||
|
||||
sudo service mysql stop
|
||||
sudo service etcd stop
|
||||
|
@ -153,6 +167,8 @@ jobs:
|
|||
slow-query-log=OFF
|
||||
EOF
|
||||
|
||||
# Some of these tests require specific locales to be installed.
|
||||
# See https://github.com/cncf/automation/commit/49f2ad7a791a62ff7d038002bbb2b1f074eed5d5
|
||||
# run the tests however you normally do, then produce a JUnit XML file
|
||||
eatmydata -- go run test.go -docker=false -follow -shard ers_prs_newfeatures_heavy | tee -a output.txt | go-junit-report -set-exit-code > report.xml
|
||||
|
||||
|
|
|
@ -15,8 +15,9 @@ env:
|
|||
|
||||
jobs:
|
||||
build:
|
||||
timeout-minutes: 60
|
||||
name: Run endtoend tests on Cluster (mysql80)
|
||||
runs-on: ubuntu-latest
|
||||
runs-on: ubuntu-24.04
|
||||
|
||||
steps:
|
||||
- name: Skip CI
|
||||
|
@ -45,7 +46,9 @@ jobs:
|
|||
|
||||
- name: Check out code
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false'
|
||||
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
persist-credentials: 'false'
|
||||
|
||||
- name: Check for changes in relevant files
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false'
|
||||
|
@ -55,6 +58,7 @@ jobs:
|
|||
token: ''
|
||||
filters: |
|
||||
end_to_end:
|
||||
- 'test/config.json'
|
||||
- 'go/**/*.go'
|
||||
- 'go/vt/sidecardb/**/*.sql'
|
||||
- 'go/test/endtoend/onlineddl/vrepl_suite/**'
|
||||
|
@ -91,17 +95,27 @@ jobs:
|
|||
|
||||
- name: Get dependencies
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
|
||||
timeout-minutes: 10
|
||||
run: |
|
||||
|
||||
# Get key to latest MySQL repo
|
||||
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys A8D3785C
|
||||
# Setup MySQL 8.0
|
||||
wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.32-1_all.deb
|
||||
wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.33-1_all.deb
|
||||
echo mysql-apt-config mysql-apt-config/select-server select mysql-8.0 | sudo debconf-set-selections
|
||||
sudo DEBIAN_FRONTEND="noninteractive" dpkg -i mysql-apt-config*
|
||||
sudo apt-get -qq update
|
||||
|
||||
# We have to install this old version of libaio1 in case we end up testing with MySQL 5.7. See also:
|
||||
# https://bugs.launchpad.net/ubuntu/+source/libaio/+bug/2067501
|
||||
curl -L -O http://mirrors.kernel.org/ubuntu/pool/main/liba/libaio/libaio1_0.3.112-13build1_amd64.deb
|
||||
sudo dpkg -i libaio1_0.3.112-13build1_amd64.deb
|
||||
# libtinfo5 is also needed for older MySQL 5.7 builds.
|
||||
curl -L -O http://mirrors.kernel.org/ubuntu/pool/universe/n/ncurses/libtinfo5_6.3-2ubuntu0.1_amd64.deb
|
||||
sudo dpkg -i libtinfo5_6.3-2ubuntu0.1_amd64.deb
|
||||
|
||||
# Install everything else we need, and configure
|
||||
sudo apt-get -qq install -y mysql-server mysql-shell mysql-client make unzip g++ etcd curl git wget eatmydata xz-utils libncurses5
|
||||
sudo apt-get -qq install -y mysql-server mysql-shell mysql-client make unzip g++ etcd-client etcd-server curl git wget eatmydata xz-utils libncurses6
|
||||
|
||||
sudo service mysql stop
|
||||
sudo service etcd stop
|
||||
|
@ -135,6 +149,8 @@ jobs:
|
|||
|
||||
set -exo pipefail
|
||||
|
||||
# Some of these tests require specific locales to be installed.
|
||||
# See https://github.com/cncf/automation/commit/49f2ad7a791a62ff7d038002bbb2b1f074eed5d5
|
||||
# run the tests however you normally do, then produce a JUnit XML file
|
||||
eatmydata -- go run test.go -docker=false -follow -shard mysql80 | tee -a output.txt | go-junit-report -set-exit-code > report.xml
|
||||
|
||||
|
|
|
@ -15,8 +15,9 @@ env:
|
|||
|
||||
jobs:
|
||||
build:
|
||||
timeout-minutes: 60
|
||||
name: Run endtoend tests on Cluster (mysql_server_vault)
|
||||
runs-on: ubuntu-latest
|
||||
runs-on: ubuntu-24.04
|
||||
|
||||
steps:
|
||||
- name: Skip CI
|
||||
|
@ -45,7 +46,9 @@ jobs:
|
|||
|
||||
- name: Check out code
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false'
|
||||
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
persist-credentials: 'false'
|
||||
|
||||
- name: Check for changes in relevant files
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false'
|
||||
|
@ -55,6 +58,7 @@ jobs:
|
|||
token: ''
|
||||
filters: |
|
||||
end_to_end:
|
||||
- 'test/config.json'
|
||||
- 'go/**/*.go'
|
||||
- 'go/vt/sidecardb/**/*.sql'
|
||||
- 'go/test/endtoend/onlineddl/vrepl_suite/**'
|
||||
|
@ -91,17 +95,27 @@ jobs:
|
|||
|
||||
- name: Get dependencies
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
|
||||
timeout-minutes: 10
|
||||
run: |
|
||||
|
||||
# Get key to latest MySQL repo
|
||||
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys A8D3785C
|
||||
# Setup MySQL 8.0
|
||||
wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.32-1_all.deb
|
||||
wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.33-1_all.deb
|
||||
echo mysql-apt-config mysql-apt-config/select-server select mysql-8.0 | sudo debconf-set-selections
|
||||
sudo DEBIAN_FRONTEND="noninteractive" dpkg -i mysql-apt-config*
|
||||
sudo apt-get -qq update
|
||||
|
||||
# We have to install this old version of libaio1 in case we end up testing with MySQL 5.7. See also:
|
||||
# https://bugs.launchpad.net/ubuntu/+source/libaio/+bug/2067501
|
||||
curl -L -O http://mirrors.kernel.org/ubuntu/pool/main/liba/libaio/libaio1_0.3.112-13build1_amd64.deb
|
||||
sudo dpkg -i libaio1_0.3.112-13build1_amd64.deb
|
||||
# libtinfo5 is also needed for older MySQL 5.7 builds.
|
||||
curl -L -O http://mirrors.kernel.org/ubuntu/pool/universe/n/ncurses/libtinfo5_6.3-2ubuntu0.1_amd64.deb
|
||||
sudo dpkg -i libtinfo5_6.3-2ubuntu0.1_amd64.deb
|
||||
|
||||
# Install everything else we need, and configure
|
||||
sudo apt-get -qq install -y mysql-server mysql-shell mysql-client make unzip g++ etcd curl git wget eatmydata xz-utils libncurses5
|
||||
sudo apt-get -qq install -y mysql-server mysql-shell mysql-client make unzip g++ etcd-client etcd-server curl git wget eatmydata xz-utils libncurses6
|
||||
|
||||
sudo service mysql stop
|
||||
sudo service etcd stop
|
||||
|
@ -140,6 +154,8 @@ jobs:
|
|||
|
||||
set -exo pipefail
|
||||
|
||||
# Some of these tests require specific locales to be installed.
|
||||
# See https://github.com/cncf/automation/commit/49f2ad7a791a62ff7d038002bbb2b1f074eed5d5
|
||||
# run the tests however you normally do, then produce a JUnit XML file
|
||||
eatmydata -- go run test.go -docker=false -follow -shard mysql_server_vault | tee -a output.txt | go-junit-report -set-exit-code > report.xml
|
||||
|
||||
|
|
|
@ -15,8 +15,9 @@ env:
|
|||
|
||||
jobs:
|
||||
build:
|
||||
timeout-minutes: 60
|
||||
name: Run endtoend tests on Cluster (onlineddl_revert)
|
||||
runs-on: ubuntu-latest
|
||||
runs-on: ubuntu-24.04
|
||||
|
||||
steps:
|
||||
- name: Skip CI
|
||||
|
@ -45,7 +46,9 @@ jobs:
|
|||
|
||||
- name: Check out code
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false'
|
||||
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
persist-credentials: 'false'
|
||||
|
||||
- name: Check for changes in relevant files
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false'
|
||||
|
@ -55,6 +58,7 @@ jobs:
|
|||
token: ''
|
||||
filters: |
|
||||
end_to_end:
|
||||
- 'test/config.json'
|
||||
- 'go/**/*.go'
|
||||
- 'go/vt/sidecardb/**/*.sql'
|
||||
- 'go/test/endtoend/onlineddl/vrepl_suite/**'
|
||||
|
@ -92,17 +96,27 @@ jobs:
|
|||
|
||||
- name: Get dependencies
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
|
||||
timeout-minutes: 10
|
||||
run: |
|
||||
|
||||
# Get key to latest MySQL repo
|
||||
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys A8D3785C
|
||||
# Setup MySQL 8.0
|
||||
wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.32-1_all.deb
|
||||
wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.33-1_all.deb
|
||||
echo mysql-apt-config mysql-apt-config/select-server select mysql-8.0 | sudo debconf-set-selections
|
||||
sudo DEBIAN_FRONTEND="noninteractive" dpkg -i mysql-apt-config*
|
||||
sudo apt-get -qq update
|
||||
|
||||
# We have to install this old version of libaio1 in case we end up testing with MySQL 5.7. See also:
|
||||
# https://bugs.launchpad.net/ubuntu/+source/libaio/+bug/2067501
|
||||
curl -L -O http://mirrors.kernel.org/ubuntu/pool/main/liba/libaio/libaio1_0.3.112-13build1_amd64.deb
|
||||
sudo dpkg -i libaio1_0.3.112-13build1_amd64.deb
|
||||
# libtinfo5 is also needed for older MySQL 5.7 builds.
|
||||
curl -L -O http://mirrors.kernel.org/ubuntu/pool/universe/n/ncurses/libtinfo5_6.3-2ubuntu0.1_amd64.deb
|
||||
sudo dpkg -i libtinfo5_6.3-2ubuntu0.1_amd64.deb
|
||||
|
||||
# Install everything else we need, and configure
|
||||
sudo apt-get -qq install -y mysql-server mysql-shell mysql-client make unzip g++ etcd curl git wget eatmydata xz-utils libncurses5
|
||||
sudo apt-get -qq install -y mysql-server mysql-shell mysql-client make unzip g++ etcd-client etcd-server curl git wget eatmydata xz-utils libncurses6
|
||||
|
||||
sudo service mysql stop
|
||||
sudo service etcd stop
|
||||
|
@ -136,6 +150,8 @@ jobs:
|
|||
|
||||
set -exo pipefail
|
||||
|
||||
# Some of these tests require specific locales to be installed.
|
||||
# See https://github.com/cncf/automation/commit/49f2ad7a791a62ff7d038002bbb2b1f074eed5d5
|
||||
# run the tests however you normally do, then produce a JUnit XML file
|
||||
eatmydata -- go run test.go -docker=false -follow -shard onlineddl_revert | tee -a output.txt | go-junit-report -set-exit-code > report.xml
|
||||
|
||||
|
|
|
@ -15,8 +15,9 @@ env:
|
|||
|
||||
jobs:
|
||||
build:
|
||||
timeout-minutes: 60
|
||||
name: Run endtoend tests on Cluster (onlineddl_scheduler)
|
||||
runs-on: ubuntu-latest
|
||||
runs-on: ubuntu-24.04
|
||||
|
||||
steps:
|
||||
- name: Skip CI
|
||||
|
@ -45,7 +46,9 @@ jobs:
|
|||
|
||||
- name: Check out code
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false'
|
||||
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
persist-credentials: 'false'
|
||||
|
||||
- name: Check for changes in relevant files
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false'
|
||||
|
@ -55,6 +58,7 @@ jobs:
|
|||
token: ''
|
||||
filters: |
|
||||
end_to_end:
|
||||
- 'test/config.json'
|
||||
- 'go/**/*.go'
|
||||
- 'go/vt/sidecardb/**/*.sql'
|
||||
- 'go/test/endtoend/onlineddl/vrepl_suite/**'
|
||||
|
@ -92,17 +96,27 @@ jobs:
|
|||
|
||||
- name: Get dependencies
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
|
||||
timeout-minutes: 10
|
||||
run: |
|
||||
|
||||
# Get key to latest MySQL repo
|
||||
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys A8D3785C
|
||||
# Setup MySQL 8.0
|
||||
wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.32-1_all.deb
|
||||
wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.33-1_all.deb
|
||||
echo mysql-apt-config mysql-apt-config/select-server select mysql-8.0 | sudo debconf-set-selections
|
||||
sudo DEBIAN_FRONTEND="noninteractive" dpkg -i mysql-apt-config*
|
||||
sudo apt-get -qq update
|
||||
|
||||
# We have to install this old version of libaio1 in case we end up testing with MySQL 5.7. See also:
|
||||
# https://bugs.launchpad.net/ubuntu/+source/libaio/+bug/2067501
|
||||
curl -L -O http://mirrors.kernel.org/ubuntu/pool/main/liba/libaio/libaio1_0.3.112-13build1_amd64.deb
|
||||
sudo dpkg -i libaio1_0.3.112-13build1_amd64.deb
|
||||
# libtinfo5 is also needed for older MySQL 5.7 builds.
|
||||
curl -L -O http://mirrors.kernel.org/ubuntu/pool/universe/n/ncurses/libtinfo5_6.3-2ubuntu0.1_amd64.deb
|
||||
sudo dpkg -i libtinfo5_6.3-2ubuntu0.1_amd64.deb
|
||||
|
||||
# Install everything else we need, and configure
|
||||
sudo apt-get -qq install -y mysql-server mysql-shell mysql-client make unzip g++ etcd curl git wget eatmydata xz-utils libncurses5
|
||||
sudo apt-get -qq install -y mysql-server mysql-shell mysql-client make unzip g++ etcd-client etcd-server curl git wget eatmydata xz-utils libncurses6
|
||||
|
||||
sudo service mysql stop
|
||||
sudo service etcd stop
|
||||
|
@ -136,6 +150,8 @@ jobs:
|
|||
|
||||
set -exo pipefail
|
||||
|
||||
# Some of these tests require specific locales to be installed.
|
||||
# See https://github.com/cncf/automation/commit/49f2ad7a791a62ff7d038002bbb2b1f074eed5d5
|
||||
# run the tests however you normally do, then produce a JUnit XML file
|
||||
eatmydata -- go run test.go -docker=false -follow -shard onlineddl_scheduler | tee -a output.txt | go-junit-report -set-exit-code > report.xml
|
||||
|
||||
|
|
|
@ -15,8 +15,9 @@ env:
|
|||
|
||||
jobs:
|
||||
build:
|
||||
timeout-minutes: 60
|
||||
name: Run endtoend tests on Cluster (onlineddl_vrepl)
|
||||
runs-on: gh-hosted-runners-16cores-1
|
||||
runs-on: oracle-vm-16cpu-64gb-x86-64
|
||||
|
||||
steps:
|
||||
- name: Skip CI
|
||||
|
@ -45,7 +46,9 @@ jobs:
|
|||
|
||||
- name: Check out code
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false'
|
||||
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
persist-credentials: 'false'
|
||||
|
||||
- name: Check for changes in relevant files
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false'
|
||||
|
@ -55,6 +58,7 @@ jobs:
|
|||
token: ''
|
||||
filters: |
|
||||
end_to_end:
|
||||
- 'test/config.json'
|
||||
- 'go/**/*.go'
|
||||
- 'go/vt/sidecardb/**/*.sql'
|
||||
- 'go/test/endtoend/onlineddl/vrepl_suite/**'
|
||||
|
@ -92,17 +96,27 @@ jobs:
|
|||
|
||||
- name: Get dependencies
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
|
||||
timeout-minutes: 10
|
||||
run: |
|
||||
|
||||
# Get key to latest MySQL repo
|
||||
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys A8D3785C
|
||||
# Setup MySQL 8.0
|
||||
wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.32-1_all.deb
|
||||
wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.33-1_all.deb
|
||||
echo mysql-apt-config mysql-apt-config/select-server select mysql-8.0 | sudo debconf-set-selections
|
||||
sudo DEBIAN_FRONTEND="noninteractive" dpkg -i mysql-apt-config*
|
||||
sudo apt-get -qq update
|
||||
|
||||
# We have to install this old version of libaio1 in case we end up testing with MySQL 5.7. See also:
|
||||
# https://bugs.launchpad.net/ubuntu/+source/libaio/+bug/2067501
|
||||
curl -L -O http://mirrors.kernel.org/ubuntu/pool/main/liba/libaio/libaio1_0.3.112-13build1_amd64.deb
|
||||
sudo dpkg -i libaio1_0.3.112-13build1_amd64.deb
|
||||
# libtinfo5 is also needed for older MySQL 5.7 builds.
|
||||
curl -L -O http://mirrors.kernel.org/ubuntu/pool/universe/n/ncurses/libtinfo5_6.3-2ubuntu0.1_amd64.deb
|
||||
sudo dpkg -i libtinfo5_6.3-2ubuntu0.1_amd64.deb
|
||||
|
||||
# Install everything else we need, and configure
|
||||
sudo apt-get -qq install -y mysql-server mysql-shell mysql-client make unzip g++ etcd curl git wget eatmydata xz-utils libncurses5
|
||||
sudo apt-get -qq install -y mysql-server mysql-shell mysql-client make unzip g++ etcd-client etcd-server curl git wget eatmydata xz-utils libncurses6
|
||||
|
||||
sudo service mysql stop
|
||||
sudo service etcd stop
|
||||
|
@ -140,6 +154,12 @@ jobs:
|
|||
binlog-transaction-compression=ON
|
||||
EOF
|
||||
|
||||
cat <<-EOF>>./config/mycnf/mysql8026.cnf
|
||||
binlog-row-value-options=PARTIAL_JSON
|
||||
EOF
|
||||
|
||||
# Some of these tests require specific locales to be installed.
|
||||
# See https://github.com/cncf/automation/commit/49f2ad7a791a62ff7d038002bbb2b1f074eed5d5
|
||||
# run the tests however you normally do, then produce a JUnit XML file
|
||||
eatmydata -- go run test.go -docker=false -follow -shard onlineddl_vrepl | tee -a output.txt | go-junit-report -set-exit-code > report.xml
|
||||
|
||||
|
|
|
@ -15,8 +15,9 @@ env:
|
|||
|
||||
jobs:
|
||||
build:
|
||||
timeout-minutes: 60
|
||||
name: Run endtoend tests on Cluster (onlineddl_vrepl_stress)
|
||||
runs-on: gh-hosted-runners-16cores-1
|
||||
runs-on: oracle-vm-16cpu-64gb-x86-64
|
||||
|
||||
steps:
|
||||
- name: Skip CI
|
||||
|
@ -45,7 +46,9 @@ jobs:
|
|||
|
||||
- name: Check out code
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false'
|
||||
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
persist-credentials: 'false'
|
||||
|
||||
- name: Check for changes in relevant files
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false'
|
||||
|
@ -55,6 +58,7 @@ jobs:
|
|||
token: ''
|
||||
filters: |
|
||||
end_to_end:
|
||||
- 'test/config.json'
|
||||
- 'go/**/*.go'
|
||||
- 'go/vt/sidecardb/**/*.sql'
|
||||
- 'go/test/endtoend/onlineddl/vrepl_suite/**'
|
||||
|
@ -92,17 +96,27 @@ jobs:
|
|||
|
||||
- name: Get dependencies
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
|
||||
timeout-minutes: 10
|
||||
run: |
|
||||
|
||||
# Get key to latest MySQL repo
|
||||
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys A8D3785C
|
||||
# Setup MySQL 8.0
|
||||
wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.32-1_all.deb
|
||||
wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.33-1_all.deb
|
||||
echo mysql-apt-config mysql-apt-config/select-server select mysql-8.0 | sudo debconf-set-selections
|
||||
sudo DEBIAN_FRONTEND="noninteractive" dpkg -i mysql-apt-config*
|
||||
sudo apt-get -qq update
|
||||
|
||||
# We have to install this old version of libaio1 in case we end up testing with MySQL 5.7. See also:
|
||||
# https://bugs.launchpad.net/ubuntu/+source/libaio/+bug/2067501
|
||||
curl -L -O http://mirrors.kernel.org/ubuntu/pool/main/liba/libaio/libaio1_0.3.112-13build1_amd64.deb
|
||||
sudo dpkg -i libaio1_0.3.112-13build1_amd64.deb
|
||||
# libtinfo5 is also needed for older MySQL 5.7 builds.
|
||||
curl -L -O http://mirrors.kernel.org/ubuntu/pool/universe/n/ncurses/libtinfo5_6.3-2ubuntu0.1_amd64.deb
|
||||
sudo dpkg -i libtinfo5_6.3-2ubuntu0.1_amd64.deb
|
||||
|
||||
# Install everything else we need, and configure
|
||||
sudo apt-get -qq install -y mysql-server mysql-shell mysql-client make unzip g++ etcd curl git wget eatmydata xz-utils libncurses5
|
||||
sudo apt-get -qq install -y mysql-server mysql-shell mysql-client make unzip g++ etcd-client etcd-server curl git wget eatmydata xz-utils libncurses6
|
||||
|
||||
sudo service mysql stop
|
||||
sudo service etcd stop
|
||||
|
@ -140,6 +154,12 @@ jobs:
|
|||
binlog-transaction-compression=ON
|
||||
EOF
|
||||
|
||||
cat <<-EOF>>./config/mycnf/mysql8026.cnf
|
||||
binlog-row-value-options=PARTIAL_JSON
|
||||
EOF
|
||||
|
||||
# Some of these tests require specific locales to be installed.
|
||||
# See https://github.com/cncf/automation/commit/49f2ad7a791a62ff7d038002bbb2b1f074eed5d5
|
||||
# run the tests however you normally do, then produce a JUnit XML file
|
||||
eatmydata -- go run test.go -docker=false -follow -shard onlineddl_vrepl_stress | tee -a output.txt | go-junit-report -set-exit-code > report.xml
|
||||
|
||||
|
|
|
@ -15,8 +15,9 @@ env:
|
|||
|
||||
jobs:
|
||||
build:
|
||||
timeout-minutes: 60
|
||||
name: Run endtoend tests on Cluster (onlineddl_vrepl_stress_suite)
|
||||
runs-on: gh-hosted-runners-16cores-1
|
||||
runs-on: oracle-vm-16cpu-64gb-x86-64
|
||||
|
||||
steps:
|
||||
- name: Skip CI
|
||||
|
@ -45,7 +46,9 @@ jobs:
|
|||
|
||||
- name: Check out code
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false'
|
||||
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
persist-credentials: 'false'
|
||||
|
||||
- name: Check for changes in relevant files
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false'
|
||||
|
@ -55,6 +58,7 @@ jobs:
|
|||
token: ''
|
||||
filters: |
|
||||
end_to_end:
|
||||
- 'test/config.json'
|
||||
- 'go/**/*.go'
|
||||
- 'go/vt/sidecardb/**/*.sql'
|
||||
- 'go/test/endtoend/onlineddl/vrepl_suite/**'
|
||||
|
@ -92,17 +96,27 @@ jobs:
|
|||
|
||||
- name: Get dependencies
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
|
||||
timeout-minutes: 10
|
||||
run: |
|
||||
|
||||
# Get key to latest MySQL repo
|
||||
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys A8D3785C
|
||||
# Setup MySQL 8.0
|
||||
wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.32-1_all.deb
|
||||
wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.33-1_all.deb
|
||||
echo mysql-apt-config mysql-apt-config/select-server select mysql-8.0 | sudo debconf-set-selections
|
||||
sudo DEBIAN_FRONTEND="noninteractive" dpkg -i mysql-apt-config*
|
||||
sudo apt-get -qq update
|
||||
|
||||
# We have to install this old version of libaio1 in case we end up testing with MySQL 5.7. See also:
|
||||
# https://bugs.launchpad.net/ubuntu/+source/libaio/+bug/2067501
|
||||
curl -L -O http://mirrors.kernel.org/ubuntu/pool/main/liba/libaio/libaio1_0.3.112-13build1_amd64.deb
|
||||
sudo dpkg -i libaio1_0.3.112-13build1_amd64.deb
|
||||
# libtinfo5 is also needed for older MySQL 5.7 builds.
|
||||
curl -L -O http://mirrors.kernel.org/ubuntu/pool/universe/n/ncurses/libtinfo5_6.3-2ubuntu0.1_amd64.deb
|
||||
sudo dpkg -i libtinfo5_6.3-2ubuntu0.1_amd64.deb
|
||||
|
||||
# Install everything else we need, and configure
|
||||
sudo apt-get -qq install -y mysql-server mysql-shell mysql-client make unzip g++ etcd curl git wget eatmydata xz-utils libncurses5
|
||||
sudo apt-get -qq install -y mysql-server mysql-shell mysql-client make unzip g++ etcd-client etcd-server curl git wget eatmydata xz-utils libncurses6
|
||||
|
||||
sudo service mysql stop
|
||||
sudo service etcd stop
|
||||
|
@ -140,6 +154,12 @@ jobs:
|
|||
binlog-transaction-compression=ON
|
||||
EOF
|
||||
|
||||
cat <<-EOF>>./config/mycnf/mysql8026.cnf
|
||||
binlog-row-value-options=PARTIAL_JSON
|
||||
EOF
|
||||
|
||||
# Some of these tests require specific locales to be installed.
|
||||
# See https://github.com/cncf/automation/commit/49f2ad7a791a62ff7d038002bbb2b1f074eed5d5
|
||||
# run the tests however you normally do, then produce a JUnit XML file
|
||||
eatmydata -- go run test.go -docker=false -follow -shard onlineddl_vrepl_stress_suite | tee -a output.txt | go-junit-report -set-exit-code > report.xml
|
||||
|
||||
|
|
|
@ -15,8 +15,9 @@ env:
|
|||
|
||||
jobs:
|
||||
build:
|
||||
timeout-minutes: 60
|
||||
name: Run endtoend tests on Cluster (onlineddl_vrepl_suite)
|
||||
runs-on: gh-hosted-runners-16cores-1
|
||||
runs-on: oracle-vm-16cpu-64gb-x86-64
|
||||
|
||||
steps:
|
||||
- name: Skip CI
|
||||
|
@ -45,7 +46,9 @@ jobs:
|
|||
|
||||
- name: Check out code
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false'
|
||||
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
persist-credentials: 'false'
|
||||
|
||||
- name: Check for changes in relevant files
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false'
|
||||
|
@ -55,6 +58,7 @@ jobs:
|
|||
token: ''
|
||||
filters: |
|
||||
end_to_end:
|
||||
- 'test/config.json'
|
||||
- 'go/**/*.go'
|
||||
- 'go/vt/sidecardb/**/*.sql'
|
||||
- 'go/test/endtoend/onlineddl/vrepl_suite/**'
|
||||
|
@ -92,17 +96,27 @@ jobs:
|
|||
|
||||
- name: Get dependencies
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
|
||||
timeout-minutes: 10
|
||||
run: |
|
||||
|
||||
# Get key to latest MySQL repo
|
||||
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys A8D3785C
|
||||
# Setup MySQL 8.0
|
||||
wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.32-1_all.deb
|
||||
wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.33-1_all.deb
|
||||
echo mysql-apt-config mysql-apt-config/select-server select mysql-8.0 | sudo debconf-set-selections
|
||||
sudo DEBIAN_FRONTEND="noninteractive" dpkg -i mysql-apt-config*
|
||||
sudo apt-get -qq update
|
||||
|
||||
# We have to install this old version of libaio1 in case we end up testing with MySQL 5.7. See also:
|
||||
# https://bugs.launchpad.net/ubuntu/+source/libaio/+bug/2067501
|
||||
curl -L -O http://mirrors.kernel.org/ubuntu/pool/main/liba/libaio/libaio1_0.3.112-13build1_amd64.deb
|
||||
sudo dpkg -i libaio1_0.3.112-13build1_amd64.deb
|
||||
# libtinfo5 is also needed for older MySQL 5.7 builds.
|
||||
curl -L -O http://mirrors.kernel.org/ubuntu/pool/universe/n/ncurses/libtinfo5_6.3-2ubuntu0.1_amd64.deb
|
||||
sudo dpkg -i libtinfo5_6.3-2ubuntu0.1_amd64.deb
|
||||
|
||||
# Install everything else we need, and configure
|
||||
sudo apt-get -qq install -y mysql-server mysql-shell mysql-client make unzip g++ etcd curl git wget eatmydata xz-utils libncurses5
|
||||
sudo apt-get -qq install -y mysql-server mysql-shell mysql-client make unzip g++ etcd-client etcd-server curl git wget eatmydata xz-utils libncurses6
|
||||
|
||||
sudo service mysql stop
|
||||
sudo service etcd stop
|
||||
|
@ -140,6 +154,12 @@ jobs:
|
|||
binlog-transaction-compression=ON
|
||||
EOF
|
||||
|
||||
cat <<-EOF>>./config/mycnf/mysql8026.cnf
|
||||
binlog-row-value-options=PARTIAL_JSON
|
||||
EOF
|
||||
|
||||
# Some of these tests require specific locales to be installed.
|
||||
# See https://github.com/cncf/automation/commit/49f2ad7a791a62ff7d038002bbb2b1f074eed5d5
|
||||
# run the tests however you normally do, then produce a JUnit XML file
|
||||
eatmydata -- go run test.go -docker=false -follow -shard onlineddl_vrepl_suite | tee -a output.txt | go-junit-report -set-exit-code > report.xml
|
||||
|
||||
|
|
|
@ -15,8 +15,9 @@ env:
|
|||
|
||||
jobs:
|
||||
build:
|
||||
timeout-minutes: 60
|
||||
name: Run endtoend tests on Cluster (schemadiff_vrepl)
|
||||
runs-on: ubuntu-latest
|
||||
runs-on: ubuntu-24.04
|
||||
|
||||
steps:
|
||||
- name: Skip CI
|
||||
|
@ -45,7 +46,9 @@ jobs:
|
|||
|
||||
- name: Check out code
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false'
|
||||
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
persist-credentials: 'false'
|
||||
|
||||
- name: Check for changes in relevant files
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false'
|
||||
|
@ -55,6 +58,7 @@ jobs:
|
|||
token: ''
|
||||
filters: |
|
||||
end_to_end:
|
||||
- 'test/config.json'
|
||||
- 'go/**/*.go'
|
||||
- 'go/vt/sidecardb/**/*.sql'
|
||||
- 'go/test/endtoend/onlineddl/vrepl_suite/**'
|
||||
|
@ -92,17 +96,27 @@ jobs:
|
|||
|
||||
- name: Get dependencies
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
|
||||
timeout-minutes: 10
|
||||
run: |
|
||||
|
||||
# Get key to latest MySQL repo
|
||||
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys A8D3785C
|
||||
# Setup MySQL 8.0
|
||||
wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.32-1_all.deb
|
||||
wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.33-1_all.deb
|
||||
echo mysql-apt-config mysql-apt-config/select-server select mysql-8.0 | sudo debconf-set-selections
|
||||
sudo DEBIAN_FRONTEND="noninteractive" dpkg -i mysql-apt-config*
|
||||
sudo apt-get -qq update
|
||||
|
||||
# We have to install this old version of libaio1 in case we end up testing with MySQL 5.7. See also:
|
||||
# https://bugs.launchpad.net/ubuntu/+source/libaio/+bug/2067501
|
||||
curl -L -O http://mirrors.kernel.org/ubuntu/pool/main/liba/libaio/libaio1_0.3.112-13build1_amd64.deb
|
||||
sudo dpkg -i libaio1_0.3.112-13build1_amd64.deb
|
||||
# libtinfo5 is also needed for older MySQL 5.7 builds.
|
||||
curl -L -O http://mirrors.kernel.org/ubuntu/pool/universe/n/ncurses/libtinfo5_6.3-2ubuntu0.1_amd64.deb
|
||||
sudo dpkg -i libtinfo5_6.3-2ubuntu0.1_amd64.deb
|
||||
|
||||
# Install everything else we need, and configure
|
||||
sudo apt-get -qq install -y mysql-server mysql-shell mysql-client make unzip g++ etcd curl git wget eatmydata xz-utils libncurses5
|
||||
sudo apt-get -qq install -y mysql-server mysql-shell mysql-client make unzip g++ etcd-client etcd-server curl git wget eatmydata xz-utils libncurses6
|
||||
|
||||
sudo service mysql stop
|
||||
sudo service etcd stop
|
||||
|
@ -140,6 +154,12 @@ jobs:
|
|||
binlog-transaction-compression=ON
|
||||
EOF
|
||||
|
||||
cat <<-EOF>>./config/mycnf/mysql8026.cnf
|
||||
binlog-row-value-options=PARTIAL_JSON
|
||||
EOF
|
||||
|
||||
# Some of these tests require specific locales to be installed.
|
||||
# See https://github.com/cncf/automation/commit/49f2ad7a791a62ff7d038002bbb2b1f074eed5d5
|
||||
# run the tests however you normally do, then produce a JUnit XML file
|
||||
eatmydata -- go run test.go -docker=false -follow -shard schemadiff_vrepl | tee -a output.txt | go-junit-report -set-exit-code > report.xml
|
||||
|
||||
|
|
|
@ -15,8 +15,9 @@ env:
|
|||
|
||||
jobs:
|
||||
build:
|
||||
timeout-minutes: 60
|
||||
name: Run endtoend tests on Cluster (tabletmanager_consul)
|
||||
runs-on: ubuntu-latest
|
||||
runs-on: ubuntu-24.04
|
||||
|
||||
steps:
|
||||
- name: Skip CI
|
||||
|
@ -45,7 +46,9 @@ jobs:
|
|||
|
||||
- name: Check out code
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false'
|
||||
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
persist-credentials: 'false'
|
||||
|
||||
- name: Check for changes in relevant files
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false'
|
||||
|
@ -55,6 +58,7 @@ jobs:
|
|||
token: ''
|
||||
filters: |
|
||||
end_to_end:
|
||||
- 'test/config.json'
|
||||
- 'go/**/*.go'
|
||||
- 'go/vt/sidecardb/**/*.sql'
|
||||
- 'go/test/endtoend/onlineddl/vrepl_suite/**'
|
||||
|
@ -91,17 +95,27 @@ jobs:
|
|||
|
||||
- name: Get dependencies
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
|
||||
timeout-minutes: 10
|
||||
run: |
|
||||
|
||||
# Get key to latest MySQL repo
|
||||
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys A8D3785C
|
||||
# Setup MySQL 8.0
|
||||
wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.32-1_all.deb
|
||||
wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.33-1_all.deb
|
||||
echo mysql-apt-config mysql-apt-config/select-server select mysql-8.0 | sudo debconf-set-selections
|
||||
sudo DEBIAN_FRONTEND="noninteractive" dpkg -i mysql-apt-config*
|
||||
sudo apt-get -qq update
|
||||
|
||||
# We have to install this old version of libaio1 in case we end up testing with MySQL 5.7. See also:
|
||||
# https://bugs.launchpad.net/ubuntu/+source/libaio/+bug/2067501
|
||||
curl -L -O http://mirrors.kernel.org/ubuntu/pool/main/liba/libaio/libaio1_0.3.112-13build1_amd64.deb
|
||||
sudo dpkg -i libaio1_0.3.112-13build1_amd64.deb
|
||||
# libtinfo5 is also needed for older MySQL 5.7 builds.
|
||||
curl -L -O http://mirrors.kernel.org/ubuntu/pool/universe/n/ncurses/libtinfo5_6.3-2ubuntu0.1_amd64.deb
|
||||
sudo dpkg -i libtinfo5_6.3-2ubuntu0.1_amd64.deb
|
||||
|
||||
# Install everything else we need, and configure
|
||||
sudo apt-get -qq install -y mysql-server mysql-shell mysql-client make unzip g++ etcd curl git wget eatmydata xz-utils libncurses5
|
||||
sudo apt-get -qq install -y mysql-server mysql-shell mysql-client make unzip g++ etcd-client etcd-server curl git wget eatmydata xz-utils libncurses6
|
||||
|
||||
sudo service mysql stop
|
||||
sudo service etcd stop
|
||||
|
@ -140,6 +154,8 @@ jobs:
|
|||
|
||||
set -exo pipefail
|
||||
|
||||
# Some of these tests require specific locales to be installed.
|
||||
# See https://github.com/cncf/automation/commit/49f2ad7a791a62ff7d038002bbb2b1f074eed5d5
|
||||
# run the tests however you normally do, then produce a JUnit XML file
|
||||
eatmydata -- go run test.go -docker=false -follow -shard tabletmanager_consul | tee -a output.txt | go-junit-report -set-exit-code > report.xml
|
||||
|
||||
|
|
|
@ -15,8 +15,9 @@ env:
|
|||
|
||||
jobs:
|
||||
build:
|
||||
timeout-minutes: 60
|
||||
name: Run endtoend tests on Cluster (tabletmanager_tablegc)
|
||||
runs-on: ubuntu-latest
|
||||
runs-on: ubuntu-24.04
|
||||
|
||||
steps:
|
||||
- name: Skip CI
|
||||
|
@ -45,7 +46,9 @@ jobs:
|
|||
|
||||
- name: Check out code
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false'
|
||||
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
persist-credentials: 'false'
|
||||
|
||||
- name: Check for changes in relevant files
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false'
|
||||
|
@ -55,6 +58,7 @@ jobs:
|
|||
token: ''
|
||||
filters: |
|
||||
end_to_end:
|
||||
- 'test/config.json'
|
||||
- 'go/**/*.go'
|
||||
- 'go/vt/sidecardb/**/*.sql'
|
||||
- 'go/test/endtoend/onlineddl/vrepl_suite/**'
|
||||
|
@ -91,17 +95,27 @@ jobs:
|
|||
|
||||
- name: Get dependencies
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
|
||||
timeout-minutes: 10
|
||||
run: |
|
||||
|
||||
# Get key to latest MySQL repo
|
||||
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys A8D3785C
|
||||
# Setup MySQL 8.0
|
||||
wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.32-1_all.deb
|
||||
wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.33-1_all.deb
|
||||
echo mysql-apt-config mysql-apt-config/select-server select mysql-8.0 | sudo debconf-set-selections
|
||||
sudo DEBIAN_FRONTEND="noninteractive" dpkg -i mysql-apt-config*
|
||||
sudo apt-get -qq update
|
||||
|
||||
# We have to install this old version of libaio1 in case we end up testing with MySQL 5.7. See also:
|
||||
# https://bugs.launchpad.net/ubuntu/+source/libaio/+bug/2067501
|
||||
curl -L -O http://mirrors.kernel.org/ubuntu/pool/main/liba/libaio/libaio1_0.3.112-13build1_amd64.deb
|
||||
sudo dpkg -i libaio1_0.3.112-13build1_amd64.deb
|
||||
# libtinfo5 is also needed for older MySQL 5.7 builds.
|
||||
curl -L -O http://mirrors.kernel.org/ubuntu/pool/universe/n/ncurses/libtinfo5_6.3-2ubuntu0.1_amd64.deb
|
||||
sudo dpkg -i libtinfo5_6.3-2ubuntu0.1_amd64.deb
|
||||
|
||||
# Install everything else we need, and configure
|
||||
sudo apt-get -qq install -y mysql-server mysql-shell mysql-client make unzip g++ etcd curl git wget eatmydata xz-utils libncurses5
|
||||
sudo apt-get -qq install -y mysql-server mysql-shell mysql-client make unzip g++ etcd-client etcd-server curl git wget eatmydata xz-utils libncurses6
|
||||
|
||||
sudo service mysql stop
|
||||
sudo service etcd stop
|
||||
|
@ -135,6 +149,8 @@ jobs:
|
|||
|
||||
set -exo pipefail
|
||||
|
||||
# Some of these tests require specific locales to be installed.
|
||||
# See https://github.com/cncf/automation/commit/49f2ad7a791a62ff7d038002bbb2b1f074eed5d5
|
||||
# run the tests however you normally do, then produce a JUnit XML file
|
||||
eatmydata -- go run test.go -docker=false -follow -shard tabletmanager_tablegc | tee -a output.txt | go-junit-report -set-exit-code > report.xml
|
||||
|
||||
|
|
|
@ -15,8 +15,9 @@ env:
|
|||
|
||||
jobs:
|
||||
build:
|
||||
timeout-minutes: 60
|
||||
name: Run endtoend tests on Cluster (tabletmanager_throttler_topo)
|
||||
runs-on: ubuntu-latest
|
||||
runs-on: ubuntu-24.04
|
||||
|
||||
steps:
|
||||
- name: Skip CI
|
||||
|
@ -45,7 +46,9 @@ jobs:
|
|||
|
||||
- name: Check out code
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false'
|
||||
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
persist-credentials: 'false'
|
||||
|
||||
- name: Check for changes in relevant files
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false'
|
||||
|
@ -55,6 +58,7 @@ jobs:
|
|||
token: ''
|
||||
filters: |
|
||||
end_to_end:
|
||||
- 'test/config.json'
|
||||
- 'go/**/*.go'
|
||||
- 'go/vt/sidecardb/**/*.sql'
|
||||
- 'go/test/endtoend/onlineddl/vrepl_suite/**'
|
||||
|
@ -91,17 +95,27 @@ jobs:
|
|||
|
||||
- name: Get dependencies
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
|
||||
timeout-minutes: 10
|
||||
run: |
|
||||
|
||||
# Get key to latest MySQL repo
|
||||
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys A8D3785C
|
||||
# Setup MySQL 8.0
|
||||
wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.32-1_all.deb
|
||||
wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.33-1_all.deb
|
||||
echo mysql-apt-config mysql-apt-config/select-server select mysql-8.0 | sudo debconf-set-selections
|
||||
sudo DEBIAN_FRONTEND="noninteractive" dpkg -i mysql-apt-config*
|
||||
sudo apt-get -qq update
|
||||
|
||||
# We have to install this old version of libaio1 in case we end up testing with MySQL 5.7. See also:
|
||||
# https://bugs.launchpad.net/ubuntu/+source/libaio/+bug/2067501
|
||||
curl -L -O http://mirrors.kernel.org/ubuntu/pool/main/liba/libaio/libaio1_0.3.112-13build1_amd64.deb
|
||||
sudo dpkg -i libaio1_0.3.112-13build1_amd64.deb
|
||||
# libtinfo5 is also needed for older MySQL 5.7 builds.
|
||||
curl -L -O http://mirrors.kernel.org/ubuntu/pool/universe/n/ncurses/libtinfo5_6.3-2ubuntu0.1_amd64.deb
|
||||
sudo dpkg -i libtinfo5_6.3-2ubuntu0.1_amd64.deb
|
||||
|
||||
# Install everything else we need, and configure
|
||||
sudo apt-get -qq install -y mysql-server mysql-shell mysql-client make unzip g++ etcd curl git wget eatmydata xz-utils libncurses5
|
||||
sudo apt-get -qq install -y mysql-server mysql-shell mysql-client make unzip g++ etcd-client etcd-server curl git wget eatmydata xz-utils libncurses6
|
||||
|
||||
sudo service mysql stop
|
||||
sudo service etcd stop
|
||||
|
@ -135,6 +149,8 @@ jobs:
|
|||
|
||||
set -exo pipefail
|
||||
|
||||
# Some of these tests require specific locales to be installed.
|
||||
# See https://github.com/cncf/automation/commit/49f2ad7a791a62ff7d038002bbb2b1f074eed5d5
|
||||
# run the tests however you normally do, then produce a JUnit XML file
|
||||
eatmydata -- go run test.go -docker=false -follow -shard tabletmanager_throttler_topo | tee -a output.txt | go-junit-report -set-exit-code > report.xml
|
||||
|
||||
|
|
|
@ -15,8 +15,9 @@ env:
|
|||
|
||||
jobs:
|
||||
build:
|
||||
timeout-minutes: 60
|
||||
name: Run endtoend tests on Cluster (topo_connection_cache)
|
||||
runs-on: ubuntu-latest
|
||||
runs-on: ubuntu-24.04
|
||||
|
||||
steps:
|
||||
- name: Skip CI
|
||||
|
@ -45,7 +46,9 @@ jobs:
|
|||
|
||||
- name: Check out code
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false'
|
||||
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
persist-credentials: 'false'
|
||||
|
||||
- name: Check for changes in relevant files
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false'
|
||||
|
@ -55,6 +58,7 @@ jobs:
|
|||
token: ''
|
||||
filters: |
|
||||
end_to_end:
|
||||
- 'test/config.json'
|
||||
- 'go/**/*.go'
|
||||
- 'go/vt/sidecardb/**/*.sql'
|
||||
- 'go/test/endtoend/onlineddl/vrepl_suite/**'
|
||||
|
@ -91,17 +95,27 @@ jobs:
|
|||
|
||||
- name: Get dependencies
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
|
||||
timeout-minutes: 10
|
||||
run: |
|
||||
|
||||
# Get key to latest MySQL repo
|
||||
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys A8D3785C
|
||||
# Setup MySQL 8.0
|
||||
wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.32-1_all.deb
|
||||
wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.33-1_all.deb
|
||||
echo mysql-apt-config mysql-apt-config/select-server select mysql-8.0 | sudo debconf-set-selections
|
||||
sudo DEBIAN_FRONTEND="noninteractive" dpkg -i mysql-apt-config*
|
||||
sudo apt-get -qq update
|
||||
|
||||
# We have to install this old version of libaio1 in case we end up testing with MySQL 5.7. See also:
|
||||
# https://bugs.launchpad.net/ubuntu/+source/libaio/+bug/2067501
|
||||
curl -L -O http://mirrors.kernel.org/ubuntu/pool/main/liba/libaio/libaio1_0.3.112-13build1_amd64.deb
|
||||
sudo dpkg -i libaio1_0.3.112-13build1_amd64.deb
|
||||
# libtinfo5 is also needed for older MySQL 5.7 builds.
|
||||
curl -L -O http://mirrors.kernel.org/ubuntu/pool/universe/n/ncurses/libtinfo5_6.3-2ubuntu0.1_amd64.deb
|
||||
sudo dpkg -i libtinfo5_6.3-2ubuntu0.1_amd64.deb
|
||||
|
||||
# Install everything else we need, and configure
|
||||
sudo apt-get -qq install -y mysql-server mysql-shell mysql-client make unzip g++ etcd curl git wget eatmydata xz-utils libncurses5
|
||||
sudo apt-get -qq install -y mysql-server mysql-shell mysql-client make unzip g++ etcd-client etcd-server curl git wget eatmydata xz-utils libncurses6
|
||||
|
||||
sudo service mysql stop
|
||||
sudo service etcd stop
|
||||
|
@ -135,6 +149,8 @@ jobs:
|
|||
|
||||
set -exo pipefail
|
||||
|
||||
# Some of these tests require specific locales to be installed.
|
||||
# See https://github.com/cncf/automation/commit/49f2ad7a791a62ff7d038002bbb2b1f074eed5d5
|
||||
# run the tests however you normally do, then produce a JUnit XML file
|
||||
eatmydata -- go run test.go -docker=false -follow -shard topo_connection_cache | tee -a output.txt | go-junit-report -set-exit-code > report.xml
|
||||
|
||||
|
|
|
@ -15,8 +15,9 @@ env:
|
|||
|
||||
jobs:
|
||||
build:
|
||||
timeout-minutes: 60
|
||||
name: Run endtoend tests on Cluster (vreplication_across_db_versions)
|
||||
runs-on: ubuntu-latest
|
||||
runs-on: ubuntu-24.04
|
||||
|
||||
steps:
|
||||
- name: Skip CI
|
||||
|
@ -45,7 +46,9 @@ jobs:
|
|||
|
||||
- name: Check out code
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false'
|
||||
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
persist-credentials: 'false'
|
||||
|
||||
- name: Check for changes in relevant files
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false'
|
||||
|
@ -55,6 +58,7 @@ jobs:
|
|||
token: ''
|
||||
filters: |
|
||||
end_to_end:
|
||||
- 'test/config.json'
|
||||
- 'go/**/*.go'
|
||||
- 'go/vt/sidecardb/**/*.sql'
|
||||
- 'go/test/endtoend/onlineddl/vrepl_suite/**'
|
||||
|
@ -91,17 +95,27 @@ jobs:
|
|||
|
||||
- name: Get dependencies
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
|
||||
timeout-minutes: 10
|
||||
run: |
|
||||
|
||||
# Get key to latest MySQL repo
|
||||
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys A8D3785C
|
||||
# Setup MySQL 8.0
|
||||
wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.32-1_all.deb
|
||||
wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.33-1_all.deb
|
||||
echo mysql-apt-config mysql-apt-config/select-server select mysql-8.0 | sudo debconf-set-selections
|
||||
sudo DEBIAN_FRONTEND="noninteractive" dpkg -i mysql-apt-config*
|
||||
sudo apt-get -qq update
|
||||
|
||||
# We have to install this old version of libaio1 in case we end up testing with MySQL 5.7. See also:
|
||||
# https://bugs.launchpad.net/ubuntu/+source/libaio/+bug/2067501
|
||||
curl -L -O http://mirrors.kernel.org/ubuntu/pool/main/liba/libaio/libaio1_0.3.112-13build1_amd64.deb
|
||||
sudo dpkg -i libaio1_0.3.112-13build1_amd64.deb
|
||||
# libtinfo5 is also needed for older MySQL 5.7 builds.
|
||||
curl -L -O http://mirrors.kernel.org/ubuntu/pool/universe/n/ncurses/libtinfo5_6.3-2ubuntu0.1_amd64.deb
|
||||
sudo dpkg -i libtinfo5_6.3-2ubuntu0.1_amd64.deb
|
||||
|
||||
# Install everything else we need, and configure
|
||||
sudo apt-get -qq install -y mysql-server mysql-shell mysql-client make unzip g++ etcd curl git wget eatmydata xz-utils libncurses5
|
||||
sudo apt-get -qq install -y mysql-server mysql-shell mysql-client make unzip g++ etcd-client etcd-server curl git wget eatmydata xz-utils libncurses6
|
||||
|
||||
sudo service mysql stop
|
||||
sudo service etcd stop
|
||||
|
@ -157,6 +171,12 @@ jobs:
|
|||
binlog-transaction-compression=ON
|
||||
EOF
|
||||
|
||||
cat <<-EOF>>./config/mycnf/mysql8026.cnf
|
||||
binlog-row-value-options=PARTIAL_JSON
|
||||
EOF
|
||||
|
||||
# Some of these tests require specific locales to be installed.
|
||||
# See https://github.com/cncf/automation/commit/49f2ad7a791a62ff7d038002bbb2b1f074eed5d5
|
||||
# run the tests however you normally do, then produce a JUnit XML file
|
||||
eatmydata -- go run test.go -docker=false -follow -shard vreplication_across_db_versions | tee -a output.txt | go-junit-report -set-exit-code > report.xml
|
||||
|
||||
|
|
|
@ -15,8 +15,9 @@ env:
|
|||
|
||||
jobs:
|
||||
build:
|
||||
timeout-minutes: 60
|
||||
name: Run endtoend tests on Cluster (vreplication_basic)
|
||||
runs-on: gh-hosted-runners-16cores-1
|
||||
runs-on: oracle-vm-16cpu-64gb-x86-64
|
||||
|
||||
steps:
|
||||
- name: Skip CI
|
||||
|
@ -45,7 +46,9 @@ jobs:
|
|||
|
||||
- name: Check out code
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false'
|
||||
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
persist-credentials: 'false'
|
||||
|
||||
- name: Check for changes in relevant files
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false'
|
||||
|
@ -55,6 +58,7 @@ jobs:
|
|||
token: ''
|
||||
filters: |
|
||||
end_to_end:
|
||||
- 'test/config.json'
|
||||
- 'go/**/*.go'
|
||||
- 'go/vt/sidecardb/**/*.sql'
|
||||
- 'go/test/endtoend/onlineddl/vrepl_suite/**'
|
||||
|
@ -91,17 +95,27 @@ jobs:
|
|||
|
||||
- name: Get dependencies
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
|
||||
timeout-minutes: 10
|
||||
run: |
|
||||
|
||||
# Get key to latest MySQL repo
|
||||
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys A8D3785C
|
||||
# Setup MySQL 8.0
|
||||
wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.32-1_all.deb
|
||||
wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.33-1_all.deb
|
||||
echo mysql-apt-config mysql-apt-config/select-server select mysql-8.0 | sudo debconf-set-selections
|
||||
sudo DEBIAN_FRONTEND="noninteractive" dpkg -i mysql-apt-config*
|
||||
sudo apt-get -qq update
|
||||
|
||||
# We have to install this old version of libaio1 in case we end up testing with MySQL 5.7. See also:
|
||||
# https://bugs.launchpad.net/ubuntu/+source/libaio/+bug/2067501
|
||||
curl -L -O http://mirrors.kernel.org/ubuntu/pool/main/liba/libaio/libaio1_0.3.112-13build1_amd64.deb
|
||||
sudo dpkg -i libaio1_0.3.112-13build1_amd64.deb
|
||||
# libtinfo5 is also needed for older MySQL 5.7 builds.
|
||||
curl -L -O http://mirrors.kernel.org/ubuntu/pool/universe/n/ncurses/libtinfo5_6.3-2ubuntu0.1_amd64.deb
|
||||
sudo dpkg -i libtinfo5_6.3-2ubuntu0.1_amd64.deb
|
||||
|
||||
# Install everything else we need, and configure
|
||||
sudo apt-get -qq install -y mysql-server mysql-shell mysql-client make unzip g++ etcd curl git wget eatmydata xz-utils libncurses5
|
||||
sudo apt-get -qq install -y mysql-server mysql-shell mysql-client make unzip g++ etcd-client etcd-server curl git wget eatmydata xz-utils libncurses6
|
||||
|
||||
sudo service mysql stop
|
||||
sudo service etcd stop
|
||||
|
@ -157,6 +171,12 @@ jobs:
|
|||
binlog-transaction-compression=ON
|
||||
EOF
|
||||
|
||||
cat <<-EOF>>./config/mycnf/mysql8026.cnf
|
||||
binlog-row-value-options=PARTIAL_JSON
|
||||
EOF
|
||||
|
||||
# Some of these tests require specific locales to be installed.
|
||||
# See https://github.com/cncf/automation/commit/49f2ad7a791a62ff7d038002bbb2b1f074eed5d5
|
||||
# run the tests however you normally do, then produce a JUnit XML file
|
||||
eatmydata -- go run test.go -docker=false -follow -shard vreplication_basic | tee -a output.txt | go-junit-report -set-exit-code > report.xml
|
||||
|
||||
|
|
|
@ -15,8 +15,9 @@ env:
|
|||
|
||||
jobs:
|
||||
build:
|
||||
timeout-minutes: 60
|
||||
name: Run endtoend tests on Cluster (vreplication_cellalias)
|
||||
runs-on: ubuntu-latest
|
||||
runs-on: ubuntu-24.04
|
||||
|
||||
steps:
|
||||
- name: Skip CI
|
||||
|
@ -45,7 +46,9 @@ jobs:
|
|||
|
||||
- name: Check out code
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false'
|
||||
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
persist-credentials: 'false'
|
||||
|
||||
- name: Check for changes in relevant files
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false'
|
||||
|
@ -55,6 +58,7 @@ jobs:
|
|||
token: ''
|
||||
filters: |
|
||||
end_to_end:
|
||||
- 'test/config.json'
|
||||
- 'go/**/*.go'
|
||||
- 'go/vt/sidecardb/**/*.sql'
|
||||
- 'go/test/endtoend/onlineddl/vrepl_suite/**'
|
||||
|
@ -91,17 +95,27 @@ jobs:
|
|||
|
||||
- name: Get dependencies
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
|
||||
timeout-minutes: 10
|
||||
run: |
|
||||
|
||||
# Get key to latest MySQL repo
|
||||
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys A8D3785C
|
||||
# Setup MySQL 8.0
|
||||
wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.32-1_all.deb
|
||||
wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.33-1_all.deb
|
||||
echo mysql-apt-config mysql-apt-config/select-server select mysql-8.0 | sudo debconf-set-selections
|
||||
sudo DEBIAN_FRONTEND="noninteractive" dpkg -i mysql-apt-config*
|
||||
sudo apt-get -qq update
|
||||
|
||||
# We have to install this old version of libaio1 in case we end up testing with MySQL 5.7. See also:
|
||||
# https://bugs.launchpad.net/ubuntu/+source/libaio/+bug/2067501
|
||||
curl -L -O http://mirrors.kernel.org/ubuntu/pool/main/liba/libaio/libaio1_0.3.112-13build1_amd64.deb
|
||||
sudo dpkg -i libaio1_0.3.112-13build1_amd64.deb
|
||||
# libtinfo5 is also needed for older MySQL 5.7 builds.
|
||||
curl -L -O http://mirrors.kernel.org/ubuntu/pool/universe/n/ncurses/libtinfo5_6.3-2ubuntu0.1_amd64.deb
|
||||
sudo dpkg -i libtinfo5_6.3-2ubuntu0.1_amd64.deb
|
||||
|
||||
# Install everything else we need, and configure
|
||||
sudo apt-get -qq install -y mysql-server mysql-shell mysql-client make unzip g++ etcd curl git wget eatmydata xz-utils libncurses5
|
||||
sudo apt-get -qq install -y mysql-server mysql-shell mysql-client make unzip g++ etcd-client etcd-server curl git wget eatmydata xz-utils libncurses6
|
||||
|
||||
sudo service mysql stop
|
||||
sudo service etcd stop
|
||||
|
@ -157,6 +171,12 @@ jobs:
|
|||
binlog-transaction-compression=ON
|
||||
EOF
|
||||
|
||||
cat <<-EOF>>./config/mycnf/mysql8026.cnf
|
||||
binlog-row-value-options=PARTIAL_JSON
|
||||
EOF
|
||||
|
||||
# Some of these tests require specific locales to be installed.
|
||||
# See https://github.com/cncf/automation/commit/49f2ad7a791a62ff7d038002bbb2b1f074eed5d5
|
||||
# run the tests however you normally do, then produce a JUnit XML file
|
||||
eatmydata -- go run test.go -docker=false -follow -shard vreplication_cellalias | tee -a output.txt | go-junit-report -set-exit-code > report.xml
|
||||
|
||||
|
|
|
@ -15,8 +15,9 @@ env:
|
|||
|
||||
jobs:
|
||||
build:
|
||||
timeout-minutes: 60
|
||||
name: Run endtoend tests on Cluster (vreplication_copy_parallel)
|
||||
runs-on: ubuntu-latest
|
||||
runs-on: ubuntu-24.04
|
||||
|
||||
steps:
|
||||
- name: Skip CI
|
||||
|
@ -45,7 +46,9 @@ jobs:
|
|||
|
||||
- name: Check out code
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false'
|
||||
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
persist-credentials: 'false'
|
||||
|
||||
- name: Check for changes in relevant files
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false'
|
||||
|
@ -55,6 +58,7 @@ jobs:
|
|||
token: ''
|
||||
filters: |
|
||||
end_to_end:
|
||||
- 'test/config.json'
|
||||
- 'go/**/*.go'
|
||||
- 'go/vt/sidecardb/**/*.sql'
|
||||
- 'go/test/endtoend/onlineddl/vrepl_suite/**'
|
||||
|
@ -91,17 +95,27 @@ jobs:
|
|||
|
||||
- name: Get dependencies
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
|
||||
timeout-minutes: 10
|
||||
run: |
|
||||
|
||||
# Get key to latest MySQL repo
|
||||
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys A8D3785C
|
||||
# Setup MySQL 8.0
|
||||
wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.32-1_all.deb
|
||||
wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.33-1_all.deb
|
||||
echo mysql-apt-config mysql-apt-config/select-server select mysql-8.0 | sudo debconf-set-selections
|
||||
sudo DEBIAN_FRONTEND="noninteractive" dpkg -i mysql-apt-config*
|
||||
sudo apt-get -qq update
|
||||
|
||||
# We have to install this old version of libaio1 in case we end up testing with MySQL 5.7. See also:
|
||||
# https://bugs.launchpad.net/ubuntu/+source/libaio/+bug/2067501
|
||||
curl -L -O http://mirrors.kernel.org/ubuntu/pool/main/liba/libaio/libaio1_0.3.112-13build1_amd64.deb
|
||||
sudo dpkg -i libaio1_0.3.112-13build1_amd64.deb
|
||||
# libtinfo5 is also needed for older MySQL 5.7 builds.
|
||||
curl -L -O http://mirrors.kernel.org/ubuntu/pool/universe/n/ncurses/libtinfo5_6.3-2ubuntu0.1_amd64.deb
|
||||
sudo dpkg -i libtinfo5_6.3-2ubuntu0.1_amd64.deb
|
||||
|
||||
# Install everything else we need, and configure
|
||||
sudo apt-get -qq install -y mysql-server mysql-shell mysql-client make unzip g++ etcd curl git wget eatmydata xz-utils libncurses5
|
||||
sudo apt-get -qq install -y mysql-server mysql-shell mysql-client make unzip g++ etcd-client etcd-server curl git wget eatmydata xz-utils libncurses6
|
||||
|
||||
sudo service mysql stop
|
||||
sudo service etcd stop
|
||||
|
@ -157,6 +171,12 @@ jobs:
|
|||
binlog-transaction-compression=ON
|
||||
EOF
|
||||
|
||||
cat <<-EOF>>./config/mycnf/mysql8026.cnf
|
||||
binlog-row-value-options=PARTIAL_JSON
|
||||
EOF
|
||||
|
||||
# Some of these tests require specific locales to be installed.
|
||||
# See https://github.com/cncf/automation/commit/49f2ad7a791a62ff7d038002bbb2b1f074eed5d5
|
||||
# run the tests however you normally do, then produce a JUnit XML file
|
||||
eatmydata -- go run test.go -docker=false -follow -shard vreplication_copy_parallel | tee -a output.txt | go-junit-report -set-exit-code > report.xml
|
||||
|
||||
|
|
|
@ -15,8 +15,9 @@ env:
|
|||
|
||||
jobs:
|
||||
build:
|
||||
timeout-minutes: 60
|
||||
name: Run endtoend tests on Cluster (vreplication_foreign_key_stress)
|
||||
runs-on: ubuntu-latest
|
||||
runs-on: ubuntu-24.04
|
||||
|
||||
steps:
|
||||
- name: Skip CI
|
||||
|
@ -45,7 +46,9 @@ jobs:
|
|||
|
||||
- name: Check out code
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false'
|
||||
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
persist-credentials: 'false'
|
||||
|
||||
- name: Check for changes in relevant files
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false'
|
||||
|
@ -55,6 +58,7 @@ jobs:
|
|||
token: ''
|
||||
filters: |
|
||||
end_to_end:
|
||||
- 'test/config.json'
|
||||
- 'go/**/*.go'
|
||||
- 'go/vt/sidecardb/**/*.sql'
|
||||
- 'go/test/endtoend/onlineddl/vrepl_suite/**'
|
||||
|
@ -91,17 +95,27 @@ jobs:
|
|||
|
||||
- name: Get dependencies
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
|
||||
timeout-minutes: 10
|
||||
run: |
|
||||
|
||||
# Get key to latest MySQL repo
|
||||
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys A8D3785C
|
||||
# Setup MySQL 8.0
|
||||
wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.32-1_all.deb
|
||||
wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.33-1_all.deb
|
||||
echo mysql-apt-config mysql-apt-config/select-server select mysql-8.0 | sudo debconf-set-selections
|
||||
sudo DEBIAN_FRONTEND="noninteractive" dpkg -i mysql-apt-config*
|
||||
sudo apt-get -qq update
|
||||
|
||||
# We have to install this old version of libaio1 in case we end up testing with MySQL 5.7. See also:
|
||||
# https://bugs.launchpad.net/ubuntu/+source/libaio/+bug/2067501
|
||||
curl -L -O http://mirrors.kernel.org/ubuntu/pool/main/liba/libaio/libaio1_0.3.112-13build1_amd64.deb
|
||||
sudo dpkg -i libaio1_0.3.112-13build1_amd64.deb
|
||||
# libtinfo5 is also needed for older MySQL 5.7 builds.
|
||||
curl -L -O http://mirrors.kernel.org/ubuntu/pool/universe/n/ncurses/libtinfo5_6.3-2ubuntu0.1_amd64.deb
|
||||
sudo dpkg -i libtinfo5_6.3-2ubuntu0.1_amd64.deb
|
||||
|
||||
# Install everything else we need, and configure
|
||||
sudo apt-get -qq install -y mysql-server mysql-shell mysql-client make unzip g++ etcd curl git wget eatmydata xz-utils libncurses5
|
||||
sudo apt-get -qq install -y mysql-server mysql-shell mysql-client make unzip g++ etcd-client etcd-server curl git wget eatmydata xz-utils libncurses6
|
||||
|
||||
sudo service mysql stop
|
||||
sudo service etcd stop
|
||||
|
@ -157,6 +171,12 @@ jobs:
|
|||
binlog-transaction-compression=ON
|
||||
EOF
|
||||
|
||||
cat <<-EOF>>./config/mycnf/mysql8026.cnf
|
||||
binlog-row-value-options=PARTIAL_JSON
|
||||
EOF
|
||||
|
||||
# Some of these tests require specific locales to be installed.
|
||||
# See https://github.com/cncf/automation/commit/49f2ad7a791a62ff7d038002bbb2b1f074eed5d5
|
||||
# run the tests however you normally do, then produce a JUnit XML file
|
||||
eatmydata -- go run test.go -docker=false -follow -shard vreplication_foreign_key_stress | tee -a output.txt | go-junit-report -set-exit-code > report.xml
|
||||
|
||||
|
|
|
@ -15,8 +15,9 @@ env:
|
|||
|
||||
jobs:
|
||||
build:
|
||||
timeout-minutes: 60
|
||||
name: Run endtoend tests on Cluster (vreplication_mariadb_to_mysql)
|
||||
runs-on: ubuntu-latest
|
||||
runs-on: ubuntu-24.04
|
||||
|
||||
steps:
|
||||
- name: Skip CI
|
||||
|
@ -45,7 +46,9 @@ jobs:
|
|||
|
||||
- name: Check out code
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false'
|
||||
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
persist-credentials: 'false'
|
||||
|
||||
- name: Check for changes in relevant files
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false'
|
||||
|
@ -55,6 +58,7 @@ jobs:
|
|||
token: ''
|
||||
filters: |
|
||||
end_to_end:
|
||||
- 'test/config.json'
|
||||
- 'go/**/*.go'
|
||||
- 'go/vt/sidecardb/**/*.sql'
|
||||
- 'go/test/endtoend/onlineddl/vrepl_suite/**'
|
||||
|
@ -91,17 +95,27 @@ jobs:
|
|||
|
||||
- name: Get dependencies
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
|
||||
timeout-minutes: 10
|
||||
run: |
|
||||
|
||||
# Get key to latest MySQL repo
|
||||
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys A8D3785C
|
||||
# Setup MySQL 8.0
|
||||
wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.32-1_all.deb
|
||||
wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.33-1_all.deb
|
||||
echo mysql-apt-config mysql-apt-config/select-server select mysql-8.0 | sudo debconf-set-selections
|
||||
sudo DEBIAN_FRONTEND="noninteractive" dpkg -i mysql-apt-config*
|
||||
sudo apt-get -qq update
|
||||
|
||||
# We have to install this old version of libaio1 in case we end up testing with MySQL 5.7. See also:
|
||||
# https://bugs.launchpad.net/ubuntu/+source/libaio/+bug/2067501
|
||||
curl -L -O http://mirrors.kernel.org/ubuntu/pool/main/liba/libaio/libaio1_0.3.112-13build1_amd64.deb
|
||||
sudo dpkg -i libaio1_0.3.112-13build1_amd64.deb
|
||||
# libtinfo5 is also needed for older MySQL 5.7 builds.
|
||||
curl -L -O http://mirrors.kernel.org/ubuntu/pool/universe/n/ncurses/libtinfo5_6.3-2ubuntu0.1_amd64.deb
|
||||
sudo dpkg -i libtinfo5_6.3-2ubuntu0.1_amd64.deb
|
||||
|
||||
# Install everything else we need, and configure
|
||||
sudo apt-get -qq install -y mysql-server mysql-shell mysql-client make unzip g++ etcd curl git wget eatmydata xz-utils libncurses5
|
||||
sudo apt-get -qq install -y mysql-server mysql-shell mysql-client make unzip g++ etcd-client etcd-server curl git wget eatmydata xz-utils libncurses6
|
||||
|
||||
sudo service mysql stop
|
||||
sudo service etcd stop
|
||||
|
@ -157,6 +171,12 @@ jobs:
|
|||
binlog-transaction-compression=ON
|
||||
EOF
|
||||
|
||||
cat <<-EOF>>./config/mycnf/mysql8026.cnf
|
||||
binlog-row-value-options=PARTIAL_JSON
|
||||
EOF
|
||||
|
||||
# Some of these tests require specific locales to be installed.
|
||||
# See https://github.com/cncf/automation/commit/49f2ad7a791a62ff7d038002bbb2b1f074eed5d5
|
||||
# run the tests however you normally do, then produce a JUnit XML file
|
||||
eatmydata -- go run test.go -docker=false -follow -shard vreplication_mariadb_to_mysql | tee -a output.txt | go-junit-report -set-exit-code > report.xml
|
||||
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
# DO NOT MODIFY: THIS FILE IS GENERATED USING "make generate_ci_workflows"
|
||||
|
||||
name: Cluster (vreplication_migrate_vdiff2_convert_tz)
|
||||
name: Cluster (vreplication_migrate)
|
||||
on: [push, pull_request]
|
||||
concurrency:
|
||||
group: format('{0}-{1}', ${{ github.ref }}, 'Cluster (vreplication_migrate_vdiff2_convert_tz)')
|
||||
group: format('{0}-{1}', ${{ github.ref }}, 'Cluster (vreplication_migrate)')
|
||||
cancel-in-progress: true
|
||||
|
||||
permissions: read-all
|
||||
|
@ -15,8 +15,9 @@ env:
|
|||
|
||||
jobs:
|
||||
build:
|
||||
name: Run endtoend tests on Cluster (vreplication_migrate_vdiff2_convert_tz)
|
||||
runs-on: gh-hosted-runners-16cores-1
|
||||
timeout-minutes: 60
|
||||
name: Run endtoend tests on Cluster (vreplication_migrate)
|
||||
runs-on: oracle-vm-16cpu-64gb-x86-64
|
||||
|
||||
steps:
|
||||
- name: Skip CI
|
||||
|
@ -45,7 +46,9 @@ jobs:
|
|||
|
||||
- name: Check out code
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false'
|
||||
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
persist-credentials: 'false'
|
||||
|
||||
- name: Check for changes in relevant files
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false'
|
||||
|
@ -55,6 +58,7 @@ jobs:
|
|||
token: ''
|
||||
filters: |
|
||||
end_to_end:
|
||||
- 'test/config.json'
|
||||
- 'go/**/*.go'
|
||||
- 'go/vt/sidecardb/**/*.sql'
|
||||
- 'go/test/endtoend/onlineddl/vrepl_suite/**'
|
||||
|
@ -67,7 +71,7 @@ jobs:
|
|||
- 'tools/**'
|
||||
- 'config/**'
|
||||
- 'bootstrap.sh'
|
||||
- '.github/workflows/cluster_endtoend_vreplication_migrate_vdiff2_convert_tz.yml'
|
||||
- '.github/workflows/cluster_endtoend_vreplication_migrate.yml'
|
||||
|
||||
- name: Set up Go
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
|
||||
|
@ -91,17 +95,27 @@ jobs:
|
|||
|
||||
- name: Get dependencies
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
|
||||
timeout-minutes: 10
|
||||
run: |
|
||||
|
||||
# Get key to latest MySQL repo
|
||||
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys A8D3785C
|
||||
# Setup MySQL 8.0
|
||||
wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.32-1_all.deb
|
||||
wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.33-1_all.deb
|
||||
echo mysql-apt-config mysql-apt-config/select-server select mysql-8.0 | sudo debconf-set-selections
|
||||
sudo DEBIAN_FRONTEND="noninteractive" dpkg -i mysql-apt-config*
|
||||
sudo apt-get -qq update
|
||||
|
||||
# We have to install this old version of libaio1 in case we end up testing with MySQL 5.7. See also:
|
||||
# https://bugs.launchpad.net/ubuntu/+source/libaio/+bug/2067501
|
||||
curl -L -O http://mirrors.kernel.org/ubuntu/pool/main/liba/libaio/libaio1_0.3.112-13build1_amd64.deb
|
||||
sudo dpkg -i libaio1_0.3.112-13build1_amd64.deb
|
||||
# libtinfo5 is also needed for older MySQL 5.7 builds.
|
||||
curl -L -O http://mirrors.kernel.org/ubuntu/pool/universe/n/ncurses/libtinfo5_6.3-2ubuntu0.1_amd64.deb
|
||||
sudo dpkg -i libtinfo5_6.3-2ubuntu0.1_amd64.deb
|
||||
|
||||
# Install everything else we need, and configure
|
||||
sudo apt-get -qq install -y mysql-server mysql-shell mysql-client make unzip g++ etcd curl git wget eatmydata xz-utils libncurses5
|
||||
sudo apt-get -qq install -y mysql-server mysql-shell mysql-client make unzip g++ etcd-client etcd-server curl git wget eatmydata xz-utils libncurses6
|
||||
|
||||
sudo service mysql stop
|
||||
sudo service etcd stop
|
||||
|
@ -157,8 +171,14 @@ jobs:
|
|||
binlog-transaction-compression=ON
|
||||
EOF
|
||||
|
||||
cat <<-EOF>>./config/mycnf/mysql8026.cnf
|
||||
binlog-row-value-options=PARTIAL_JSON
|
||||
EOF
|
||||
|
||||
# Some of these tests require specific locales to be installed.
|
||||
# See https://github.com/cncf/automation/commit/49f2ad7a791a62ff7d038002bbb2b1f074eed5d5
|
||||
# run the tests however you normally do, then produce a JUnit XML file
|
||||
eatmydata -- go run test.go -docker=false -follow -shard vreplication_migrate_vdiff2_convert_tz | tee -a output.txt | go-junit-report -set-exit-code > report.xml
|
||||
eatmydata -- go run test.go -docker=false -follow -shard vreplication_migrate | tee -a output.txt | go-junit-report -set-exit-code > report.xml
|
||||
|
||||
- name: Print test output and Record test result in launchable if PR is not a draft
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true' && always()
|
|
@ -15,8 +15,9 @@ env:
|
|||
|
||||
jobs:
|
||||
build:
|
||||
timeout-minutes: 60
|
||||
name: Run endtoend tests on Cluster (vreplication_multi_tenant)
|
||||
runs-on: ubuntu-latest
|
||||
runs-on: ubuntu-24.04
|
||||
|
||||
steps:
|
||||
- name: Skip CI
|
||||
|
@ -45,7 +46,9 @@ jobs:
|
|||
|
||||
- name: Check out code
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false'
|
||||
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
persist-credentials: 'false'
|
||||
|
||||
- name: Check for changes in relevant files
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false'
|
||||
|
@ -55,6 +58,7 @@ jobs:
|
|||
token: ''
|
||||
filters: |
|
||||
end_to_end:
|
||||
- 'test/config.json'
|
||||
- 'go/**/*.go'
|
||||
- 'go/vt/sidecardb/**/*.sql'
|
||||
- 'go/test/endtoend/onlineddl/vrepl_suite/**'
|
||||
|
@ -91,17 +95,27 @@ jobs:
|
|||
|
||||
- name: Get dependencies
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
|
||||
timeout-minutes: 10
|
||||
run: |
|
||||
|
||||
# Get key to latest MySQL repo
|
||||
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys A8D3785C
|
||||
# Setup MySQL 8.0
|
||||
wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.32-1_all.deb
|
||||
wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.33-1_all.deb
|
||||
echo mysql-apt-config mysql-apt-config/select-server select mysql-8.0 | sudo debconf-set-selections
|
||||
sudo DEBIAN_FRONTEND="noninteractive" dpkg -i mysql-apt-config*
|
||||
sudo apt-get -qq update
|
||||
|
||||
# We have to install this old version of libaio1 in case we end up testing with MySQL 5.7. See also:
|
||||
# https://bugs.launchpad.net/ubuntu/+source/libaio/+bug/2067501
|
||||
curl -L -O http://mirrors.kernel.org/ubuntu/pool/main/liba/libaio/libaio1_0.3.112-13build1_amd64.deb
|
||||
sudo dpkg -i libaio1_0.3.112-13build1_amd64.deb
|
||||
# libtinfo5 is also needed for older MySQL 5.7 builds.
|
||||
curl -L -O http://mirrors.kernel.org/ubuntu/pool/universe/n/ncurses/libtinfo5_6.3-2ubuntu0.1_amd64.deb
|
||||
sudo dpkg -i libtinfo5_6.3-2ubuntu0.1_amd64.deb
|
||||
|
||||
# Install everything else we need, and configure
|
||||
sudo apt-get -qq install -y mysql-server mysql-shell mysql-client make unzip g++ etcd curl git wget eatmydata xz-utils libncurses5
|
||||
sudo apt-get -qq install -y mysql-server mysql-shell mysql-client make unzip g++ etcd-client etcd-server curl git wget eatmydata xz-utils libncurses6
|
||||
|
||||
sudo service mysql stop
|
||||
sudo service etcd stop
|
||||
|
@ -157,6 +171,12 @@ jobs:
|
|||
binlog-transaction-compression=ON
|
||||
EOF
|
||||
|
||||
cat <<-EOF>>./config/mycnf/mysql8026.cnf
|
||||
binlog-row-value-options=PARTIAL_JSON
|
||||
EOF
|
||||
|
||||
# Some of these tests require specific locales to be installed.
|
||||
# See https://github.com/cncf/automation/commit/49f2ad7a791a62ff7d038002bbb2b1f074eed5d5
|
||||
# run the tests however you normally do, then produce a JUnit XML file
|
||||
eatmydata -- go run test.go -docker=false -follow -shard vreplication_multi_tenant | tee -a output.txt | go-junit-report -set-exit-code > report.xml
|
||||
|
||||
|
|
|
@ -15,8 +15,9 @@ env:
|
|||
|
||||
jobs:
|
||||
build:
|
||||
timeout-minutes: 60
|
||||
name: Run endtoend tests on Cluster (vreplication_partial_movetables_and_materialize)
|
||||
runs-on: ubuntu-latest
|
||||
runs-on: ubuntu-24.04
|
||||
|
||||
steps:
|
||||
- name: Skip CI
|
||||
|
@ -45,7 +46,9 @@ jobs:
|
|||
|
||||
- name: Check out code
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false'
|
||||
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
persist-credentials: 'false'
|
||||
|
||||
- name: Check for changes in relevant files
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false'
|
||||
|
@ -55,6 +58,7 @@ jobs:
|
|||
token: ''
|
||||
filters: |
|
||||
end_to_end:
|
||||
- 'test/config.json'
|
||||
- 'go/**/*.go'
|
||||
- 'go/vt/sidecardb/**/*.sql'
|
||||
- 'go/test/endtoend/onlineddl/vrepl_suite/**'
|
||||
|
@ -91,17 +95,27 @@ jobs:
|
|||
|
||||
- name: Get dependencies
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
|
||||
timeout-minutes: 10
|
||||
run: |
|
||||
|
||||
# Get key to latest MySQL repo
|
||||
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys A8D3785C
|
||||
# Setup MySQL 8.0
|
||||
wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.32-1_all.deb
|
||||
wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.33-1_all.deb
|
||||
echo mysql-apt-config mysql-apt-config/select-server select mysql-8.0 | sudo debconf-set-selections
|
||||
sudo DEBIAN_FRONTEND="noninteractive" dpkg -i mysql-apt-config*
|
||||
sudo apt-get -qq update
|
||||
|
||||
# We have to install this old version of libaio1 in case we end up testing with MySQL 5.7. See also:
|
||||
# https://bugs.launchpad.net/ubuntu/+source/libaio/+bug/2067501
|
||||
curl -L -O http://mirrors.kernel.org/ubuntu/pool/main/liba/libaio/libaio1_0.3.112-13build1_amd64.deb
|
||||
sudo dpkg -i libaio1_0.3.112-13build1_amd64.deb
|
||||
# libtinfo5 is also needed for older MySQL 5.7 builds.
|
||||
curl -L -O http://mirrors.kernel.org/ubuntu/pool/universe/n/ncurses/libtinfo5_6.3-2ubuntu0.1_amd64.deb
|
||||
sudo dpkg -i libtinfo5_6.3-2ubuntu0.1_amd64.deb
|
||||
|
||||
# Install everything else we need, and configure
|
||||
sudo apt-get -qq install -y mysql-server mysql-shell mysql-client make unzip g++ etcd curl git wget eatmydata xz-utils libncurses5
|
||||
sudo apt-get -qq install -y mysql-server mysql-shell mysql-client make unzip g++ etcd-client etcd-server curl git wget eatmydata xz-utils libncurses6
|
||||
|
||||
sudo service mysql stop
|
||||
sudo service etcd stop
|
||||
|
@ -157,6 +171,12 @@ jobs:
|
|||
binlog-transaction-compression=ON
|
||||
EOF
|
||||
|
||||
cat <<-EOF>>./config/mycnf/mysql8026.cnf
|
||||
binlog-row-value-options=PARTIAL_JSON
|
||||
EOF
|
||||
|
||||
# Some of these tests require specific locales to be installed.
|
||||
# See https://github.com/cncf/automation/commit/49f2ad7a791a62ff7d038002bbb2b1f074eed5d5
|
||||
# run the tests however you normally do, then produce a JUnit XML file
|
||||
eatmydata -- go run test.go -docker=false -follow -shard vreplication_partial_movetables_and_materialize | tee -a output.txt | go-junit-report -set-exit-code > report.xml
|
||||
|
||||
|
|
|
@ -15,8 +15,9 @@ env:
|
|||
|
||||
jobs:
|
||||
build:
|
||||
timeout-minutes: 60
|
||||
name: Run endtoend tests on Cluster (vreplication_v2)
|
||||
runs-on: ubuntu-latest
|
||||
runs-on: ubuntu-24.04
|
||||
|
||||
steps:
|
||||
- name: Skip CI
|
||||
|
@ -45,7 +46,9 @@ jobs:
|
|||
|
||||
- name: Check out code
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false'
|
||||
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
persist-credentials: 'false'
|
||||
|
||||
- name: Check for changes in relevant files
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false'
|
||||
|
@ -55,6 +58,7 @@ jobs:
|
|||
token: ''
|
||||
filters: |
|
||||
end_to_end:
|
||||
- 'test/config.json'
|
||||
- 'go/**/*.go'
|
||||
- 'go/vt/sidecardb/**/*.sql'
|
||||
- 'go/test/endtoend/onlineddl/vrepl_suite/**'
|
||||
|
@ -91,17 +95,27 @@ jobs:
|
|||
|
||||
- name: Get dependencies
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
|
||||
timeout-minutes: 10
|
||||
run: |
|
||||
|
||||
# Get key to latest MySQL repo
|
||||
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys A8D3785C
|
||||
# Setup MySQL 8.0
|
||||
wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.32-1_all.deb
|
||||
wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.33-1_all.deb
|
||||
echo mysql-apt-config mysql-apt-config/select-server select mysql-8.0 | sudo debconf-set-selections
|
||||
sudo DEBIAN_FRONTEND="noninteractive" dpkg -i mysql-apt-config*
|
||||
sudo apt-get -qq update
|
||||
|
||||
# We have to install this old version of libaio1 in case we end up testing with MySQL 5.7. See also:
|
||||
# https://bugs.launchpad.net/ubuntu/+source/libaio/+bug/2067501
|
||||
curl -L -O http://mirrors.kernel.org/ubuntu/pool/main/liba/libaio/libaio1_0.3.112-13build1_amd64.deb
|
||||
sudo dpkg -i libaio1_0.3.112-13build1_amd64.deb
|
||||
# libtinfo5 is also needed for older MySQL 5.7 builds.
|
||||
curl -L -O http://mirrors.kernel.org/ubuntu/pool/universe/n/ncurses/libtinfo5_6.3-2ubuntu0.1_amd64.deb
|
||||
sudo dpkg -i libtinfo5_6.3-2ubuntu0.1_amd64.deb
|
||||
|
||||
# Install everything else we need, and configure
|
||||
sudo apt-get -qq install -y mysql-server mysql-shell mysql-client make unzip g++ etcd curl git wget eatmydata xz-utils libncurses5
|
||||
sudo apt-get -qq install -y mysql-server mysql-shell mysql-client make unzip g++ etcd-client etcd-server curl git wget eatmydata xz-utils libncurses6
|
||||
|
||||
sudo service mysql stop
|
||||
sudo service etcd stop
|
||||
|
@ -157,6 +171,12 @@ jobs:
|
|||
binlog-transaction-compression=ON
|
||||
EOF
|
||||
|
||||
cat <<-EOF>>./config/mycnf/mysql8026.cnf
|
||||
binlog-row-value-options=PARTIAL_JSON
|
||||
EOF
|
||||
|
||||
# Some of these tests require specific locales to be installed.
|
||||
# See https://github.com/cncf/automation/commit/49f2ad7a791a62ff7d038002bbb2b1f074eed5d5
|
||||
# run the tests however you normally do, then produce a JUnit XML file
|
||||
eatmydata -- go run test.go -docker=false -follow -shard vreplication_v2 | tee -a output.txt | go-junit-report -set-exit-code > report.xml
|
||||
|
||||
|
|
|
@ -0,0 +1,199 @@
|
|||
# DO NOT MODIFY: THIS FILE IS GENERATED USING "make generate_ci_workflows"
|
||||
|
||||
name: Cluster (vreplication_vdiff2)
|
||||
on: [push, pull_request]
|
||||
concurrency:
|
||||
group: format('{0}-{1}', ${{ github.ref }}, 'Cluster (vreplication_vdiff2)')
|
||||
cancel-in-progress: true
|
||||
|
||||
permissions: read-all
|
||||
|
||||
env:
|
||||
LAUNCHABLE_ORGANIZATION: "vitess"
|
||||
LAUNCHABLE_WORKSPACE: "vitess-app"
|
||||
GITHUB_PR_HEAD_SHA: "${{ github.event.pull_request.head.sha }}"
|
||||
|
||||
jobs:
|
||||
build:
|
||||
timeout-minutes: 60
|
||||
name: Run endtoend tests on Cluster (vreplication_vdiff2)
|
||||
runs-on: ubuntu-24.04
|
||||
|
||||
steps:
|
||||
- name: Skip CI
|
||||
run: |
|
||||
if [[ "${{contains( github.event.pull_request.labels.*.name, 'Skip CI')}}" == "true" ]]; then
|
||||
echo "skipping CI due to the 'Skip CI' label"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
- name: Check if workflow needs to be skipped
|
||||
id: skip-workflow
|
||||
run: |
|
||||
skip='false'
|
||||
if [[ "${{github.event.pull_request}}" == "" ]] && [[ "${{github.ref}}" != "refs/heads/main" ]] && [[ ! "${{github.ref}}" =~ ^refs/heads/release-[0-9]+\.[0-9]$ ]] && [[ ! "${{github.ref}}" =~ "refs/tags/.*" ]]; then
|
||||
skip='true'
|
||||
fi
|
||||
echo Skip ${skip}
|
||||
echo "skip-workflow=${skip}" >> $GITHUB_OUTPUT
|
||||
|
||||
PR_DATA=$(curl -s\
|
||||
-H "Authorization: token ${{ secrets.GITHUB_TOKEN }}" \
|
||||
-H "Accept: application/vnd.github.v3+json" \
|
||||
"https://api.github.com/repos/${{ github.repository }}/pulls/${{ github.event.pull_request.number }}")
|
||||
draft=$(echo "$PR_DATA" | jq .draft -r)
|
||||
echo "is_draft=${draft}" >> $GITHUB_OUTPUT
|
||||
|
||||
- name: Check out code
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false'
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
persist-credentials: 'false'
|
||||
|
||||
- name: Check for changes in relevant files
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false'
|
||||
uses: dorny/paths-filter@ebc4d7e9ebcb0b1eb21480bb8f43113e996ac77a # v3.0.1
|
||||
id: changes
|
||||
with:
|
||||
token: ''
|
||||
filters: |
|
||||
end_to_end:
|
||||
- 'test/config.json'
|
||||
- 'go/**/*.go'
|
||||
- 'go/vt/sidecardb/**/*.sql'
|
||||
- 'go/test/endtoend/onlineddl/vrepl_suite/**'
|
||||
- 'test.go'
|
||||
- 'Makefile'
|
||||
- 'build.env'
|
||||
- 'go.sum'
|
||||
- 'go.mod'
|
||||
- 'proto/*.proto'
|
||||
- 'tools/**'
|
||||
- 'config/**'
|
||||
- 'bootstrap.sh'
|
||||
- '.github/workflows/cluster_endtoend_vreplication_vdiff2.yml'
|
||||
|
||||
- name: Set up Go
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
|
||||
uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 # v5.0.2
|
||||
with:
|
||||
go-version-file: go.mod
|
||||
|
||||
- name: Set up python
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
|
||||
uses: actions/setup-python@39cd14951b08e74b54015e9e001cdefcf80e669f # v5.1.1
|
||||
|
||||
- name: Tune the OS
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
|
||||
run: |
|
||||
# Limit local port range to not use ports that overlap with server side
|
||||
# ports that we listen on.
|
||||
sudo sysctl -w net.ipv4.ip_local_port_range="22768 65535"
|
||||
# Increase the asynchronous non-blocking I/O. More information at https://dev.mysql.com/doc/refman/5.7/en/innodb-parameters.html#sysvar_innodb_use_native_aio
|
||||
echo "fs.aio-max-nr = 1048576" | sudo tee -a /etc/sysctl.conf
|
||||
sudo sysctl -p /etc/sysctl.conf
|
||||
|
||||
- name: Get dependencies
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
|
||||
timeout-minutes: 10
|
||||
run: |
|
||||
|
||||
# Get key to latest MySQL repo
|
||||
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys A8D3785C
|
||||
# Setup MySQL 8.0
|
||||
wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.33-1_all.deb
|
||||
echo mysql-apt-config mysql-apt-config/select-server select mysql-8.0 | sudo debconf-set-selections
|
||||
sudo DEBIAN_FRONTEND="noninteractive" dpkg -i mysql-apt-config*
|
||||
sudo apt-get -qq update
|
||||
|
||||
# We have to install this old version of libaio1 in case we end up testing with MySQL 5.7. See also:
|
||||
# https://bugs.launchpad.net/ubuntu/+source/libaio/+bug/2067501
|
||||
curl -L -O http://mirrors.kernel.org/ubuntu/pool/main/liba/libaio/libaio1_0.3.112-13build1_amd64.deb
|
||||
sudo dpkg -i libaio1_0.3.112-13build1_amd64.deb
|
||||
# libtinfo5 is also needed for older MySQL 5.7 builds.
|
||||
curl -L -O http://mirrors.kernel.org/ubuntu/pool/universe/n/ncurses/libtinfo5_6.3-2ubuntu0.1_amd64.deb
|
||||
sudo dpkg -i libtinfo5_6.3-2ubuntu0.1_amd64.deb
|
||||
|
||||
# Install everything else we need, and configure
|
||||
sudo apt-get -qq install -y mysql-server mysql-shell mysql-client make unzip g++ etcd-client etcd-server curl git wget eatmydata xz-utils libncurses6
|
||||
|
||||
sudo service mysql stop
|
||||
sudo service etcd stop
|
||||
sudo ln -s /etc/apparmor.d/usr.sbin.mysqld /etc/apparmor.d/disable/
|
||||
sudo apparmor_parser -R /etc/apparmor.d/usr.sbin.mysqld
|
||||
go mod download
|
||||
|
||||
# install JUnit report formatter
|
||||
go install github.com/vitessio/go-junit-report@HEAD
|
||||
|
||||
- name: Setup launchable dependencies
|
||||
if: steps.skip-workflow.outputs.is_draft == 'false' && steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true' && github.base_ref == 'main'
|
||||
run: |
|
||||
# Get Launchable CLI installed. If you can, make it a part of the builder image to speed things up
|
||||
pip3 install --user launchable~=1.0 > /dev/null
|
||||
|
||||
# verify that launchable setup is all correct.
|
||||
launchable verify || true
|
||||
|
||||
# Tell Launchable about the build you are producing and testing
|
||||
launchable record build --name "$GITHUB_RUN_ID" --no-commit-collection --source .
|
||||
|
||||
- name: Run cluster endtoend test
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
|
||||
timeout-minutes: 45
|
||||
run: |
|
||||
# We set the VTDATAROOT to the /tmp folder to reduce the file path of mysql.sock file
|
||||
# which musn't be more than 107 characters long.
|
||||
export VTDATAROOT="/tmp/"
|
||||
source build.env
|
||||
|
||||
set -exo pipefail
|
||||
|
||||
# Increase our open file descriptor limit as we could hit this
|
||||
ulimit -n 65536
|
||||
cat <<-EOF>>./config/mycnf/mysql8026.cnf
|
||||
innodb_buffer_pool_dump_at_shutdown=OFF
|
||||
innodb_buffer_pool_in_core_file=OFF
|
||||
innodb_buffer_pool_load_at_startup=OFF
|
||||
innodb_buffer_pool_size=64M
|
||||
innodb_doublewrite=OFF
|
||||
innodb_flush_log_at_trx_commit=0
|
||||
innodb_flush_method=O_DIRECT
|
||||
innodb_numa_interleave=ON
|
||||
innodb_adaptive_hash_index=OFF
|
||||
sync_binlog=0
|
||||
sync_relay_log=0
|
||||
performance_schema=OFF
|
||||
slow-query-log=OFF
|
||||
EOF
|
||||
|
||||
cat <<-EOF>>./config/mycnf/mysql8026.cnf
|
||||
binlog-transaction-compression=ON
|
||||
EOF
|
||||
|
||||
cat <<-EOF>>./config/mycnf/mysql8026.cnf
|
||||
binlog-row-value-options=PARTIAL_JSON
|
||||
EOF
|
||||
|
||||
# Some of these tests require specific locales to be installed.
|
||||
# See https://github.com/cncf/automation/commit/49f2ad7a791a62ff7d038002bbb2b1f074eed5d5
|
||||
# run the tests however you normally do, then produce a JUnit XML file
|
||||
eatmydata -- go run test.go -docker=false -follow -shard vreplication_vdiff2 | tee -a output.txt | go-junit-report -set-exit-code > report.xml
|
||||
|
||||
- name: Print test output and Record test result in launchable if PR is not a draft
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true' && always()
|
||||
run: |
|
||||
if [[ "${{steps.skip-workflow.outputs.is_draft}}" == "false" ]]; then
|
||||
# send recorded tests to launchable
|
||||
launchable record tests --build "$GITHUB_RUN_ID" go-test . || true
|
||||
fi
|
||||
|
||||
# print test output
|
||||
cat output.txt
|
||||
|
||||
- name: Test Summary
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true' && always()
|
||||
uses: test-summary/action@31493c76ec9e7aa675f1585d3ed6f1da69269a86 # v2.4
|
||||
with:
|
||||
paths: "report.xml"
|
||||
show: "fail"
|
199
.github/workflows/cluster_endtoend_vreplication_vtctldclient_movetables_tz.yml
vendored
Normal file
199
.github/workflows/cluster_endtoend_vreplication_vtctldclient_movetables_tz.yml
vendored
Normal file
|
@ -0,0 +1,199 @@
|
|||
# DO NOT MODIFY: THIS FILE IS GENERATED USING "make generate_ci_workflows"
|
||||
|
||||
name: Cluster (vreplication_vtctldclient_movetables_tz)
|
||||
on: [push, pull_request]
|
||||
concurrency:
|
||||
group: format('{0}-{1}', ${{ github.ref }}, 'Cluster (vreplication_vtctldclient_movetables_tz)')
|
||||
cancel-in-progress: true
|
||||
|
||||
permissions: read-all
|
||||
|
||||
env:
|
||||
LAUNCHABLE_ORGANIZATION: "vitess"
|
||||
LAUNCHABLE_WORKSPACE: "vitess-app"
|
||||
GITHUB_PR_HEAD_SHA: "${{ github.event.pull_request.head.sha }}"
|
||||
|
||||
jobs:
|
||||
build:
|
||||
timeout-minutes: 60
|
||||
name: Run endtoend tests on Cluster (vreplication_vtctldclient_movetables_tz)
|
||||
runs-on: ubuntu-24.04
|
||||
|
||||
steps:
|
||||
- name: Skip CI
|
||||
run: |
|
||||
if [[ "${{contains( github.event.pull_request.labels.*.name, 'Skip CI')}}" == "true" ]]; then
|
||||
echo "skipping CI due to the 'Skip CI' label"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
- name: Check if workflow needs to be skipped
|
||||
id: skip-workflow
|
||||
run: |
|
||||
skip='false'
|
||||
if [[ "${{github.event.pull_request}}" == "" ]] && [[ "${{github.ref}}" != "refs/heads/main" ]] && [[ ! "${{github.ref}}" =~ ^refs/heads/release-[0-9]+\.[0-9]$ ]] && [[ ! "${{github.ref}}" =~ "refs/tags/.*" ]]; then
|
||||
skip='true'
|
||||
fi
|
||||
echo Skip ${skip}
|
||||
echo "skip-workflow=${skip}" >> $GITHUB_OUTPUT
|
||||
|
||||
PR_DATA=$(curl -s\
|
||||
-H "Authorization: token ${{ secrets.GITHUB_TOKEN }}" \
|
||||
-H "Accept: application/vnd.github.v3+json" \
|
||||
"https://api.github.com/repos/${{ github.repository }}/pulls/${{ github.event.pull_request.number }}")
|
||||
draft=$(echo "$PR_DATA" | jq .draft -r)
|
||||
echo "is_draft=${draft}" >> $GITHUB_OUTPUT
|
||||
|
||||
- name: Check out code
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false'
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
persist-credentials: 'false'
|
||||
|
||||
- name: Check for changes in relevant files
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false'
|
||||
uses: dorny/paths-filter@ebc4d7e9ebcb0b1eb21480bb8f43113e996ac77a # v3.0.1
|
||||
id: changes
|
||||
with:
|
||||
token: ''
|
||||
filters: |
|
||||
end_to_end:
|
||||
- 'test/config.json'
|
||||
- 'go/**/*.go'
|
||||
- 'go/vt/sidecardb/**/*.sql'
|
||||
- 'go/test/endtoend/onlineddl/vrepl_suite/**'
|
||||
- 'test.go'
|
||||
- 'Makefile'
|
||||
- 'build.env'
|
||||
- 'go.sum'
|
||||
- 'go.mod'
|
||||
- 'proto/*.proto'
|
||||
- 'tools/**'
|
||||
- 'config/**'
|
||||
- 'bootstrap.sh'
|
||||
- '.github/workflows/cluster_endtoend_vreplication_vtctldclient_movetables_tz.yml'
|
||||
|
||||
- name: Set up Go
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
|
||||
uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 # v5.0.2
|
||||
with:
|
||||
go-version-file: go.mod
|
||||
|
||||
- name: Set up python
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
|
||||
uses: actions/setup-python@39cd14951b08e74b54015e9e001cdefcf80e669f # v5.1.1
|
||||
|
||||
- name: Tune the OS
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
|
||||
run: |
|
||||
# Limit local port range to not use ports that overlap with server side
|
||||
# ports that we listen on.
|
||||
sudo sysctl -w net.ipv4.ip_local_port_range="22768 65535"
|
||||
# Increase the asynchronous non-blocking I/O. More information at https://dev.mysql.com/doc/refman/5.7/en/innodb-parameters.html#sysvar_innodb_use_native_aio
|
||||
echo "fs.aio-max-nr = 1048576" | sudo tee -a /etc/sysctl.conf
|
||||
sudo sysctl -p /etc/sysctl.conf
|
||||
|
||||
- name: Get dependencies
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
|
||||
timeout-minutes: 10
|
||||
run: |
|
||||
|
||||
# Get key to latest MySQL repo
|
||||
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys A8D3785C
|
||||
# Setup MySQL 8.0
|
||||
wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.33-1_all.deb
|
||||
echo mysql-apt-config mysql-apt-config/select-server select mysql-8.0 | sudo debconf-set-selections
|
||||
sudo DEBIAN_FRONTEND="noninteractive" dpkg -i mysql-apt-config*
|
||||
sudo apt-get -qq update
|
||||
|
||||
# We have to install this old version of libaio1 in case we end up testing with MySQL 5.7. See also:
|
||||
# https://bugs.launchpad.net/ubuntu/+source/libaio/+bug/2067501
|
||||
curl -L -O http://mirrors.kernel.org/ubuntu/pool/main/liba/libaio/libaio1_0.3.112-13build1_amd64.deb
|
||||
sudo dpkg -i libaio1_0.3.112-13build1_amd64.deb
|
||||
# libtinfo5 is also needed for older MySQL 5.7 builds.
|
||||
curl -L -O http://mirrors.kernel.org/ubuntu/pool/universe/n/ncurses/libtinfo5_6.3-2ubuntu0.1_amd64.deb
|
||||
sudo dpkg -i libtinfo5_6.3-2ubuntu0.1_amd64.deb
|
||||
|
||||
# Install everything else we need, and configure
|
||||
sudo apt-get -qq install -y mysql-server mysql-shell mysql-client make unzip g++ etcd-client etcd-server curl git wget eatmydata xz-utils libncurses6
|
||||
|
||||
sudo service mysql stop
|
||||
sudo service etcd stop
|
||||
sudo ln -s /etc/apparmor.d/usr.sbin.mysqld /etc/apparmor.d/disable/
|
||||
sudo apparmor_parser -R /etc/apparmor.d/usr.sbin.mysqld
|
||||
go mod download
|
||||
|
||||
# install JUnit report formatter
|
||||
go install github.com/vitessio/go-junit-report@HEAD
|
||||
|
||||
- name: Setup launchable dependencies
|
||||
if: steps.skip-workflow.outputs.is_draft == 'false' && steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true' && github.base_ref == 'main'
|
||||
run: |
|
||||
# Get Launchable CLI installed. If you can, make it a part of the builder image to speed things up
|
||||
pip3 install --user launchable~=1.0 > /dev/null
|
||||
|
||||
# verify that launchable setup is all correct.
|
||||
launchable verify || true
|
||||
|
||||
# Tell Launchable about the build you are producing and testing
|
||||
launchable record build --name "$GITHUB_RUN_ID" --no-commit-collection --source .
|
||||
|
||||
- name: Run cluster endtoend test
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
|
||||
timeout-minutes: 45
|
||||
run: |
|
||||
# We set the VTDATAROOT to the /tmp folder to reduce the file path of mysql.sock file
|
||||
# which musn't be more than 107 characters long.
|
||||
export VTDATAROOT="/tmp/"
|
||||
source build.env
|
||||
|
||||
set -exo pipefail
|
||||
|
||||
# Increase our open file descriptor limit as we could hit this
|
||||
ulimit -n 65536
|
||||
cat <<-EOF>>./config/mycnf/mysql8026.cnf
|
||||
innodb_buffer_pool_dump_at_shutdown=OFF
|
||||
innodb_buffer_pool_in_core_file=OFF
|
||||
innodb_buffer_pool_load_at_startup=OFF
|
||||
innodb_buffer_pool_size=64M
|
||||
innodb_doublewrite=OFF
|
||||
innodb_flush_log_at_trx_commit=0
|
||||
innodb_flush_method=O_DIRECT
|
||||
innodb_numa_interleave=ON
|
||||
innodb_adaptive_hash_index=OFF
|
||||
sync_binlog=0
|
||||
sync_relay_log=0
|
||||
performance_schema=OFF
|
||||
slow-query-log=OFF
|
||||
EOF
|
||||
|
||||
cat <<-EOF>>./config/mycnf/mysql8026.cnf
|
||||
binlog-transaction-compression=ON
|
||||
EOF
|
||||
|
||||
cat <<-EOF>>./config/mycnf/mysql8026.cnf
|
||||
binlog-row-value-options=PARTIAL_JSON
|
||||
EOF
|
||||
|
||||
# Some of these tests require specific locales to be installed.
|
||||
# See https://github.com/cncf/automation/commit/49f2ad7a791a62ff7d038002bbb2b1f074eed5d5
|
||||
# run the tests however you normally do, then produce a JUnit XML file
|
||||
eatmydata -- go run test.go -docker=false -follow -shard vreplication_vtctldclient_movetables_tz | tee -a output.txt | go-junit-report -set-exit-code > report.xml
|
||||
|
||||
- name: Print test output and Record test result in launchable if PR is not a draft
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true' && always()
|
||||
run: |
|
||||
if [[ "${{steps.skip-workflow.outputs.is_draft}}" == "false" ]]; then
|
||||
# send recorded tests to launchable
|
||||
launchable record tests --build "$GITHUB_RUN_ID" go-test . || true
|
||||
fi
|
||||
|
||||
# print test output
|
||||
cat output.txt
|
||||
|
||||
- name: Test Summary
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true' && always()
|
||||
uses: test-summary/action@31493c76ec9e7aa675f1585d3ed6f1da69269a86 # v2.4
|
||||
with:
|
||||
paths: "report.xml"
|
||||
show: "fail"
|
|
@ -15,8 +15,9 @@ env:
|
|||
|
||||
jobs:
|
||||
build:
|
||||
timeout-minutes: 60
|
||||
name: Run endtoend tests on Cluster (vstream)
|
||||
runs-on: ubuntu-latest
|
||||
runs-on: ubuntu-24.04
|
||||
|
||||
steps:
|
||||
- name: Skip CI
|
||||
|
@ -45,7 +46,9 @@ jobs:
|
|||
|
||||
- name: Check out code
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false'
|
||||
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
persist-credentials: 'false'
|
||||
|
||||
- name: Check for changes in relevant files
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false'
|
||||
|
@ -55,6 +58,7 @@ jobs:
|
|||
token: ''
|
||||
filters: |
|
||||
end_to_end:
|
||||
- 'test/config.json'
|
||||
- 'go/**/*.go'
|
||||
- 'go/vt/sidecardb/**/*.sql'
|
||||
- 'go/test/endtoend/onlineddl/vrepl_suite/**'
|
||||
|
@ -91,17 +95,27 @@ jobs:
|
|||
|
||||
- name: Get dependencies
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
|
||||
timeout-minutes: 10
|
||||
run: |
|
||||
|
||||
# Get key to latest MySQL repo
|
||||
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys A8D3785C
|
||||
# Setup MySQL 8.0
|
||||
wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.32-1_all.deb
|
||||
wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.33-1_all.deb
|
||||
echo mysql-apt-config mysql-apt-config/select-server select mysql-8.0 | sudo debconf-set-selections
|
||||
sudo DEBIAN_FRONTEND="noninteractive" dpkg -i mysql-apt-config*
|
||||
sudo apt-get -qq update
|
||||
|
||||
# We have to install this old version of libaio1 in case we end up testing with MySQL 5.7. See also:
|
||||
# https://bugs.launchpad.net/ubuntu/+source/libaio/+bug/2067501
|
||||
curl -L -O http://mirrors.kernel.org/ubuntu/pool/main/liba/libaio/libaio1_0.3.112-13build1_amd64.deb
|
||||
sudo dpkg -i libaio1_0.3.112-13build1_amd64.deb
|
||||
# libtinfo5 is also needed for older MySQL 5.7 builds.
|
||||
curl -L -O http://mirrors.kernel.org/ubuntu/pool/universe/n/ncurses/libtinfo5_6.3-2ubuntu0.1_amd64.deb
|
||||
sudo dpkg -i libtinfo5_6.3-2ubuntu0.1_amd64.deb
|
||||
|
||||
# Install everything else we need, and configure
|
||||
sudo apt-get -qq install -y mysql-server mysql-shell mysql-client make unzip g++ etcd curl git wget eatmydata xz-utils libncurses5
|
||||
sudo apt-get -qq install -y mysql-server mysql-shell mysql-client make unzip g++ etcd-client etcd-server curl git wget eatmydata xz-utils libncurses6
|
||||
|
||||
sudo service mysql stop
|
||||
sudo service etcd stop
|
||||
|
@ -135,6 +149,8 @@ jobs:
|
|||
|
||||
set -exo pipefail
|
||||
|
||||
# Some of these tests require specific locales to be installed.
|
||||
# See https://github.com/cncf/automation/commit/49f2ad7a791a62ff7d038002bbb2b1f074eed5d5
|
||||
# run the tests however you normally do, then produce a JUnit XML file
|
||||
eatmydata -- go run test.go -docker=false -follow -shard vstream | tee -a output.txt | go-junit-report -set-exit-code > report.xml
|
||||
|
||||
|
|
|
@ -15,8 +15,9 @@ env:
|
|||
|
||||
jobs:
|
||||
build:
|
||||
timeout-minutes: 60
|
||||
name: Run endtoend tests on Cluster (vtbackup)
|
||||
runs-on: ubuntu-latest
|
||||
runs-on: ubuntu-24.04
|
||||
|
||||
steps:
|
||||
- name: Skip CI
|
||||
|
@ -45,7 +46,9 @@ jobs:
|
|||
|
||||
- name: Check out code
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false'
|
||||
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
persist-credentials: 'false'
|
||||
|
||||
- name: Check for changes in relevant files
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false'
|
||||
|
@ -55,6 +58,7 @@ jobs:
|
|||
token: ''
|
||||
filters: |
|
||||
end_to_end:
|
||||
- 'test/config.json'
|
||||
- 'go/**/*.go'
|
||||
- 'go/vt/sidecardb/**/*.sql'
|
||||
- 'go/test/endtoend/onlineddl/vrepl_suite/**'
|
||||
|
@ -91,17 +95,27 @@ jobs:
|
|||
|
||||
- name: Get dependencies
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
|
||||
timeout-minutes: 10
|
||||
run: |
|
||||
|
||||
# Get key to latest MySQL repo
|
||||
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys A8D3785C
|
||||
# Setup MySQL 8.0
|
||||
wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.32-1_all.deb
|
||||
wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.33-1_all.deb
|
||||
echo mysql-apt-config mysql-apt-config/select-server select mysql-8.0 | sudo debconf-set-selections
|
||||
sudo DEBIAN_FRONTEND="noninteractive" dpkg -i mysql-apt-config*
|
||||
sudo apt-get -qq update
|
||||
|
||||
# We have to install this old version of libaio1 in case we end up testing with MySQL 5.7. See also:
|
||||
# https://bugs.launchpad.net/ubuntu/+source/libaio/+bug/2067501
|
||||
curl -L -O http://mirrors.kernel.org/ubuntu/pool/main/liba/libaio/libaio1_0.3.112-13build1_amd64.deb
|
||||
sudo dpkg -i libaio1_0.3.112-13build1_amd64.deb
|
||||
# libtinfo5 is also needed for older MySQL 5.7 builds.
|
||||
curl -L -O http://mirrors.kernel.org/ubuntu/pool/universe/n/ncurses/libtinfo5_6.3-2ubuntu0.1_amd64.deb
|
||||
sudo dpkg -i libtinfo5_6.3-2ubuntu0.1_amd64.deb
|
||||
|
||||
# Install everything else we need, and configure
|
||||
sudo apt-get -qq install -y mysql-server mysql-shell mysql-client make unzip g++ etcd curl git wget eatmydata xz-utils libncurses5
|
||||
sudo apt-get -qq install -y mysql-server mysql-shell mysql-client make unzip g++ etcd-client etcd-server curl git wget eatmydata xz-utils libncurses6
|
||||
|
||||
sudo service mysql stop
|
||||
sudo service etcd stop
|
||||
|
@ -135,6 +149,8 @@ jobs:
|
|||
|
||||
set -exo pipefail
|
||||
|
||||
# Some of these tests require specific locales to be installed.
|
||||
# See https://github.com/cncf/automation/commit/49f2ad7a791a62ff7d038002bbb2b1f074eed5d5
|
||||
# run the tests however you normally do, then produce a JUnit XML file
|
||||
eatmydata -- go run test.go -docker=false -follow -shard vtbackup | tee -a output.txt | go-junit-report -set-exit-code > report.xml
|
||||
|
||||
|
|
|
@ -15,8 +15,9 @@ env:
|
|||
|
||||
jobs:
|
||||
build:
|
||||
timeout-minutes: 60
|
||||
name: Run endtoend tests on Cluster (vtctlbackup_sharded_clustertest_heavy)
|
||||
runs-on: ubuntu-latest
|
||||
runs-on: ubuntu-24.04
|
||||
|
||||
steps:
|
||||
- name: Skip CI
|
||||
|
@ -45,7 +46,9 @@ jobs:
|
|||
|
||||
- name: Check out code
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false'
|
||||
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
persist-credentials: 'false'
|
||||
|
||||
- name: Check for changes in relevant files
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false'
|
||||
|
@ -55,6 +58,7 @@ jobs:
|
|||
token: ''
|
||||
filters: |
|
||||
end_to_end:
|
||||
- 'test/config.json'
|
||||
- 'go/**/*.go'
|
||||
- 'go/vt/sidecardb/**/*.sql'
|
||||
- 'go/test/endtoend/onlineddl/vrepl_suite/**'
|
||||
|
@ -91,17 +95,27 @@ jobs:
|
|||
|
||||
- name: Get dependencies
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
|
||||
timeout-minutes: 10
|
||||
run: |
|
||||
|
||||
# Get key to latest MySQL repo
|
||||
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys A8D3785C
|
||||
# Setup MySQL 8.0
|
||||
wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.32-1_all.deb
|
||||
wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.33-1_all.deb
|
||||
echo mysql-apt-config mysql-apt-config/select-server select mysql-8.0 | sudo debconf-set-selections
|
||||
sudo DEBIAN_FRONTEND="noninteractive" dpkg -i mysql-apt-config*
|
||||
sudo apt-get -qq update
|
||||
|
||||
# We have to install this old version of libaio1 in case we end up testing with MySQL 5.7. See also:
|
||||
# https://bugs.launchpad.net/ubuntu/+source/libaio/+bug/2067501
|
||||
curl -L -O http://mirrors.kernel.org/ubuntu/pool/main/liba/libaio/libaio1_0.3.112-13build1_amd64.deb
|
||||
sudo dpkg -i libaio1_0.3.112-13build1_amd64.deb
|
||||
# libtinfo5 is also needed for older MySQL 5.7 builds.
|
||||
curl -L -O http://mirrors.kernel.org/ubuntu/pool/universe/n/ncurses/libtinfo5_6.3-2ubuntu0.1_amd64.deb
|
||||
sudo dpkg -i libtinfo5_6.3-2ubuntu0.1_amd64.deb
|
||||
|
||||
# Install everything else we need, and configure
|
||||
sudo apt-get -qq install -y mysql-server mysql-shell mysql-client make unzip g++ etcd curl git wget eatmydata xz-utils libncurses5
|
||||
sudo apt-get -qq install -y mysql-server mysql-shell mysql-client make unzip g++ etcd-client etcd-server curl git wget eatmydata xz-utils libncurses6
|
||||
|
||||
sudo service mysql stop
|
||||
sudo service etcd stop
|
||||
|
@ -153,6 +167,8 @@ jobs:
|
|||
slow-query-log=OFF
|
||||
EOF
|
||||
|
||||
# Some of these tests require specific locales to be installed.
|
||||
# See https://github.com/cncf/automation/commit/49f2ad7a791a62ff7d038002bbb2b1f074eed5d5
|
||||
# run the tests however you normally do, then produce a JUnit XML file
|
||||
eatmydata -- go run test.go -docker=false -follow -shard vtctlbackup_sharded_clustertest_heavy | tee -a output.txt | go-junit-report -set-exit-code > report.xml
|
||||
|
||||
|
|
|
@ -15,8 +15,9 @@ env:
|
|||
|
||||
jobs:
|
||||
build:
|
||||
timeout-minutes: 60
|
||||
name: Run endtoend tests on Cluster (vtgate_concurrentdml)
|
||||
runs-on: ubuntu-latest
|
||||
runs-on: ubuntu-24.04
|
||||
|
||||
steps:
|
||||
- name: Skip CI
|
||||
|
@ -45,7 +46,9 @@ jobs:
|
|||
|
||||
- name: Check out code
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false'
|
||||
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
persist-credentials: 'false'
|
||||
|
||||
- name: Check for changes in relevant files
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false'
|
||||
|
@ -55,6 +58,7 @@ jobs:
|
|||
token: ''
|
||||
filters: |
|
||||
end_to_end:
|
||||
- 'test/config.json'
|
||||
- 'go/**/*.go'
|
||||
- 'go/vt/sidecardb/**/*.sql'
|
||||
- 'go/test/endtoend/onlineddl/vrepl_suite/**'
|
||||
|
@ -91,17 +95,27 @@ jobs:
|
|||
|
||||
- name: Get dependencies
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
|
||||
timeout-minutes: 10
|
||||
run: |
|
||||
|
||||
# Get key to latest MySQL repo
|
||||
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys A8D3785C
|
||||
# Setup MySQL 8.0
|
||||
wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.32-1_all.deb
|
||||
wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.33-1_all.deb
|
||||
echo mysql-apt-config mysql-apt-config/select-server select mysql-8.0 | sudo debconf-set-selections
|
||||
sudo DEBIAN_FRONTEND="noninteractive" dpkg -i mysql-apt-config*
|
||||
sudo apt-get -qq update
|
||||
|
||||
# We have to install this old version of libaio1 in case we end up testing with MySQL 5.7. See also:
|
||||
# https://bugs.launchpad.net/ubuntu/+source/libaio/+bug/2067501
|
||||
curl -L -O http://mirrors.kernel.org/ubuntu/pool/main/liba/libaio/libaio1_0.3.112-13build1_amd64.deb
|
||||
sudo dpkg -i libaio1_0.3.112-13build1_amd64.deb
|
||||
# libtinfo5 is also needed for older MySQL 5.7 builds.
|
||||
curl -L -O http://mirrors.kernel.org/ubuntu/pool/universe/n/ncurses/libtinfo5_6.3-2ubuntu0.1_amd64.deb
|
||||
sudo dpkg -i libtinfo5_6.3-2ubuntu0.1_amd64.deb
|
||||
|
||||
# Install everything else we need, and configure
|
||||
sudo apt-get -qq install -y mysql-server mysql-shell mysql-client make unzip g++ etcd curl git wget eatmydata xz-utils libncurses5
|
||||
sudo apt-get -qq install -y mysql-server mysql-shell mysql-client make unzip g++ etcd-client etcd-server curl git wget eatmydata xz-utils libncurses6
|
||||
|
||||
sudo service mysql stop
|
||||
sudo service etcd stop
|
||||
|
@ -135,6 +149,8 @@ jobs:
|
|||
|
||||
set -exo pipefail
|
||||
|
||||
# Some of these tests require specific locales to be installed.
|
||||
# See https://github.com/cncf/automation/commit/49f2ad7a791a62ff7d038002bbb2b1f074eed5d5
|
||||
# run the tests however you normally do, then produce a JUnit XML file
|
||||
eatmydata -- go run test.go -docker=false -follow -shard vtgate_concurrentdml | tee -a output.txt | go-junit-report -set-exit-code > report.xml
|
||||
|
||||
|
|
|
@ -15,8 +15,9 @@ env:
|
|||
|
||||
jobs:
|
||||
build:
|
||||
timeout-minutes: 60
|
||||
name: Run endtoend tests on Cluster (vtgate_foreignkey_stress)
|
||||
runs-on: ubuntu-latest
|
||||
runs-on: ubuntu-24.04
|
||||
|
||||
steps:
|
||||
- name: Skip CI
|
||||
|
@ -45,7 +46,9 @@ jobs:
|
|||
|
||||
- name: Check out code
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false'
|
||||
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
persist-credentials: 'false'
|
||||
|
||||
- name: Check for changes in relevant files
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false'
|
||||
|
@ -55,6 +58,7 @@ jobs:
|
|||
token: ''
|
||||
filters: |
|
||||
end_to_end:
|
||||
- 'test/config.json'
|
||||
- 'go/**/*.go'
|
||||
- 'go/vt/sidecardb/**/*.sql'
|
||||
- 'go/test/endtoend/onlineddl/vrepl_suite/**'
|
||||
|
@ -91,17 +95,27 @@ jobs:
|
|||
|
||||
- name: Get dependencies
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
|
||||
timeout-minutes: 10
|
||||
run: |
|
||||
|
||||
# Get key to latest MySQL repo
|
||||
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys A8D3785C
|
||||
# Setup MySQL 8.0
|
||||
wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.32-1_all.deb
|
||||
wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.33-1_all.deb
|
||||
echo mysql-apt-config mysql-apt-config/select-server select mysql-8.0 | sudo debconf-set-selections
|
||||
sudo DEBIAN_FRONTEND="noninteractive" dpkg -i mysql-apt-config*
|
||||
sudo apt-get -qq update
|
||||
|
||||
# We have to install this old version of libaio1 in case we end up testing with MySQL 5.7. See also:
|
||||
# https://bugs.launchpad.net/ubuntu/+source/libaio/+bug/2067501
|
||||
curl -L -O http://mirrors.kernel.org/ubuntu/pool/main/liba/libaio/libaio1_0.3.112-13build1_amd64.deb
|
||||
sudo dpkg -i libaio1_0.3.112-13build1_amd64.deb
|
||||
# libtinfo5 is also needed for older MySQL 5.7 builds.
|
||||
curl -L -O http://mirrors.kernel.org/ubuntu/pool/universe/n/ncurses/libtinfo5_6.3-2ubuntu0.1_amd64.deb
|
||||
sudo dpkg -i libtinfo5_6.3-2ubuntu0.1_amd64.deb
|
||||
|
||||
# Install everything else we need, and configure
|
||||
sudo apt-get -qq install -y mysql-server mysql-shell mysql-client make unzip g++ etcd curl git wget eatmydata xz-utils libncurses5
|
||||
sudo apt-get -qq install -y mysql-server mysql-shell mysql-client make unzip g++ etcd-client etcd-server curl git wget eatmydata xz-utils libncurses6
|
||||
|
||||
sudo service mysql stop
|
||||
sudo service etcd stop
|
||||
|
@ -135,6 +149,8 @@ jobs:
|
|||
|
||||
set -exo pipefail
|
||||
|
||||
# Some of these tests require specific locales to be installed.
|
||||
# See https://github.com/cncf/automation/commit/49f2ad7a791a62ff7d038002bbb2b1f074eed5d5
|
||||
# run the tests however you normally do, then produce a JUnit XML file
|
||||
eatmydata -- go run test.go -docker=false -follow -shard vtgate_foreignkey_stress | tee -a output.txt | go-junit-report -set-exit-code > report.xml
|
||||
|
||||
|
|
|
@ -15,8 +15,9 @@ env:
|
|||
|
||||
jobs:
|
||||
build:
|
||||
timeout-minutes: 60
|
||||
name: Run endtoend tests on Cluster (vtgate_gen4)
|
||||
runs-on: ubuntu-latest
|
||||
runs-on: ubuntu-24.04
|
||||
|
||||
steps:
|
||||
- name: Skip CI
|
||||
|
@ -45,7 +46,9 @@ jobs:
|
|||
|
||||
- name: Check out code
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false'
|
||||
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
persist-credentials: 'false'
|
||||
|
||||
- name: Check for changes in relevant files
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false'
|
||||
|
@ -55,6 +58,7 @@ jobs:
|
|||
token: ''
|
||||
filters: |
|
||||
end_to_end:
|
||||
- 'test/config.json'
|
||||
- 'go/**/*.go'
|
||||
- 'go/vt/sidecardb/**/*.sql'
|
||||
- 'go/test/endtoend/onlineddl/vrepl_suite/**'
|
||||
|
@ -91,17 +95,27 @@ jobs:
|
|||
|
||||
- name: Get dependencies
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
|
||||
timeout-minutes: 10
|
||||
run: |
|
||||
|
||||
# Get key to latest MySQL repo
|
||||
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys A8D3785C
|
||||
# Setup MySQL 8.0
|
||||
wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.32-1_all.deb
|
||||
wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.33-1_all.deb
|
||||
echo mysql-apt-config mysql-apt-config/select-server select mysql-8.0 | sudo debconf-set-selections
|
||||
sudo DEBIAN_FRONTEND="noninteractive" dpkg -i mysql-apt-config*
|
||||
sudo apt-get -qq update
|
||||
|
||||
# We have to install this old version of libaio1 in case we end up testing with MySQL 5.7. See also:
|
||||
# https://bugs.launchpad.net/ubuntu/+source/libaio/+bug/2067501
|
||||
curl -L -O http://mirrors.kernel.org/ubuntu/pool/main/liba/libaio/libaio1_0.3.112-13build1_amd64.deb
|
||||
sudo dpkg -i libaio1_0.3.112-13build1_amd64.deb
|
||||
# libtinfo5 is also needed for older MySQL 5.7 builds.
|
||||
curl -L -O http://mirrors.kernel.org/ubuntu/pool/universe/n/ncurses/libtinfo5_6.3-2ubuntu0.1_amd64.deb
|
||||
sudo dpkg -i libtinfo5_6.3-2ubuntu0.1_amd64.deb
|
||||
|
||||
# Install everything else we need, and configure
|
||||
sudo apt-get -qq install -y mysql-server mysql-shell mysql-client make unzip g++ etcd curl git wget eatmydata xz-utils libncurses5
|
||||
sudo apt-get -qq install -y mysql-server mysql-shell mysql-client make unzip g++ etcd-client etcd-server curl git wget eatmydata xz-utils libncurses6
|
||||
|
||||
sudo service mysql stop
|
||||
sudo service etcd stop
|
||||
|
@ -135,6 +149,8 @@ jobs:
|
|||
|
||||
set -exo pipefail
|
||||
|
||||
# Some of these tests require specific locales to be installed.
|
||||
# See https://github.com/cncf/automation/commit/49f2ad7a791a62ff7d038002bbb2b1f074eed5d5
|
||||
# run the tests however you normally do, then produce a JUnit XML file
|
||||
eatmydata -- go run test.go -docker=false -follow -shard vtgate_gen4 | tee -a output.txt | go-junit-report -set-exit-code > report.xml
|
||||
|
||||
|
|
|
@ -15,8 +15,9 @@ env:
|
|||
|
||||
jobs:
|
||||
build:
|
||||
timeout-minutes: 60
|
||||
name: Run endtoend tests on Cluster (vtgate_general_heavy)
|
||||
runs-on: ubuntu-latest
|
||||
runs-on: ubuntu-24.04
|
||||
|
||||
steps:
|
||||
- name: Skip CI
|
||||
|
@ -45,7 +46,9 @@ jobs:
|
|||
|
||||
- name: Check out code
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false'
|
||||
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
persist-credentials: 'false'
|
||||
|
||||
- name: Check for changes in relevant files
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false'
|
||||
|
@ -55,6 +58,7 @@ jobs:
|
|||
token: ''
|
||||
filters: |
|
||||
end_to_end:
|
||||
- 'test/config.json'
|
||||
- 'go/**/*.go'
|
||||
- 'go/vt/sidecardb/**/*.sql'
|
||||
- 'go/test/endtoend/onlineddl/vrepl_suite/**'
|
||||
|
@ -91,17 +95,27 @@ jobs:
|
|||
|
||||
- name: Get dependencies
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
|
||||
timeout-minutes: 10
|
||||
run: |
|
||||
|
||||
# Get key to latest MySQL repo
|
||||
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys A8D3785C
|
||||
# Setup MySQL 8.0
|
||||
wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.32-1_all.deb
|
||||
wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.33-1_all.deb
|
||||
echo mysql-apt-config mysql-apt-config/select-server select mysql-8.0 | sudo debconf-set-selections
|
||||
sudo DEBIAN_FRONTEND="noninteractive" dpkg -i mysql-apt-config*
|
||||
sudo apt-get -qq update
|
||||
|
||||
# We have to install this old version of libaio1 in case we end up testing with MySQL 5.7. See also:
|
||||
# https://bugs.launchpad.net/ubuntu/+source/libaio/+bug/2067501
|
||||
curl -L -O http://mirrors.kernel.org/ubuntu/pool/main/liba/libaio/libaio1_0.3.112-13build1_amd64.deb
|
||||
sudo dpkg -i libaio1_0.3.112-13build1_amd64.deb
|
||||
# libtinfo5 is also needed for older MySQL 5.7 builds.
|
||||
curl -L -O http://mirrors.kernel.org/ubuntu/pool/universe/n/ncurses/libtinfo5_6.3-2ubuntu0.1_amd64.deb
|
||||
sudo dpkg -i libtinfo5_6.3-2ubuntu0.1_amd64.deb
|
||||
|
||||
# Install everything else we need, and configure
|
||||
sudo apt-get -qq install -y mysql-server mysql-shell mysql-client make unzip g++ etcd curl git wget eatmydata xz-utils libncurses5
|
||||
sudo apt-get -qq install -y mysql-server mysql-shell mysql-client make unzip g++ etcd-client etcd-server curl git wget eatmydata xz-utils libncurses6
|
||||
|
||||
sudo service mysql stop
|
||||
sudo service etcd stop
|
||||
|
@ -153,6 +167,8 @@ jobs:
|
|||
slow-query-log=OFF
|
||||
EOF
|
||||
|
||||
# Some of these tests require specific locales to be installed.
|
||||
# See https://github.com/cncf/automation/commit/49f2ad7a791a62ff7d038002bbb2b1f074eed5d5
|
||||
# run the tests however you normally do, then produce a JUnit XML file
|
||||
eatmydata -- go run test.go -docker=false -follow -shard vtgate_general_heavy | tee -a output.txt | go-junit-report -set-exit-code > report.xml
|
||||
|
||||
|
|
|
@ -15,8 +15,9 @@ env:
|
|||
|
||||
jobs:
|
||||
build:
|
||||
timeout-minutes: 60
|
||||
name: Run endtoend tests on Cluster (vtgate_godriver)
|
||||
runs-on: ubuntu-latest
|
||||
runs-on: ubuntu-24.04
|
||||
|
||||
steps:
|
||||
- name: Skip CI
|
||||
|
@ -45,7 +46,9 @@ jobs:
|
|||
|
||||
- name: Check out code
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false'
|
||||
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
persist-credentials: 'false'
|
||||
|
||||
- name: Check for changes in relevant files
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false'
|
||||
|
@ -55,6 +58,7 @@ jobs:
|
|||
token: ''
|
||||
filters: |
|
||||
end_to_end:
|
||||
- 'test/config.json'
|
||||
- 'go/**/*.go'
|
||||
- 'go/vt/sidecardb/**/*.sql'
|
||||
- 'go/test/endtoend/onlineddl/vrepl_suite/**'
|
||||
|
@ -91,17 +95,27 @@ jobs:
|
|||
|
||||
- name: Get dependencies
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
|
||||
timeout-minutes: 10
|
||||
run: |
|
||||
|
||||
# Get key to latest MySQL repo
|
||||
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys A8D3785C
|
||||
# Setup MySQL 8.0
|
||||
wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.32-1_all.deb
|
||||
wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.33-1_all.deb
|
||||
echo mysql-apt-config mysql-apt-config/select-server select mysql-8.0 | sudo debconf-set-selections
|
||||
sudo DEBIAN_FRONTEND="noninteractive" dpkg -i mysql-apt-config*
|
||||
sudo apt-get -qq update
|
||||
|
||||
# We have to install this old version of libaio1 in case we end up testing with MySQL 5.7. See also:
|
||||
# https://bugs.launchpad.net/ubuntu/+source/libaio/+bug/2067501
|
||||
curl -L -O http://mirrors.kernel.org/ubuntu/pool/main/liba/libaio/libaio1_0.3.112-13build1_amd64.deb
|
||||
sudo dpkg -i libaio1_0.3.112-13build1_amd64.deb
|
||||
# libtinfo5 is also needed for older MySQL 5.7 builds.
|
||||
curl -L -O http://mirrors.kernel.org/ubuntu/pool/universe/n/ncurses/libtinfo5_6.3-2ubuntu0.1_amd64.deb
|
||||
sudo dpkg -i libtinfo5_6.3-2ubuntu0.1_amd64.deb
|
||||
|
||||
# Install everything else we need, and configure
|
||||
sudo apt-get -qq install -y mysql-server mysql-shell mysql-client make unzip g++ etcd curl git wget eatmydata xz-utils libncurses5
|
||||
sudo apt-get -qq install -y mysql-server mysql-shell mysql-client make unzip g++ etcd-client etcd-server curl git wget eatmydata xz-utils libncurses6
|
||||
|
||||
sudo service mysql stop
|
||||
sudo service etcd stop
|
||||
|
@ -135,6 +149,8 @@ jobs:
|
|||
|
||||
set -exo pipefail
|
||||
|
||||
# Some of these tests require specific locales to be installed.
|
||||
# See https://github.com/cncf/automation/commit/49f2ad7a791a62ff7d038002bbb2b1f074eed5d5
|
||||
# run the tests however you normally do, then produce a JUnit XML file
|
||||
eatmydata -- go run test.go -docker=false -follow -shard vtgate_godriver | tee -a output.txt | go-junit-report -set-exit-code > report.xml
|
||||
|
||||
|
|
|
@ -15,8 +15,9 @@ env:
|
|||
|
||||
jobs:
|
||||
build:
|
||||
timeout-minutes: 60
|
||||
name: Run endtoend tests on Cluster (vtgate_partial_keyspace)
|
||||
runs-on: ubuntu-latest
|
||||
runs-on: ubuntu-24.04
|
||||
|
||||
steps:
|
||||
- name: Skip CI
|
||||
|
@ -45,7 +46,9 @@ jobs:
|
|||
|
||||
- name: Check out code
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false'
|
||||
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
persist-credentials: 'false'
|
||||
|
||||
- name: Check for changes in relevant files
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false'
|
||||
|
@ -55,6 +58,7 @@ jobs:
|
|||
token: ''
|
||||
filters: |
|
||||
end_to_end:
|
||||
- 'test/config.json'
|
||||
- 'go/**/*.go'
|
||||
- 'go/vt/sidecardb/**/*.sql'
|
||||
- 'go/test/endtoend/onlineddl/vrepl_suite/**'
|
||||
|
@ -91,17 +95,27 @@ jobs:
|
|||
|
||||
- name: Get dependencies
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
|
||||
timeout-minutes: 10
|
||||
run: |
|
||||
|
||||
# Get key to latest MySQL repo
|
||||
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys A8D3785C
|
||||
# Setup MySQL 8.0
|
||||
wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.32-1_all.deb
|
||||
wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.33-1_all.deb
|
||||
echo mysql-apt-config mysql-apt-config/select-server select mysql-8.0 | sudo debconf-set-selections
|
||||
sudo DEBIAN_FRONTEND="noninteractive" dpkg -i mysql-apt-config*
|
||||
sudo apt-get -qq update
|
||||
|
||||
# We have to install this old version of libaio1 in case we end up testing with MySQL 5.7. See also:
|
||||
# https://bugs.launchpad.net/ubuntu/+source/libaio/+bug/2067501
|
||||
curl -L -O http://mirrors.kernel.org/ubuntu/pool/main/liba/libaio/libaio1_0.3.112-13build1_amd64.deb
|
||||
sudo dpkg -i libaio1_0.3.112-13build1_amd64.deb
|
||||
# libtinfo5 is also needed for older MySQL 5.7 builds.
|
||||
curl -L -O http://mirrors.kernel.org/ubuntu/pool/universe/n/ncurses/libtinfo5_6.3-2ubuntu0.1_amd64.deb
|
||||
sudo dpkg -i libtinfo5_6.3-2ubuntu0.1_amd64.deb
|
||||
|
||||
# Install everything else we need, and configure
|
||||
sudo apt-get -qq install -y mysql-server mysql-shell mysql-client make unzip g++ etcd curl git wget eatmydata xz-utils libncurses5
|
||||
sudo apt-get -qq install -y mysql-server mysql-shell mysql-client make unzip g++ etcd-client etcd-server curl git wget eatmydata xz-utils libncurses6
|
||||
|
||||
sudo service mysql stop
|
||||
sudo service etcd stop
|
||||
|
@ -135,6 +149,8 @@ jobs:
|
|||
|
||||
set -exo pipefail
|
||||
|
||||
# Some of these tests require specific locales to be installed.
|
||||
# See https://github.com/cncf/automation/commit/49f2ad7a791a62ff7d038002bbb2b1f074eed5d5
|
||||
# run the tests however you normally do, then produce a JUnit XML file
|
||||
eatmydata -- go run test.go -docker=false -follow -shard vtgate_partial_keyspace -partial-keyspace=true | tee -a output.txt | go-junit-report -set-exit-code > report.xml
|
||||
|
||||
|
|
|
@ -0,0 +1,173 @@
|
|||
# DO NOT MODIFY: THIS FILE IS GENERATED USING "make generate_ci_workflows"
|
||||
|
||||
name: Cluster (vtgate_plantests)
|
||||
on: [push, pull_request]
|
||||
concurrency:
|
||||
group: format('{0}-{1}', ${{ github.ref }}, 'Cluster (vtgate_plantests)')
|
||||
cancel-in-progress: true
|
||||
|
||||
permissions: read-all
|
||||
|
||||
env:
|
||||
LAUNCHABLE_ORGANIZATION: "vitess"
|
||||
LAUNCHABLE_WORKSPACE: "vitess-app"
|
||||
GITHUB_PR_HEAD_SHA: "${{ github.event.pull_request.head.sha }}"
|
||||
|
||||
jobs:
|
||||
build:
|
||||
timeout-minutes: 60
|
||||
name: Run endtoend tests on Cluster (vtgate_plantests)
|
||||
runs-on: ubuntu-24.04
|
||||
|
||||
steps:
|
||||
- name: Skip CI
|
||||
run: |
|
||||
if [[ "${{contains( github.event.pull_request.labels.*.name, 'Skip CI')}}" == "true" ]]; then
|
||||
echo "skipping CI due to the 'Skip CI' label"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
- name: Check if workflow needs to be skipped
|
||||
id: skip-workflow
|
||||
run: |
|
||||
skip='false'
|
||||
if [[ "${{github.event.pull_request}}" == "" ]] && [[ "${{github.ref}}" != "refs/heads/main" ]] && [[ ! "${{github.ref}}" =~ ^refs/heads/release-[0-9]+\.[0-9]$ ]] && [[ ! "${{github.ref}}" =~ "refs/tags/.*" ]]; then
|
||||
skip='true'
|
||||
fi
|
||||
echo Skip ${skip}
|
||||
echo "skip-workflow=${skip}" >> $GITHUB_OUTPUT
|
||||
|
||||
PR_DATA=$(curl -s\
|
||||
-H "Authorization: token ${{ secrets.GITHUB_TOKEN }}" \
|
||||
-H "Accept: application/vnd.github.v3+json" \
|
||||
"https://api.github.com/repos/${{ github.repository }}/pulls/${{ github.event.pull_request.number }}")
|
||||
draft=$(echo "$PR_DATA" | jq .draft -r)
|
||||
echo "is_draft=${draft}" >> $GITHUB_OUTPUT
|
||||
|
||||
- name: Check out code
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false'
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
persist-credentials: 'false'
|
||||
|
||||
- name: Check for changes in relevant files
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false'
|
||||
uses: dorny/paths-filter@ebc4d7e9ebcb0b1eb21480bb8f43113e996ac77a # v3.0.1
|
||||
id: changes
|
||||
with:
|
||||
token: ''
|
||||
filters: |
|
||||
end_to_end:
|
||||
- 'test/config.json'
|
||||
- 'go/**/*.go'
|
||||
- 'go/vt/sidecardb/**/*.sql'
|
||||
- 'go/test/endtoend/onlineddl/vrepl_suite/**'
|
||||
- 'test.go'
|
||||
- 'Makefile'
|
||||
- 'build.env'
|
||||
- 'go.sum'
|
||||
- 'go.mod'
|
||||
- 'proto/*.proto'
|
||||
- 'tools/**'
|
||||
- 'config/**'
|
||||
- 'bootstrap.sh'
|
||||
- '.github/workflows/cluster_endtoend_vtgate_plantests.yml'
|
||||
|
||||
- name: Set up Go
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
|
||||
uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 # v5.0.2
|
||||
with:
|
||||
go-version-file: go.mod
|
||||
|
||||
- name: Set up python
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
|
||||
uses: actions/setup-python@39cd14951b08e74b54015e9e001cdefcf80e669f # v5.1.1
|
||||
|
||||
- name: Tune the OS
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
|
||||
run: |
|
||||
# Limit local port range to not use ports that overlap with server side
|
||||
# ports that we listen on.
|
||||
sudo sysctl -w net.ipv4.ip_local_port_range="22768 65535"
|
||||
# Increase the asynchronous non-blocking I/O. More information at https://dev.mysql.com/doc/refman/5.7/en/innodb-parameters.html#sysvar_innodb_use_native_aio
|
||||
echo "fs.aio-max-nr = 1048576" | sudo tee -a /etc/sysctl.conf
|
||||
sudo sysctl -p /etc/sysctl.conf
|
||||
|
||||
- name: Get dependencies
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
|
||||
timeout-minutes: 10
|
||||
run: |
|
||||
|
||||
# Get key to latest MySQL repo
|
||||
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys A8D3785C
|
||||
# Setup MySQL 8.0
|
||||
wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.33-1_all.deb
|
||||
echo mysql-apt-config mysql-apt-config/select-server select mysql-8.0 | sudo debconf-set-selections
|
||||
sudo DEBIAN_FRONTEND="noninteractive" dpkg -i mysql-apt-config*
|
||||
sudo apt-get -qq update
|
||||
|
||||
# We have to install this old version of libaio1 in case we end up testing with MySQL 5.7. See also:
|
||||
# https://bugs.launchpad.net/ubuntu/+source/libaio/+bug/2067501
|
||||
curl -L -O http://mirrors.kernel.org/ubuntu/pool/main/liba/libaio/libaio1_0.3.112-13build1_amd64.deb
|
||||
sudo dpkg -i libaio1_0.3.112-13build1_amd64.deb
|
||||
# libtinfo5 is also needed for older MySQL 5.7 builds.
|
||||
curl -L -O http://mirrors.kernel.org/ubuntu/pool/universe/n/ncurses/libtinfo5_6.3-2ubuntu0.1_amd64.deb
|
||||
sudo dpkg -i libtinfo5_6.3-2ubuntu0.1_amd64.deb
|
||||
|
||||
# Install everything else we need, and configure
|
||||
sudo apt-get -qq install -y mysql-server mysql-shell mysql-client make unzip g++ etcd-client etcd-server curl git wget eatmydata xz-utils libncurses6
|
||||
|
||||
sudo service mysql stop
|
||||
sudo service etcd stop
|
||||
sudo ln -s /etc/apparmor.d/usr.sbin.mysqld /etc/apparmor.d/disable/
|
||||
sudo apparmor_parser -R /etc/apparmor.d/usr.sbin.mysqld
|
||||
go mod download
|
||||
|
||||
# install JUnit report formatter
|
||||
go install github.com/vitessio/go-junit-report@HEAD
|
||||
|
||||
- name: Setup launchable dependencies
|
||||
if: steps.skip-workflow.outputs.is_draft == 'false' && steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true' && github.base_ref == 'main'
|
||||
run: |
|
||||
# Get Launchable CLI installed. If you can, make it a part of the builder image to speed things up
|
||||
pip3 install --user launchable~=1.0 > /dev/null
|
||||
|
||||
# verify that launchable setup is all correct.
|
||||
launchable verify || true
|
||||
|
||||
# Tell Launchable about the build you are producing and testing
|
||||
launchable record build --name "$GITHUB_RUN_ID" --no-commit-collection --source .
|
||||
|
||||
- name: Run cluster endtoend test
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
|
||||
timeout-minutes: 45
|
||||
run: |
|
||||
# We set the VTDATAROOT to the /tmp folder to reduce the file path of mysql.sock file
|
||||
# which musn't be more than 107 characters long.
|
||||
export VTDATAROOT="/tmp/"
|
||||
source build.env
|
||||
|
||||
set -exo pipefail
|
||||
|
||||
# Some of these tests require specific locales to be installed.
|
||||
# See https://github.com/cncf/automation/commit/49f2ad7a791a62ff7d038002bbb2b1f074eed5d5
|
||||
# run the tests however you normally do, then produce a JUnit XML file
|
||||
eatmydata -- go run test.go -docker=false -follow -shard vtgate_plantests | tee -a output.txt | go-junit-report -set-exit-code > report.xml
|
||||
|
||||
- name: Print test output and Record test result in launchable if PR is not a draft
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true' && always()
|
||||
run: |
|
||||
if [[ "${{steps.skip-workflow.outputs.is_draft}}" == "false" ]]; then
|
||||
# send recorded tests to launchable
|
||||
launchable record tests --build "$GITHUB_RUN_ID" go-test . || true
|
||||
fi
|
||||
|
||||
# print test output
|
||||
cat output.txt
|
||||
|
||||
- name: Test Summary
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true' && always()
|
||||
uses: test-summary/action@31493c76ec9e7aa675f1585d3ed6f1da69269a86 # v2.4
|
||||
with:
|
||||
paths: "report.xml"
|
||||
show: "fail"
|
|
@ -15,8 +15,9 @@ env:
|
|||
|
||||
jobs:
|
||||
build:
|
||||
timeout-minutes: 60
|
||||
name: Run endtoend tests on Cluster (vtgate_queries)
|
||||
runs-on: ubuntu-latest
|
||||
runs-on: ubuntu-24.04
|
||||
|
||||
steps:
|
||||
- name: Skip CI
|
||||
|
@ -45,7 +46,9 @@ jobs:
|
|||
|
||||
- name: Check out code
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false'
|
||||
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
persist-credentials: 'false'
|
||||
|
||||
- name: Check for changes in relevant files
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false'
|
||||
|
@ -55,6 +58,7 @@ jobs:
|
|||
token: ''
|
||||
filters: |
|
||||
end_to_end:
|
||||
- 'test/config.json'
|
||||
- 'go/**/*.go'
|
||||
- 'go/vt/sidecardb/**/*.sql'
|
||||
- 'go/test/endtoend/onlineddl/vrepl_suite/**'
|
||||
|
@ -91,17 +95,27 @@ jobs:
|
|||
|
||||
- name: Get dependencies
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
|
||||
timeout-minutes: 10
|
||||
run: |
|
||||
|
||||
# Get key to latest MySQL repo
|
||||
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys A8D3785C
|
||||
# Setup MySQL 8.0
|
||||
wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.32-1_all.deb
|
||||
wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.33-1_all.deb
|
||||
echo mysql-apt-config mysql-apt-config/select-server select mysql-8.0 | sudo debconf-set-selections
|
||||
sudo DEBIAN_FRONTEND="noninteractive" dpkg -i mysql-apt-config*
|
||||
sudo apt-get -qq update
|
||||
|
||||
# We have to install this old version of libaio1 in case we end up testing with MySQL 5.7. See also:
|
||||
# https://bugs.launchpad.net/ubuntu/+source/libaio/+bug/2067501
|
||||
curl -L -O http://mirrors.kernel.org/ubuntu/pool/main/liba/libaio/libaio1_0.3.112-13build1_amd64.deb
|
||||
sudo dpkg -i libaio1_0.3.112-13build1_amd64.deb
|
||||
# libtinfo5 is also needed for older MySQL 5.7 builds.
|
||||
curl -L -O http://mirrors.kernel.org/ubuntu/pool/universe/n/ncurses/libtinfo5_6.3-2ubuntu0.1_amd64.deb
|
||||
sudo dpkg -i libtinfo5_6.3-2ubuntu0.1_amd64.deb
|
||||
|
||||
# Install everything else we need, and configure
|
||||
sudo apt-get -qq install -y mysql-server mysql-shell mysql-client make unzip g++ etcd curl git wget eatmydata xz-utils libncurses5
|
||||
sudo apt-get -qq install -y mysql-server mysql-shell mysql-client make unzip g++ etcd-client etcd-server curl git wget eatmydata xz-utils libncurses6
|
||||
|
||||
sudo service mysql stop
|
||||
sudo service etcd stop
|
||||
|
@ -135,6 +149,8 @@ jobs:
|
|||
|
||||
set -exo pipefail
|
||||
|
||||
# Some of these tests require specific locales to be installed.
|
||||
# See https://github.com/cncf/automation/commit/49f2ad7a791a62ff7d038002bbb2b1f074eed5d5
|
||||
# run the tests however you normally do, then produce a JUnit XML file
|
||||
eatmydata -- go run test.go -docker=false -follow -shard vtgate_queries | tee -a output.txt | go-junit-report -set-exit-code > report.xml
|
||||
|
||||
|
|
|
@ -15,8 +15,9 @@ env:
|
|||
|
||||
jobs:
|
||||
build:
|
||||
timeout-minutes: 60
|
||||
name: Run endtoend tests on Cluster (vtgate_readafterwrite)
|
||||
runs-on: ubuntu-latest
|
||||
runs-on: ubuntu-24.04
|
||||
|
||||
steps:
|
||||
- name: Skip CI
|
||||
|
@ -45,7 +46,9 @@ jobs:
|
|||
|
||||
- name: Check out code
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false'
|
||||
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
persist-credentials: 'false'
|
||||
|
||||
- name: Check for changes in relevant files
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false'
|
||||
|
@ -55,6 +58,7 @@ jobs:
|
|||
token: ''
|
||||
filters: |
|
||||
end_to_end:
|
||||
- 'test/config.json'
|
||||
- 'go/**/*.go'
|
||||
- 'go/vt/sidecardb/**/*.sql'
|
||||
- 'go/test/endtoend/onlineddl/vrepl_suite/**'
|
||||
|
@ -91,17 +95,27 @@ jobs:
|
|||
|
||||
- name: Get dependencies
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
|
||||
timeout-minutes: 10
|
||||
run: |
|
||||
|
||||
# Get key to latest MySQL repo
|
||||
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys A8D3785C
|
||||
# Setup MySQL 8.0
|
||||
wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.32-1_all.deb
|
||||
wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.33-1_all.deb
|
||||
echo mysql-apt-config mysql-apt-config/select-server select mysql-8.0 | sudo debconf-set-selections
|
||||
sudo DEBIAN_FRONTEND="noninteractive" dpkg -i mysql-apt-config*
|
||||
sudo apt-get -qq update
|
||||
|
||||
# We have to install this old version of libaio1 in case we end up testing with MySQL 5.7. See also:
|
||||
# https://bugs.launchpad.net/ubuntu/+source/libaio/+bug/2067501
|
||||
curl -L -O http://mirrors.kernel.org/ubuntu/pool/main/liba/libaio/libaio1_0.3.112-13build1_amd64.deb
|
||||
sudo dpkg -i libaio1_0.3.112-13build1_amd64.deb
|
||||
# libtinfo5 is also needed for older MySQL 5.7 builds.
|
||||
curl -L -O http://mirrors.kernel.org/ubuntu/pool/universe/n/ncurses/libtinfo5_6.3-2ubuntu0.1_amd64.deb
|
||||
sudo dpkg -i libtinfo5_6.3-2ubuntu0.1_amd64.deb
|
||||
|
||||
# Install everything else we need, and configure
|
||||
sudo apt-get -qq install -y mysql-server mysql-shell mysql-client make unzip g++ etcd curl git wget eatmydata xz-utils libncurses5
|
||||
sudo apt-get -qq install -y mysql-server mysql-shell mysql-client make unzip g++ etcd-client etcd-server curl git wget eatmydata xz-utils libncurses6
|
||||
|
||||
sudo service mysql stop
|
||||
sudo service etcd stop
|
||||
|
@ -135,6 +149,8 @@ jobs:
|
|||
|
||||
set -exo pipefail
|
||||
|
||||
# Some of these tests require specific locales to be installed.
|
||||
# See https://github.com/cncf/automation/commit/49f2ad7a791a62ff7d038002bbb2b1f074eed5d5
|
||||
# run the tests however you normally do, then produce a JUnit XML file
|
||||
eatmydata -- go run test.go -docker=false -follow -shard vtgate_readafterwrite | tee -a output.txt | go-junit-report -set-exit-code > report.xml
|
||||
|
||||
|
|
|
@ -15,8 +15,9 @@ env:
|
|||
|
||||
jobs:
|
||||
build:
|
||||
timeout-minutes: 60
|
||||
name: Run endtoend tests on Cluster (vtgate_reservedconn)
|
||||
runs-on: ubuntu-latest
|
||||
runs-on: ubuntu-24.04
|
||||
|
||||
steps:
|
||||
- name: Skip CI
|
||||
|
@ -45,7 +46,9 @@ jobs:
|
|||
|
||||
- name: Check out code
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false'
|
||||
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
persist-credentials: 'false'
|
||||
|
||||
- name: Check for changes in relevant files
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false'
|
||||
|
@ -55,6 +58,7 @@ jobs:
|
|||
token: ''
|
||||
filters: |
|
||||
end_to_end:
|
||||
- 'test/config.json'
|
||||
- 'go/**/*.go'
|
||||
- 'go/vt/sidecardb/**/*.sql'
|
||||
- 'go/test/endtoend/onlineddl/vrepl_suite/**'
|
||||
|
@ -91,17 +95,27 @@ jobs:
|
|||
|
||||
- name: Get dependencies
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
|
||||
timeout-minutes: 10
|
||||
run: |
|
||||
|
||||
# Get key to latest MySQL repo
|
||||
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys A8D3785C
|
||||
# Setup MySQL 8.0
|
||||
wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.32-1_all.deb
|
||||
wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.33-1_all.deb
|
||||
echo mysql-apt-config mysql-apt-config/select-server select mysql-8.0 | sudo debconf-set-selections
|
||||
sudo DEBIAN_FRONTEND="noninteractive" dpkg -i mysql-apt-config*
|
||||
sudo apt-get -qq update
|
||||
|
||||
# We have to install this old version of libaio1 in case we end up testing with MySQL 5.7. See also:
|
||||
# https://bugs.launchpad.net/ubuntu/+source/libaio/+bug/2067501
|
||||
curl -L -O http://mirrors.kernel.org/ubuntu/pool/main/liba/libaio/libaio1_0.3.112-13build1_amd64.deb
|
||||
sudo dpkg -i libaio1_0.3.112-13build1_amd64.deb
|
||||
# libtinfo5 is also needed for older MySQL 5.7 builds.
|
||||
curl -L -O http://mirrors.kernel.org/ubuntu/pool/universe/n/ncurses/libtinfo5_6.3-2ubuntu0.1_amd64.deb
|
||||
sudo dpkg -i libtinfo5_6.3-2ubuntu0.1_amd64.deb
|
||||
|
||||
# Install everything else we need, and configure
|
||||
sudo apt-get -qq install -y mysql-server mysql-shell mysql-client make unzip g++ etcd curl git wget eatmydata xz-utils libncurses5
|
||||
sudo apt-get -qq install -y mysql-server mysql-shell mysql-client make unzip g++ etcd-client etcd-server curl git wget eatmydata xz-utils libncurses6
|
||||
|
||||
sudo service mysql stop
|
||||
sudo service etcd stop
|
||||
|
@ -135,6 +149,8 @@ jobs:
|
|||
|
||||
set -exo pipefail
|
||||
|
||||
# Some of these tests require specific locales to be installed.
|
||||
# See https://github.com/cncf/automation/commit/49f2ad7a791a62ff7d038002bbb2b1f074eed5d5
|
||||
# run the tests however you normally do, then produce a JUnit XML file
|
||||
eatmydata -- go run test.go -docker=false -follow -shard vtgate_reservedconn | tee -a output.txt | go-junit-report -set-exit-code > report.xml
|
||||
|
||||
|
|
|
@ -15,8 +15,9 @@ env:
|
|||
|
||||
jobs:
|
||||
build:
|
||||
timeout-minutes: 60
|
||||
name: Run endtoend tests on Cluster (vtgate_schema)
|
||||
runs-on: ubuntu-latest
|
||||
runs-on: ubuntu-24.04
|
||||
|
||||
steps:
|
||||
- name: Skip CI
|
||||
|
@ -45,7 +46,9 @@ jobs:
|
|||
|
||||
- name: Check out code
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false'
|
||||
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
persist-credentials: 'false'
|
||||
|
||||
- name: Check for changes in relevant files
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false'
|
||||
|
@ -55,6 +58,7 @@ jobs:
|
|||
token: ''
|
||||
filters: |
|
||||
end_to_end:
|
||||
- 'test/config.json'
|
||||
- 'go/**/*.go'
|
||||
- 'go/vt/sidecardb/**/*.sql'
|
||||
- 'go/test/endtoend/onlineddl/vrepl_suite/**'
|
||||
|
@ -91,17 +95,27 @@ jobs:
|
|||
|
||||
- name: Get dependencies
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
|
||||
timeout-minutes: 10
|
||||
run: |
|
||||
|
||||
# Get key to latest MySQL repo
|
||||
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys A8D3785C
|
||||
# Setup MySQL 8.0
|
||||
wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.32-1_all.deb
|
||||
wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.33-1_all.deb
|
||||
echo mysql-apt-config mysql-apt-config/select-server select mysql-8.0 | sudo debconf-set-selections
|
||||
sudo DEBIAN_FRONTEND="noninteractive" dpkg -i mysql-apt-config*
|
||||
sudo apt-get -qq update
|
||||
|
||||
# We have to install this old version of libaio1 in case we end up testing with MySQL 5.7. See also:
|
||||
# https://bugs.launchpad.net/ubuntu/+source/libaio/+bug/2067501
|
||||
curl -L -O http://mirrors.kernel.org/ubuntu/pool/main/liba/libaio/libaio1_0.3.112-13build1_amd64.deb
|
||||
sudo dpkg -i libaio1_0.3.112-13build1_amd64.deb
|
||||
# libtinfo5 is also needed for older MySQL 5.7 builds.
|
||||
curl -L -O http://mirrors.kernel.org/ubuntu/pool/universe/n/ncurses/libtinfo5_6.3-2ubuntu0.1_amd64.deb
|
||||
sudo dpkg -i libtinfo5_6.3-2ubuntu0.1_amd64.deb
|
||||
|
||||
# Install everything else we need, and configure
|
||||
sudo apt-get -qq install -y mysql-server mysql-shell mysql-client make unzip g++ etcd curl git wget eatmydata xz-utils libncurses5
|
||||
sudo apt-get -qq install -y mysql-server mysql-shell mysql-client make unzip g++ etcd-client etcd-server curl git wget eatmydata xz-utils libncurses6
|
||||
|
||||
sudo service mysql stop
|
||||
sudo service etcd stop
|
||||
|
@ -135,6 +149,8 @@ jobs:
|
|||
|
||||
set -exo pipefail
|
||||
|
||||
# Some of these tests require specific locales to be installed.
|
||||
# See https://github.com/cncf/automation/commit/49f2ad7a791a62ff7d038002bbb2b1f074eed5d5
|
||||
# run the tests however you normally do, then produce a JUnit XML file
|
||||
eatmydata -- go run test.go -docker=false -follow -shard vtgate_schema | tee -a output.txt | go-junit-report -set-exit-code > report.xml
|
||||
|
||||
|
|
|
@ -15,8 +15,9 @@ env:
|
|||
|
||||
jobs:
|
||||
build:
|
||||
timeout-minutes: 60
|
||||
name: Run endtoend tests on Cluster (vtgate_schema_tracker)
|
||||
runs-on: ubuntu-latest
|
||||
runs-on: ubuntu-24.04
|
||||
|
||||
steps:
|
||||
- name: Skip CI
|
||||
|
@ -45,7 +46,9 @@ jobs:
|
|||
|
||||
- name: Check out code
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false'
|
||||
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
persist-credentials: 'false'
|
||||
|
||||
- name: Check for changes in relevant files
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false'
|
||||
|
@ -55,6 +58,7 @@ jobs:
|
|||
token: ''
|
||||
filters: |
|
||||
end_to_end:
|
||||
- 'test/config.json'
|
||||
- 'go/**/*.go'
|
||||
- 'go/vt/sidecardb/**/*.sql'
|
||||
- 'go/test/endtoend/onlineddl/vrepl_suite/**'
|
||||
|
@ -91,17 +95,27 @@ jobs:
|
|||
|
||||
- name: Get dependencies
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
|
||||
timeout-minutes: 10
|
||||
run: |
|
||||
|
||||
# Get key to latest MySQL repo
|
||||
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys A8D3785C
|
||||
# Setup MySQL 8.0
|
||||
wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.32-1_all.deb
|
||||
wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.33-1_all.deb
|
||||
echo mysql-apt-config mysql-apt-config/select-server select mysql-8.0 | sudo debconf-set-selections
|
||||
sudo DEBIAN_FRONTEND="noninteractive" dpkg -i mysql-apt-config*
|
||||
sudo apt-get -qq update
|
||||
|
||||
# We have to install this old version of libaio1 in case we end up testing with MySQL 5.7. See also:
|
||||
# https://bugs.launchpad.net/ubuntu/+source/libaio/+bug/2067501
|
||||
curl -L -O http://mirrors.kernel.org/ubuntu/pool/main/liba/libaio/libaio1_0.3.112-13build1_amd64.deb
|
||||
sudo dpkg -i libaio1_0.3.112-13build1_amd64.deb
|
||||
# libtinfo5 is also needed for older MySQL 5.7 builds.
|
||||
curl -L -O http://mirrors.kernel.org/ubuntu/pool/universe/n/ncurses/libtinfo5_6.3-2ubuntu0.1_amd64.deb
|
||||
sudo dpkg -i libtinfo5_6.3-2ubuntu0.1_amd64.deb
|
||||
|
||||
# Install everything else we need, and configure
|
||||
sudo apt-get -qq install -y mysql-server mysql-shell mysql-client make unzip g++ etcd curl git wget eatmydata xz-utils libncurses5
|
||||
sudo apt-get -qq install -y mysql-server mysql-shell mysql-client make unzip g++ etcd-client etcd-server curl git wget eatmydata xz-utils libncurses6
|
||||
|
||||
sudo service mysql stop
|
||||
sudo service etcd stop
|
||||
|
@ -135,6 +149,8 @@ jobs:
|
|||
|
||||
set -exo pipefail
|
||||
|
||||
# Some of these tests require specific locales to be installed.
|
||||
# See https://github.com/cncf/automation/commit/49f2ad7a791a62ff7d038002bbb2b1f074eed5d5
|
||||
# run the tests however you normally do, then produce a JUnit XML file
|
||||
eatmydata -- go run test.go -docker=false -follow -shard vtgate_schema_tracker | tee -a output.txt | go-junit-report -set-exit-code > report.xml
|
||||
|
||||
|
|
|
@ -15,8 +15,9 @@ env:
|
|||
|
||||
jobs:
|
||||
build:
|
||||
timeout-minutes: 60
|
||||
name: Run endtoend tests on Cluster (vtgate_tablet_healthcheck_cache)
|
||||
runs-on: ubuntu-latest
|
||||
runs-on: ubuntu-24.04
|
||||
|
||||
steps:
|
||||
- name: Skip CI
|
||||
|
@ -45,7 +46,9 @@ jobs:
|
|||
|
||||
- name: Check out code
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false'
|
||||
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
persist-credentials: 'false'
|
||||
|
||||
- name: Check for changes in relevant files
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false'
|
||||
|
@ -55,6 +58,7 @@ jobs:
|
|||
token: ''
|
||||
filters: |
|
||||
end_to_end:
|
||||
- 'test/config.json'
|
||||
- 'go/**/*.go'
|
||||
- 'go/vt/sidecardb/**/*.sql'
|
||||
- 'go/test/endtoend/onlineddl/vrepl_suite/**'
|
||||
|
@ -91,17 +95,27 @@ jobs:
|
|||
|
||||
- name: Get dependencies
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
|
||||
timeout-minutes: 10
|
||||
run: |
|
||||
|
||||
# Get key to latest MySQL repo
|
||||
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys A8D3785C
|
||||
# Setup MySQL 8.0
|
||||
wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.32-1_all.deb
|
||||
wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.33-1_all.deb
|
||||
echo mysql-apt-config mysql-apt-config/select-server select mysql-8.0 | sudo debconf-set-selections
|
||||
sudo DEBIAN_FRONTEND="noninteractive" dpkg -i mysql-apt-config*
|
||||
sudo apt-get -qq update
|
||||
|
||||
# We have to install this old version of libaio1 in case we end up testing with MySQL 5.7. See also:
|
||||
# https://bugs.launchpad.net/ubuntu/+source/libaio/+bug/2067501
|
||||
curl -L -O http://mirrors.kernel.org/ubuntu/pool/main/liba/libaio/libaio1_0.3.112-13build1_amd64.deb
|
||||
sudo dpkg -i libaio1_0.3.112-13build1_amd64.deb
|
||||
# libtinfo5 is also needed for older MySQL 5.7 builds.
|
||||
curl -L -O http://mirrors.kernel.org/ubuntu/pool/universe/n/ncurses/libtinfo5_6.3-2ubuntu0.1_amd64.deb
|
||||
sudo dpkg -i libtinfo5_6.3-2ubuntu0.1_amd64.deb
|
||||
|
||||
# Install everything else we need, and configure
|
||||
sudo apt-get -qq install -y mysql-server mysql-shell mysql-client make unzip g++ etcd curl git wget eatmydata xz-utils libncurses5
|
||||
sudo apt-get -qq install -y mysql-server mysql-shell mysql-client make unzip g++ etcd-client etcd-server curl git wget eatmydata xz-utils libncurses6
|
||||
|
||||
sudo service mysql stop
|
||||
sudo service etcd stop
|
||||
|
@ -135,6 +149,8 @@ jobs:
|
|||
|
||||
set -exo pipefail
|
||||
|
||||
# Some of these tests require specific locales to be installed.
|
||||
# See https://github.com/cncf/automation/commit/49f2ad7a791a62ff7d038002bbb2b1f074eed5d5
|
||||
# run the tests however you normally do, then produce a JUnit XML file
|
||||
eatmydata -- go run test.go -docker=false -follow -shard vtgate_tablet_healthcheck_cache | tee -a output.txt | go-junit-report -set-exit-code > report.xml
|
||||
|
||||
|
|
|
@ -15,8 +15,9 @@ env:
|
|||
|
||||
jobs:
|
||||
build:
|
||||
timeout-minutes: 60
|
||||
name: Run endtoend tests on Cluster (vtgate_topo)
|
||||
runs-on: ubuntu-latest
|
||||
runs-on: ubuntu-24.04
|
||||
|
||||
steps:
|
||||
- name: Skip CI
|
||||
|
@ -45,7 +46,9 @@ jobs:
|
|||
|
||||
- name: Check out code
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false'
|
||||
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
persist-credentials: 'false'
|
||||
|
||||
- name: Check for changes in relevant files
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false'
|
||||
|
@ -55,6 +58,7 @@ jobs:
|
|||
token: ''
|
||||
filters: |
|
||||
end_to_end:
|
||||
- 'test/config.json'
|
||||
- 'go/**/*.go'
|
||||
- 'go/vt/sidecardb/**/*.sql'
|
||||
- 'go/test/endtoend/onlineddl/vrepl_suite/**'
|
||||
|
@ -91,17 +95,27 @@ jobs:
|
|||
|
||||
- name: Get dependencies
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
|
||||
timeout-minutes: 10
|
||||
run: |
|
||||
|
||||
# Get key to latest MySQL repo
|
||||
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys A8D3785C
|
||||
# Setup MySQL 8.0
|
||||
wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.32-1_all.deb
|
||||
wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.33-1_all.deb
|
||||
echo mysql-apt-config mysql-apt-config/select-server select mysql-8.0 | sudo debconf-set-selections
|
||||
sudo DEBIAN_FRONTEND="noninteractive" dpkg -i mysql-apt-config*
|
||||
sudo apt-get -qq update
|
||||
|
||||
# We have to install this old version of libaio1 in case we end up testing with MySQL 5.7. See also:
|
||||
# https://bugs.launchpad.net/ubuntu/+source/libaio/+bug/2067501
|
||||
curl -L -O http://mirrors.kernel.org/ubuntu/pool/main/liba/libaio/libaio1_0.3.112-13build1_amd64.deb
|
||||
sudo dpkg -i libaio1_0.3.112-13build1_amd64.deb
|
||||
# libtinfo5 is also needed for older MySQL 5.7 builds.
|
||||
curl -L -O http://mirrors.kernel.org/ubuntu/pool/universe/n/ncurses/libtinfo5_6.3-2ubuntu0.1_amd64.deb
|
||||
sudo dpkg -i libtinfo5_6.3-2ubuntu0.1_amd64.deb
|
||||
|
||||
# Install everything else we need, and configure
|
||||
sudo apt-get -qq install -y mysql-server mysql-shell mysql-client make unzip g++ etcd curl git wget eatmydata xz-utils libncurses5
|
||||
sudo apt-get -qq install -y mysql-server mysql-shell mysql-client make unzip g++ etcd-client etcd-server curl git wget eatmydata xz-utils libncurses6
|
||||
|
||||
sudo service mysql stop
|
||||
sudo service etcd stop
|
||||
|
@ -135,6 +149,8 @@ jobs:
|
|||
|
||||
set -exo pipefail
|
||||
|
||||
# Some of these tests require specific locales to be installed.
|
||||
# See https://github.com/cncf/automation/commit/49f2ad7a791a62ff7d038002bbb2b1f074eed5d5
|
||||
# run the tests however you normally do, then produce a JUnit XML file
|
||||
eatmydata -- go run test.go -docker=false -follow -shard vtgate_topo | tee -a output.txt | go-junit-report -set-exit-code > report.xml
|
||||
|
||||
|
|
|
@ -15,8 +15,9 @@ env:
|
|||
|
||||
jobs:
|
||||
build:
|
||||
timeout-minutes: 60
|
||||
name: Run endtoend tests on Cluster (vtgate_topo_consul)
|
||||
runs-on: ubuntu-latest
|
||||
runs-on: ubuntu-24.04
|
||||
|
||||
steps:
|
||||
- name: Skip CI
|
||||
|
@ -45,7 +46,9 @@ jobs:
|
|||
|
||||
- name: Check out code
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false'
|
||||
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
persist-credentials: 'false'
|
||||
|
||||
- name: Check for changes in relevant files
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false'
|
||||
|
@ -55,6 +58,7 @@ jobs:
|
|||
token: ''
|
||||
filters: |
|
||||
end_to_end:
|
||||
- 'test/config.json'
|
||||
- 'go/**/*.go'
|
||||
- 'go/vt/sidecardb/**/*.sql'
|
||||
- 'go/test/endtoend/onlineddl/vrepl_suite/**'
|
||||
|
@ -91,17 +95,27 @@ jobs:
|
|||
|
||||
- name: Get dependencies
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
|
||||
timeout-minutes: 10
|
||||
run: |
|
||||
|
||||
# Get key to latest MySQL repo
|
||||
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys A8D3785C
|
||||
# Setup MySQL 8.0
|
||||
wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.32-1_all.deb
|
||||
wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.33-1_all.deb
|
||||
echo mysql-apt-config mysql-apt-config/select-server select mysql-8.0 | sudo debconf-set-selections
|
||||
sudo DEBIAN_FRONTEND="noninteractive" dpkg -i mysql-apt-config*
|
||||
sudo apt-get -qq update
|
||||
|
||||
# We have to install this old version of libaio1 in case we end up testing with MySQL 5.7. See also:
|
||||
# https://bugs.launchpad.net/ubuntu/+source/libaio/+bug/2067501
|
||||
curl -L -O http://mirrors.kernel.org/ubuntu/pool/main/liba/libaio/libaio1_0.3.112-13build1_amd64.deb
|
||||
sudo dpkg -i libaio1_0.3.112-13build1_amd64.deb
|
||||
# libtinfo5 is also needed for older MySQL 5.7 builds.
|
||||
curl -L -O http://mirrors.kernel.org/ubuntu/pool/universe/n/ncurses/libtinfo5_6.3-2ubuntu0.1_amd64.deb
|
||||
sudo dpkg -i libtinfo5_6.3-2ubuntu0.1_amd64.deb
|
||||
|
||||
# Install everything else we need, and configure
|
||||
sudo apt-get -qq install -y mysql-server mysql-shell mysql-client make unzip g++ etcd curl git wget eatmydata xz-utils libncurses5
|
||||
sudo apt-get -qq install -y mysql-server mysql-shell mysql-client make unzip g++ etcd-client etcd-server curl git wget eatmydata xz-utils libncurses6
|
||||
|
||||
sudo service mysql stop
|
||||
sudo service etcd stop
|
||||
|
@ -140,6 +154,8 @@ jobs:
|
|||
|
||||
set -exo pipefail
|
||||
|
||||
# Some of these tests require specific locales to be installed.
|
||||
# See https://github.com/cncf/automation/commit/49f2ad7a791a62ff7d038002bbb2b1f074eed5d5
|
||||
# run the tests however you normally do, then produce a JUnit XML file
|
||||
eatmydata -- go run test.go -docker=false -follow -shard vtgate_topo_consul | tee -a output.txt | go-junit-report -set-exit-code > report.xml
|
||||
|
||||
|
|
|
@ -15,8 +15,9 @@ env:
|
|||
|
||||
jobs:
|
||||
build:
|
||||
timeout-minutes: 60
|
||||
name: Run endtoend tests on Cluster (vtgate_topo_etcd)
|
||||
runs-on: ubuntu-latest
|
||||
runs-on: ubuntu-24.04
|
||||
|
||||
steps:
|
||||
- name: Skip CI
|
||||
|
@ -45,7 +46,9 @@ jobs:
|
|||
|
||||
- name: Check out code
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false'
|
||||
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
persist-credentials: 'false'
|
||||
|
||||
- name: Check for changes in relevant files
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false'
|
||||
|
@ -55,6 +58,7 @@ jobs:
|
|||
token: ''
|
||||
filters: |
|
||||
end_to_end:
|
||||
- 'test/config.json'
|
||||
- 'go/**/*.go'
|
||||
- 'go/vt/sidecardb/**/*.sql'
|
||||
- 'go/test/endtoend/onlineddl/vrepl_suite/**'
|
||||
|
@ -91,17 +95,27 @@ jobs:
|
|||
|
||||
- name: Get dependencies
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
|
||||
timeout-minutes: 10
|
||||
run: |
|
||||
|
||||
# Get key to latest MySQL repo
|
||||
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys A8D3785C
|
||||
# Setup MySQL 8.0
|
||||
wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.32-1_all.deb
|
||||
wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.33-1_all.deb
|
||||
echo mysql-apt-config mysql-apt-config/select-server select mysql-8.0 | sudo debconf-set-selections
|
||||
sudo DEBIAN_FRONTEND="noninteractive" dpkg -i mysql-apt-config*
|
||||
sudo apt-get -qq update
|
||||
|
||||
# We have to install this old version of libaio1 in case we end up testing with MySQL 5.7. See also:
|
||||
# https://bugs.launchpad.net/ubuntu/+source/libaio/+bug/2067501
|
||||
curl -L -O http://mirrors.kernel.org/ubuntu/pool/main/liba/libaio/libaio1_0.3.112-13build1_amd64.deb
|
||||
sudo dpkg -i libaio1_0.3.112-13build1_amd64.deb
|
||||
# libtinfo5 is also needed for older MySQL 5.7 builds.
|
||||
curl -L -O http://mirrors.kernel.org/ubuntu/pool/universe/n/ncurses/libtinfo5_6.3-2ubuntu0.1_amd64.deb
|
||||
sudo dpkg -i libtinfo5_6.3-2ubuntu0.1_amd64.deb
|
||||
|
||||
# Install everything else we need, and configure
|
||||
sudo apt-get -qq install -y mysql-server mysql-shell mysql-client make unzip g++ etcd curl git wget eatmydata xz-utils libncurses5
|
||||
sudo apt-get -qq install -y mysql-server mysql-shell mysql-client make unzip g++ etcd-client etcd-server curl git wget eatmydata xz-utils libncurses6
|
||||
|
||||
sudo service mysql stop
|
||||
sudo service etcd stop
|
||||
|
@ -135,6 +149,8 @@ jobs:
|
|||
|
||||
set -exo pipefail
|
||||
|
||||
# Some of these tests require specific locales to be installed.
|
||||
# See https://github.com/cncf/automation/commit/49f2ad7a791a62ff7d038002bbb2b1f074eed5d5
|
||||
# run the tests however you normally do, then produce a JUnit XML file
|
||||
eatmydata -- go run test.go -docker=false -follow -shard vtgate_topo_etcd | tee -a output.txt | go-junit-report -set-exit-code > report.xml
|
||||
|
||||
|
|
|
@ -15,8 +15,9 @@ env:
|
|||
|
||||
jobs:
|
||||
build:
|
||||
timeout-minutes: 60
|
||||
name: Run endtoend tests on Cluster (vtgate_transaction)
|
||||
runs-on: ubuntu-latest
|
||||
runs-on: ubuntu-24.04
|
||||
|
||||
steps:
|
||||
- name: Skip CI
|
||||
|
@ -45,7 +46,9 @@ jobs:
|
|||
|
||||
- name: Check out code
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false'
|
||||
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
persist-credentials: 'false'
|
||||
|
||||
- name: Check for changes in relevant files
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false'
|
||||
|
@ -55,6 +58,7 @@ jobs:
|
|||
token: ''
|
||||
filters: |
|
||||
end_to_end:
|
||||
- 'test/config.json'
|
||||
- 'go/**/*.go'
|
||||
- 'go/vt/sidecardb/**/*.sql'
|
||||
- 'go/test/endtoend/onlineddl/vrepl_suite/**'
|
||||
|
@ -91,17 +95,27 @@ jobs:
|
|||
|
||||
- name: Get dependencies
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
|
||||
timeout-minutes: 10
|
||||
run: |
|
||||
|
||||
# Get key to latest MySQL repo
|
||||
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys A8D3785C
|
||||
# Setup MySQL 8.0
|
||||
wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.32-1_all.deb
|
||||
wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.33-1_all.deb
|
||||
echo mysql-apt-config mysql-apt-config/select-server select mysql-8.0 | sudo debconf-set-selections
|
||||
sudo DEBIAN_FRONTEND="noninteractive" dpkg -i mysql-apt-config*
|
||||
sudo apt-get -qq update
|
||||
|
||||
# We have to install this old version of libaio1 in case we end up testing with MySQL 5.7. See also:
|
||||
# https://bugs.launchpad.net/ubuntu/+source/libaio/+bug/2067501
|
||||
curl -L -O http://mirrors.kernel.org/ubuntu/pool/main/liba/libaio/libaio1_0.3.112-13build1_amd64.deb
|
||||
sudo dpkg -i libaio1_0.3.112-13build1_amd64.deb
|
||||
# libtinfo5 is also needed for older MySQL 5.7 builds.
|
||||
curl -L -O http://mirrors.kernel.org/ubuntu/pool/universe/n/ncurses/libtinfo5_6.3-2ubuntu0.1_amd64.deb
|
||||
sudo dpkg -i libtinfo5_6.3-2ubuntu0.1_amd64.deb
|
||||
|
||||
# Install everything else we need, and configure
|
||||
sudo apt-get -qq install -y mysql-server mysql-shell mysql-client make unzip g++ etcd curl git wget eatmydata xz-utils libncurses5
|
||||
sudo apt-get -qq install -y mysql-server mysql-shell mysql-client make unzip g++ etcd-client etcd-server curl git wget eatmydata xz-utils libncurses6
|
||||
|
||||
sudo service mysql stop
|
||||
sudo service etcd stop
|
||||
|
@ -135,6 +149,8 @@ jobs:
|
|||
|
||||
set -exo pipefail
|
||||
|
||||
# Some of these tests require specific locales to be installed.
|
||||
# See https://github.com/cncf/automation/commit/49f2ad7a791a62ff7d038002bbb2b1f074eed5d5
|
||||
# run the tests however you normally do, then produce a JUnit XML file
|
||||
eatmydata -- go run test.go -docker=false -follow -shard vtgate_transaction -build-tag=debug2PC | tee -a output.txt | go-junit-report -set-exit-code > report.xml
|
||||
|
||||
|
|
|
@ -15,8 +15,9 @@ env:
|
|||
|
||||
jobs:
|
||||
build:
|
||||
timeout-minutes: 60
|
||||
name: Run endtoend tests on Cluster (vtgate_unsharded)
|
||||
runs-on: ubuntu-latest
|
||||
runs-on: ubuntu-24.04
|
||||
|
||||
steps:
|
||||
- name: Skip CI
|
||||
|
@ -45,7 +46,9 @@ jobs:
|
|||
|
||||
- name: Check out code
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false'
|
||||
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
persist-credentials: 'false'
|
||||
|
||||
- name: Check for changes in relevant files
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false'
|
||||
|
@ -55,6 +58,7 @@ jobs:
|
|||
token: ''
|
||||
filters: |
|
||||
end_to_end:
|
||||
- 'test/config.json'
|
||||
- 'go/**/*.go'
|
||||
- 'go/vt/sidecardb/**/*.sql'
|
||||
- 'go/test/endtoend/onlineddl/vrepl_suite/**'
|
||||
|
@ -91,17 +95,27 @@ jobs:
|
|||
|
||||
- name: Get dependencies
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
|
||||
timeout-minutes: 10
|
||||
run: |
|
||||
|
||||
# Get key to latest MySQL repo
|
||||
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys A8D3785C
|
||||
# Setup MySQL 8.0
|
||||
wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.32-1_all.deb
|
||||
wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.33-1_all.deb
|
||||
echo mysql-apt-config mysql-apt-config/select-server select mysql-8.0 | sudo debconf-set-selections
|
||||
sudo DEBIAN_FRONTEND="noninteractive" dpkg -i mysql-apt-config*
|
||||
sudo apt-get -qq update
|
||||
|
||||
# We have to install this old version of libaio1 in case we end up testing with MySQL 5.7. See also:
|
||||
# https://bugs.launchpad.net/ubuntu/+source/libaio/+bug/2067501
|
||||
curl -L -O http://mirrors.kernel.org/ubuntu/pool/main/liba/libaio/libaio1_0.3.112-13build1_amd64.deb
|
||||
sudo dpkg -i libaio1_0.3.112-13build1_amd64.deb
|
||||
# libtinfo5 is also needed for older MySQL 5.7 builds.
|
||||
curl -L -O http://mirrors.kernel.org/ubuntu/pool/universe/n/ncurses/libtinfo5_6.3-2ubuntu0.1_amd64.deb
|
||||
sudo dpkg -i libtinfo5_6.3-2ubuntu0.1_amd64.deb
|
||||
|
||||
# Install everything else we need, and configure
|
||||
sudo apt-get -qq install -y mysql-server mysql-shell mysql-client make unzip g++ etcd curl git wget eatmydata xz-utils libncurses5
|
||||
sudo apt-get -qq install -y mysql-server mysql-shell mysql-client make unzip g++ etcd-client etcd-server curl git wget eatmydata xz-utils libncurses6
|
||||
|
||||
sudo service mysql stop
|
||||
sudo service etcd stop
|
||||
|
@ -135,6 +149,8 @@ jobs:
|
|||
|
||||
set -exo pipefail
|
||||
|
||||
# Some of these tests require specific locales to be installed.
|
||||
# See https://github.com/cncf/automation/commit/49f2ad7a791a62ff7d038002bbb2b1f074eed5d5
|
||||
# run the tests however you normally do, then produce a JUnit XML file
|
||||
eatmydata -- go run test.go -docker=false -follow -shard vtgate_unsharded | tee -a output.txt | go-junit-report -set-exit-code > report.xml
|
||||
|
||||
|
|
|
@ -15,8 +15,9 @@ env:
|
|||
|
||||
jobs:
|
||||
build:
|
||||
timeout-minutes: 60
|
||||
name: Run endtoend tests on Cluster (vtgate_vindex_heavy)
|
||||
runs-on: ubuntu-latest
|
||||
runs-on: ubuntu-24.04
|
||||
|
||||
steps:
|
||||
- name: Skip CI
|
||||
|
@ -45,7 +46,9 @@ jobs:
|
|||
|
||||
- name: Check out code
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false'
|
||||
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
persist-credentials: 'false'
|
||||
|
||||
- name: Check for changes in relevant files
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false'
|
||||
|
@ -55,6 +58,7 @@ jobs:
|
|||
token: ''
|
||||
filters: |
|
||||
end_to_end:
|
||||
- 'test/config.json'
|
||||
- 'go/**/*.go'
|
||||
- 'go/vt/sidecardb/**/*.sql'
|
||||
- 'go/test/endtoend/onlineddl/vrepl_suite/**'
|
||||
|
@ -91,17 +95,27 @@ jobs:
|
|||
|
||||
- name: Get dependencies
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
|
||||
timeout-minutes: 10
|
||||
run: |
|
||||
|
||||
# Get key to latest MySQL repo
|
||||
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys A8D3785C
|
||||
# Setup MySQL 8.0
|
||||
wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.32-1_all.deb
|
||||
wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.33-1_all.deb
|
||||
echo mysql-apt-config mysql-apt-config/select-server select mysql-8.0 | sudo debconf-set-selections
|
||||
sudo DEBIAN_FRONTEND="noninteractive" dpkg -i mysql-apt-config*
|
||||
sudo apt-get -qq update
|
||||
|
||||
# We have to install this old version of libaio1 in case we end up testing with MySQL 5.7. See also:
|
||||
# https://bugs.launchpad.net/ubuntu/+source/libaio/+bug/2067501
|
||||
curl -L -O http://mirrors.kernel.org/ubuntu/pool/main/liba/libaio/libaio1_0.3.112-13build1_amd64.deb
|
||||
sudo dpkg -i libaio1_0.3.112-13build1_amd64.deb
|
||||
# libtinfo5 is also needed for older MySQL 5.7 builds.
|
||||
curl -L -O http://mirrors.kernel.org/ubuntu/pool/universe/n/ncurses/libtinfo5_6.3-2ubuntu0.1_amd64.deb
|
||||
sudo dpkg -i libtinfo5_6.3-2ubuntu0.1_amd64.deb
|
||||
|
||||
# Install everything else we need, and configure
|
||||
sudo apt-get -qq install -y mysql-server mysql-shell mysql-client make unzip g++ etcd curl git wget eatmydata xz-utils libncurses5
|
||||
sudo apt-get -qq install -y mysql-server mysql-shell mysql-client make unzip g++ etcd-client etcd-server curl git wget eatmydata xz-utils libncurses6
|
||||
|
||||
sudo service mysql stop
|
||||
sudo service etcd stop
|
||||
|
@ -153,6 +167,8 @@ jobs:
|
|||
slow-query-log=OFF
|
||||
EOF
|
||||
|
||||
# Some of these tests require specific locales to be installed.
|
||||
# See https://github.com/cncf/automation/commit/49f2ad7a791a62ff7d038002bbb2b1f074eed5d5
|
||||
# run the tests however you normally do, then produce a JUnit XML file
|
||||
eatmydata -- go run test.go -docker=false -follow -shard vtgate_vindex_heavy | tee -a output.txt | go-junit-report -set-exit-code > report.xml
|
||||
|
||||
|
|
|
@ -15,8 +15,9 @@ env:
|
|||
|
||||
jobs:
|
||||
build:
|
||||
timeout-minutes: 60
|
||||
name: Run endtoend tests on Cluster (vtgate_vschema)
|
||||
runs-on: ubuntu-latest
|
||||
runs-on: ubuntu-24.04
|
||||
|
||||
steps:
|
||||
- name: Skip CI
|
||||
|
@ -45,7 +46,9 @@ jobs:
|
|||
|
||||
- name: Check out code
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false'
|
||||
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
persist-credentials: 'false'
|
||||
|
||||
- name: Check for changes in relevant files
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false'
|
||||
|
@ -55,6 +58,7 @@ jobs:
|
|||
token: ''
|
||||
filters: |
|
||||
end_to_end:
|
||||
- 'test/config.json'
|
||||
- 'go/**/*.go'
|
||||
- 'go/vt/sidecardb/**/*.sql'
|
||||
- 'go/test/endtoend/onlineddl/vrepl_suite/**'
|
||||
|
@ -91,17 +95,27 @@ jobs:
|
|||
|
||||
- name: Get dependencies
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
|
||||
timeout-minutes: 10
|
||||
run: |
|
||||
|
||||
# Get key to latest MySQL repo
|
||||
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys A8D3785C
|
||||
# Setup MySQL 8.0
|
||||
wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.32-1_all.deb
|
||||
wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.33-1_all.deb
|
||||
echo mysql-apt-config mysql-apt-config/select-server select mysql-8.0 | sudo debconf-set-selections
|
||||
sudo DEBIAN_FRONTEND="noninteractive" dpkg -i mysql-apt-config*
|
||||
sudo apt-get -qq update
|
||||
|
||||
# We have to install this old version of libaio1 in case we end up testing with MySQL 5.7. See also:
|
||||
# https://bugs.launchpad.net/ubuntu/+source/libaio/+bug/2067501
|
||||
curl -L -O http://mirrors.kernel.org/ubuntu/pool/main/liba/libaio/libaio1_0.3.112-13build1_amd64.deb
|
||||
sudo dpkg -i libaio1_0.3.112-13build1_amd64.deb
|
||||
# libtinfo5 is also needed for older MySQL 5.7 builds.
|
||||
curl -L -O http://mirrors.kernel.org/ubuntu/pool/universe/n/ncurses/libtinfo5_6.3-2ubuntu0.1_amd64.deb
|
||||
sudo dpkg -i libtinfo5_6.3-2ubuntu0.1_amd64.deb
|
||||
|
||||
# Install everything else we need, and configure
|
||||
sudo apt-get -qq install -y mysql-server mysql-shell mysql-client make unzip g++ etcd curl git wget eatmydata xz-utils libncurses5
|
||||
sudo apt-get -qq install -y mysql-server mysql-shell mysql-client make unzip g++ etcd-client etcd-server curl git wget eatmydata xz-utils libncurses6
|
||||
|
||||
sudo service mysql stop
|
||||
sudo service etcd stop
|
||||
|
@ -135,6 +149,8 @@ jobs:
|
|||
|
||||
set -exo pipefail
|
||||
|
||||
# Some of these tests require specific locales to be installed.
|
||||
# See https://github.com/cncf/automation/commit/49f2ad7a791a62ff7d038002bbb2b1f074eed5d5
|
||||
# run the tests however you normally do, then produce a JUnit XML file
|
||||
eatmydata -- go run test.go -docker=false -follow -shard vtgate_vschema | tee -a output.txt | go-junit-report -set-exit-code > report.xml
|
||||
|
||||
|
|
|
@ -15,8 +15,9 @@ env:
|
|||
|
||||
jobs:
|
||||
build:
|
||||
timeout-minutes: 60
|
||||
name: Run endtoend tests on Cluster (vtorc)
|
||||
runs-on: ubuntu-latest
|
||||
runs-on: ubuntu-24.04
|
||||
|
||||
steps:
|
||||
- name: Skip CI
|
||||
|
@ -54,7 +55,9 @@ jobs:
|
|||
|
||||
- name: Check out code
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false'
|
||||
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
persist-credentials: 'false'
|
||||
|
||||
- name: Check for changes in relevant files
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false'
|
||||
|
@ -64,6 +67,7 @@ jobs:
|
|||
token: ''
|
||||
filters: |
|
||||
end_to_end:
|
||||
- 'test/config.json'
|
||||
- 'go/**/*.go'
|
||||
- 'go/vt/sidecardb/**/*.sql'
|
||||
- 'go/test/endtoend/onlineddl/vrepl_suite/**'
|
||||
|
@ -100,17 +104,27 @@ jobs:
|
|||
|
||||
- name: Get dependencies
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
|
||||
timeout-minutes: 10
|
||||
run: |
|
||||
|
||||
# Get key to latest MySQL repo
|
||||
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys A8D3785C
|
||||
# Setup MySQL 8.0
|
||||
wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.32-1_all.deb
|
||||
wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.33-1_all.deb
|
||||
echo mysql-apt-config mysql-apt-config/select-server select mysql-8.0 | sudo debconf-set-selections
|
||||
sudo DEBIAN_FRONTEND="noninteractive" dpkg -i mysql-apt-config*
|
||||
sudo apt-get -qq update
|
||||
|
||||
# We have to install this old version of libaio1 in case we end up testing with MySQL 5.7. See also:
|
||||
# https://bugs.launchpad.net/ubuntu/+source/libaio/+bug/2067501
|
||||
curl -L -O http://mirrors.kernel.org/ubuntu/pool/main/liba/libaio/libaio1_0.3.112-13build1_amd64.deb
|
||||
sudo dpkg -i libaio1_0.3.112-13build1_amd64.deb
|
||||
# libtinfo5 is also needed for older MySQL 5.7 builds.
|
||||
curl -L -O http://mirrors.kernel.org/ubuntu/pool/universe/n/ncurses/libtinfo5_6.3-2ubuntu0.1_amd64.deb
|
||||
sudo dpkg -i libtinfo5_6.3-2ubuntu0.1_amd64.deb
|
||||
|
||||
# Install everything else we need, and configure
|
||||
sudo apt-get -qq install -y mysql-server mysql-shell mysql-client make unzip g++ etcd curl git wget eatmydata xz-utils libncurses5
|
||||
sudo apt-get -qq install -y mysql-server mysql-shell mysql-client make unzip g++ etcd-client etcd-server curl git wget eatmydata xz-utils libncurses6
|
||||
|
||||
sudo service mysql stop
|
||||
sudo service etcd stop
|
||||
|
@ -144,6 +158,8 @@ jobs:
|
|||
|
||||
set -exo pipefail
|
||||
|
||||
# Some of these tests require specific locales to be installed.
|
||||
# See https://github.com/cncf/automation/commit/49f2ad7a791a62ff7d038002bbb2b1f074eed5d5
|
||||
# run the tests however you normally do, then produce a JUnit XML file
|
||||
eatmydata -- go run test.go -docker=false -follow -shard vtorc | tee -a output.txt | go-junit-report -set-exit-code > report.xml
|
||||
|
||||
|
|
|
@ -15,8 +15,9 @@ env:
|
|||
|
||||
jobs:
|
||||
build:
|
||||
timeout-minutes: 60
|
||||
name: Run endtoend tests on Cluster (vttablet_prscomplex)
|
||||
runs-on: ubuntu-latest
|
||||
runs-on: ubuntu-24.04
|
||||
|
||||
steps:
|
||||
- name: Skip CI
|
||||
|
@ -45,7 +46,9 @@ jobs:
|
|||
|
||||
- name: Check out code
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false'
|
||||
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
persist-credentials: 'false'
|
||||
|
||||
- name: Check for changes in relevant files
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false'
|
||||
|
@ -55,6 +58,7 @@ jobs:
|
|||
token: ''
|
||||
filters: |
|
||||
end_to_end:
|
||||
- 'test/config.json'
|
||||
- 'go/**/*.go'
|
||||
- 'go/vt/sidecardb/**/*.sql'
|
||||
- 'go/test/endtoend/onlineddl/vrepl_suite/**'
|
||||
|
@ -91,17 +95,27 @@ jobs:
|
|||
|
||||
- name: Get dependencies
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
|
||||
timeout-minutes: 10
|
||||
run: |
|
||||
|
||||
# Get key to latest MySQL repo
|
||||
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys A8D3785C
|
||||
# Setup MySQL 8.0
|
||||
wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.32-1_all.deb
|
||||
wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.33-1_all.deb
|
||||
echo mysql-apt-config mysql-apt-config/select-server select mysql-8.0 | sudo debconf-set-selections
|
||||
sudo DEBIAN_FRONTEND="noninteractive" dpkg -i mysql-apt-config*
|
||||
sudo apt-get -qq update
|
||||
|
||||
# We have to install this old version of libaio1 in case we end up testing with MySQL 5.7. See also:
|
||||
# https://bugs.launchpad.net/ubuntu/+source/libaio/+bug/2067501
|
||||
curl -L -O http://mirrors.kernel.org/ubuntu/pool/main/liba/libaio/libaio1_0.3.112-13build1_amd64.deb
|
||||
sudo dpkg -i libaio1_0.3.112-13build1_amd64.deb
|
||||
# libtinfo5 is also needed for older MySQL 5.7 builds.
|
||||
curl -L -O http://mirrors.kernel.org/ubuntu/pool/universe/n/ncurses/libtinfo5_6.3-2ubuntu0.1_amd64.deb
|
||||
sudo dpkg -i libtinfo5_6.3-2ubuntu0.1_amd64.deb
|
||||
|
||||
# Install everything else we need, and configure
|
||||
sudo apt-get -qq install -y mysql-server mysql-shell mysql-client make unzip g++ etcd curl git wget eatmydata xz-utils libncurses5
|
||||
sudo apt-get -qq install -y mysql-server mysql-shell mysql-client make unzip g++ etcd-client etcd-server curl git wget eatmydata xz-utils libncurses6
|
||||
|
||||
sudo service mysql stop
|
||||
sudo service etcd stop
|
||||
|
@ -135,6 +149,8 @@ jobs:
|
|||
|
||||
set -exo pipefail
|
||||
|
||||
# Some of these tests require specific locales to be installed.
|
||||
# See https://github.com/cncf/automation/commit/49f2ad7a791a62ff7d038002bbb2b1f074eed5d5
|
||||
# run the tests however you normally do, then produce a JUnit XML file
|
||||
eatmydata -- go run test.go -docker=false -follow -shard vttablet_prscomplex | tee -a output.txt | go-junit-report -set-exit-code > report.xml
|
||||
|
||||
|
|
|
@ -15,8 +15,9 @@ env:
|
|||
|
||||
jobs:
|
||||
build:
|
||||
timeout-minutes: 60
|
||||
name: Run endtoend tests on Cluster (xb_backup)
|
||||
runs-on: ubuntu-latest
|
||||
runs-on: ubuntu-24.04
|
||||
|
||||
steps:
|
||||
- name: Skip CI
|
||||
|
@ -45,7 +46,9 @@ jobs:
|
|||
|
||||
- name: Check out code
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false'
|
||||
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
persist-credentials: 'false'
|
||||
|
||||
- name: Check for changes in relevant files
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false'
|
||||
|
@ -55,6 +58,7 @@ jobs:
|
|||
token: ''
|
||||
filters: |
|
||||
end_to_end:
|
||||
- 'test/config.json'
|
||||
- 'go/**/*.go'
|
||||
- 'go/vt/sidecardb/**/*.sql'
|
||||
- 'go/test/endtoend/onlineddl/vrepl_suite/**'
|
||||
|
@ -91,6 +95,7 @@ jobs:
|
|||
|
||||
- name: Get dependencies
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
|
||||
timeout-minutes: 10
|
||||
run: |
|
||||
|
||||
# Setup Percona Server for MySQL 8.0
|
||||
|
@ -102,7 +107,7 @@ jobs:
|
|||
sudo apt-get -qq update
|
||||
|
||||
# Install everything else we need, and configure
|
||||
sudo apt-get -qq install -y percona-server-server percona-server-client make unzip g++ etcd git wget eatmydata xz-utils libncurses5
|
||||
sudo apt-get -qq install -y percona-server-server percona-server-client make unzip g++ etcd-client etcd-server git wget eatmydata xz-utils libncurses6
|
||||
|
||||
sudo service mysql stop
|
||||
sudo service etcd stop
|
||||
|
@ -138,6 +143,8 @@ jobs:
|
|||
|
||||
set -exo pipefail
|
||||
|
||||
# Some of these tests require specific locales to be installed.
|
||||
# See https://github.com/cncf/automation/commit/49f2ad7a791a62ff7d038002bbb2b1f074eed5d5
|
||||
# run the tests however you normally do, then produce a JUnit XML file
|
||||
eatmydata -- go run test.go -docker=false -follow -shard xb_backup | tee -a output.txt | go-junit-report -set-exit-code > report.xml
|
||||
|
||||
|
|
|
@ -15,8 +15,9 @@ env:
|
|||
|
||||
jobs:
|
||||
build:
|
||||
timeout-minutes: 60
|
||||
name: Run endtoend tests on Cluster (xb_recovery)
|
||||
runs-on: ubuntu-latest
|
||||
runs-on: ubuntu-24.04
|
||||
|
||||
steps:
|
||||
- name: Skip CI
|
||||
|
@ -45,7 +46,9 @@ jobs:
|
|||
|
||||
- name: Check out code
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false'
|
||||
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
persist-credentials: 'false'
|
||||
|
||||
- name: Check for changes in relevant files
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false'
|
||||
|
@ -55,6 +58,7 @@ jobs:
|
|||
token: ''
|
||||
filters: |
|
||||
end_to_end:
|
||||
- 'test/config.json'
|
||||
- 'go/**/*.go'
|
||||
- 'go/vt/sidecardb/**/*.sql'
|
||||
- 'go/test/endtoend/onlineddl/vrepl_suite/**'
|
||||
|
@ -91,6 +95,7 @@ jobs:
|
|||
|
||||
- name: Get dependencies
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
|
||||
timeout-minutes: 10
|
||||
run: |
|
||||
|
||||
# Setup Percona Server for MySQL 8.0
|
||||
|
@ -102,7 +107,7 @@ jobs:
|
|||
sudo apt-get -qq update
|
||||
|
||||
# Install everything else we need, and configure
|
||||
sudo apt-get -qq install -y percona-server-server percona-server-client make unzip g++ etcd git wget eatmydata xz-utils libncurses5
|
||||
sudo apt-get -qq install -y percona-server-server percona-server-client make unzip g++ etcd-client etcd-server git wget eatmydata xz-utils libncurses6
|
||||
|
||||
sudo service mysql stop
|
||||
sudo service etcd stop
|
||||
|
@ -138,6 +143,8 @@ jobs:
|
|||
|
||||
set -exo pipefail
|
||||
|
||||
# Some of these tests require specific locales to be installed.
|
||||
# See https://github.com/cncf/automation/commit/49f2ad7a791a62ff7d038002bbb2b1f074eed5d5
|
||||
# run the tests however you normally do, then produce a JUnit XML file
|
||||
eatmydata -- go run test.go -docker=false -follow -shard xb_recovery | tee -a output.txt | go-junit-report -set-exit-code > report.xml
|
||||
|
||||
|
|
|
@ -7,7 +7,7 @@ permissions: read-all
|
|||
jobs:
|
||||
build:
|
||||
name: Code Freeze
|
||||
runs-on: ubuntu-latest
|
||||
runs-on: ubuntu-24.04
|
||||
steps:
|
||||
- name: Fail if Code Freeze is enabled
|
||||
run: |
|
||||
|
|
|
@ -9,11 +9,13 @@ permissions: read-all
|
|||
jobs:
|
||||
test:
|
||||
name: Code Coverage
|
||||
runs-on: gh-hosted-runners-16cores-1
|
||||
runs-on: ubuntu-24.04
|
||||
|
||||
steps:
|
||||
- name: Check out code
|
||||
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
persist-credentials: 'false'
|
||||
|
||||
- name: Check for changes in files relevant to code coverage
|
||||
uses: dorny/paths-filter@ebc4d7e9ebcb0b1eb21480bb8f43113e996ac77a # v3.0.1
|
||||
|
@ -53,13 +55,13 @@ jobs:
|
|||
sudo apt-get update
|
||||
|
||||
# Uninstall any previously installed MySQL first
|
||||
sudo systemctl stop apparmor
|
||||
# sudo systemctl stop apparmor
|
||||
sudo DEBIAN_FRONTEND="noninteractive" apt-get remove -y --purge mysql-server mysql-client mysql-common
|
||||
sudo apt-get -y autoremove
|
||||
sudo apt-get -y autoclean
|
||||
sudo deluser mysql
|
||||
sudo rm -rf /var/lib/mysql
|
||||
sudo rm -rf /etc/mysql
|
||||
# sudo deluser mysql
|
||||
# sudo rm -rf /var/lib/mysql
|
||||
# sudo rm -rf /etc/mysql
|
||||
|
||||
# Get key to latest MySQL repo
|
||||
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys A8D3785C
|
||||
|
@ -72,14 +74,15 @@ jobs:
|
|||
sudo DEBIAN_FRONTEND="noninteractive" apt-get install -y mysql-server mysql-client
|
||||
|
||||
sudo apt-get install -y make unzip g++ curl git wget ant openjdk-11-jdk eatmydata
|
||||
|
||||
sudo service mysql stop
|
||||
sudo bash -c "echo '/usr/sbin/mysqld { }' > /etc/apparmor.d/usr.sbin.mysqld" # https://bugs.launchpad.net/ubuntu/+source/mariadb-10.1/+bug/1806263
|
||||
sudo ln -s /etc/apparmor.d/usr.sbin.mysqld /etc/apparmor.d/disable/
|
||||
sudo apparmor_parser -R /etc/apparmor.d/usr.sbin.mysqld || echo "could not remove mysqld profile"
|
||||
|
||||
mkdir -p dist bin
|
||||
curl -L https://github.com/coreos/etcd/releases/download/v3.3.10/etcd-v3.3.10-linux-amd64.tar.gz | tar -zxC dist
|
||||
mv dist/etcd-v3.3.10-linux-amd64/{etcd,etcdctl} bin/
|
||||
curl -s -L https://github.com/coreos/etcd/releases/download/v3.5.17/etcd-v3.5.17-linux-amd64.tar.gz | tar -zxC dist
|
||||
mv dist/etcd-v3.5.17-linux-amd64/{etcd,etcdctl} bin/
|
||||
|
||||
go mod download
|
||||
go install golang.org/x/tools/cmd/goimports@latest
|
||||
|
@ -111,7 +114,7 @@ jobs:
|
|||
|
||||
- name: Upload coverage reports to codecov.io
|
||||
if: steps.changes.outputs.changed_files == 'true'
|
||||
uses: codecov/codecov-action@v4
|
||||
uses: codecov/codecov-action@015f24e6818733317a2da2edd6290ab26238649a # https://github.com/codecov/codecov-action/releases/tag/v5.0.7
|
||||
with:
|
||||
fail_ci_if_error: true
|
||||
verbose: true
|
||||
|
|
|
@ -14,7 +14,7 @@ permissions: read-all
|
|||
jobs:
|
||||
analyze:
|
||||
name: Analyze
|
||||
runs-on: ubuntu-latest
|
||||
runs-on: ubuntu-24.04
|
||||
permissions:
|
||||
actions: read
|
||||
contents: read
|
||||
|
@ -27,7 +27,9 @@ jobs:
|
|||
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
persist-credentials: 'false'
|
||||
|
||||
- name: Set up Go
|
||||
uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 # v5.0.2
|
||||
|
@ -47,25 +49,27 @@ jobs:
|
|||
# queries: security-extended,security-and-quality
|
||||
|
||||
- name: Get base dependencies
|
||||
timeout-minutes: 10
|
||||
run: |
|
||||
sudo DEBIAN_FRONTEND="noninteractive" apt-get update
|
||||
# Uninstall any previously installed MySQL first
|
||||
sudo systemctl stop apparmor
|
||||
# sudo systemctl stop apparmor
|
||||
sudo DEBIAN_FRONTEND="noninteractive" apt-get remove -y --purge mysql-server mysql-client mysql-common
|
||||
sudo apt-get -y autoremove
|
||||
sudo apt-get -y autoclean
|
||||
sudo deluser mysql
|
||||
sudo rm -rf /var/lib/mysql
|
||||
sudo rm -rf /etc/mysql
|
||||
# sudo deluser mysql
|
||||
# sudo rm -rf /var/lib/mysql
|
||||
# sudo rm -rf /etc/mysql
|
||||
# Install mysql80
|
||||
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys A8D3785C
|
||||
wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.32-1_all.deb
|
||||
wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.33-1_all.deb
|
||||
echo mysql-apt-config mysql-apt-config/select-server select mysql-8.0 | sudo debconf-set-selections
|
||||
sudo DEBIAN_FRONTEND="noninteractive" dpkg -i mysql-apt-config*
|
||||
sudo apt-get update
|
||||
sudo DEBIAN_FRONTEND="noninteractive" apt-get install -y mysql-server mysql-client
|
||||
# Install everything else we need, and configure
|
||||
sudo apt-get install -y make unzip g++ etcd curl git wget eatmydata
|
||||
sudo apt-get install -y make unzip g++ etcd-client etcd-server curl git wget eatmydata
|
||||
|
||||
sudo service mysql stop
|
||||
sudo service etcd stop
|
||||
sudo bash -c "echo '/usr/sbin/mysqld { }' > /etc/apparmor.d/usr.sbin.mysqld" # https://bugs.launchpad.net/ubuntu/+source/mariadb-10.1/+bug/1806263
|
||||
|
|
|
@ -7,46 +7,65 @@ on:
|
|||
release:
|
||||
types: [created]
|
||||
|
||||
permissions: read-all
|
||||
permissions:
|
||||
contents: write
|
||||
actions: read
|
||||
|
||||
jobs:
|
||||
build:
|
||||
name: Create Release
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
contents: write
|
||||
runs-on: ubuntu-24.04
|
||||
steps:
|
||||
- name: Check out code
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
persist-credentials: 'false'
|
||||
|
||||
- name: Set up Go
|
||||
uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 # v5.0.2
|
||||
with:
|
||||
go-version-file: go.mod
|
||||
|
||||
- name: Setup node
|
||||
uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: '20.12.2'
|
||||
cache: 'false'
|
||||
|
||||
- name: Tune the OS
|
||||
run: |
|
||||
sudo sysctl -w net.ipv4.ip_local_port_range="22768 65535"
|
||||
|
||||
- name: Check out code
|
||||
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
|
||||
|
||||
- name: Get dependencies
|
||||
run: |
|
||||
sudo apt-get update
|
||||
sudo apt-get install -y make ruby ruby-dev
|
||||
go mod download
|
||||
sudo gem install fpm
|
||||
|
||||
# We use fpm to package our artifacts, we want to pin the version we use and
|
||||
# ensure the checksum of the package matches the one published on the package's webpage.
|
||||
# https://rubygems.org/gems/fpm/versions
|
||||
- name: Get fpm
|
||||
run: |
|
||||
FPM_VERSION=1.16.0
|
||||
gem fetch fpm -v $FPM_VERSION
|
||||
|
||||
# Reviewers: The expected checksum MUST ALWAYS match the one published on this website:
|
||||
# https://rubygems.org/gems/fpm/versions
|
||||
EXPECTED_CHECKSUM="d9eafe613cfbdf9d3b8ef2e321e194cd0a2d300ce37f716c0be1b3a42b7db5df"
|
||||
|
||||
GOT_CHECKSUM=$(sha256sum fpm-$FPM_VERSION.gem | awk '{print $1}')
|
||||
|
||||
if [[ "$GOT_CHECKSUM" != "$EXPECTED_CHECKSUM" ]]; then
|
||||
echo "Checksum validation failed"
|
||||
echo "Expected: $EXPECTED_CHECKSUM"
|
||||
echo "Got: $GOT_CHECKSUM"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
sudo gem install fpm-$FPM_VERSION.gem
|
||||
|
||||
- name: Make Packages
|
||||
run: |
|
||||
./tools/make-release-packages.sh
|
||||
|
||||
- name: Upload Files
|
||||
uses: csexton/release-asset-action@master
|
||||
uses: csexton/release-asset-action@3567794e918fa3068116688122a76cdeb57b5f09 # v3.0.0
|
||||
with:
|
||||
github-token: ${{ secrets.GITHUB_TOKEN }}
|
||||
pattern: "releases/*.{tar.gz,rpm,deb}"
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
name: Docker Build Images
|
||||
name: Build Docker Images
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
|
@ -8,28 +8,86 @@ on:
|
|||
workflow_dispatch:
|
||||
|
||||
concurrency:
|
||||
group: format('{0}-{1}', ${{ github.ref }}, 'Docker Build Images (v20+)')
|
||||
group: format('{0}-{1}', ${{ github.ref }}, 'Build Docker Images')
|
||||
cancel-in-progress: true
|
||||
|
||||
permissions: read-all
|
||||
|
||||
jobs:
|
||||
build_and_push_lite:
|
||||
name: Build and push vitess/lite Docker images
|
||||
runs-on: ubuntu-latest
|
||||
build_and_push_vttestserver:
|
||||
name: Build and push vttestserver
|
||||
runs-on: oracle-vm-16cpu-64gb-x86-64
|
||||
if: github.repository == 'vitessio/vitess'
|
||||
|
||||
strategy:
|
||||
fail-fast: true
|
||||
matrix:
|
||||
branch: [ latest, percona80 ]
|
||||
branch: [ mysql80, mysql84 ]
|
||||
|
||||
steps:
|
||||
- name: Check out code
|
||||
uses: actions/checkout@v4
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
persist-credentials: 'false'
|
||||
|
||||
- name: Login to Docker Hub
|
||||
uses: docker/login-action@v3
|
||||
uses: docker/login-action@9780b0c442fbb1117ed29e0efdff1e18412f7567 # v3.3.0
|
||||
with:
|
||||
username: ${{ secrets.DOCKERHUB_USERNAME }}
|
||||
password: ${{ secrets.DOCKERHUB_TOKEN }}
|
||||
|
||||
- name: Set Dockerfile path
|
||||
run: |
|
||||
echo "DOCKERFILE=./docker/vttestserver/Dockerfile.${{ matrix.branch }}" >> $GITHUB_ENV
|
||||
|
||||
- name: Build and push on main
|
||||
if: startsWith(github.ref, 'refs/tags/') == false
|
||||
uses: docker/build-push-action@b32b51a8eda65d6793cd0494a773d4f6bcef32dc # v6.11.0
|
||||
with:
|
||||
context: .
|
||||
file: ${{ env.DOCKERFILE }}
|
||||
push: true
|
||||
tags: vitess/vttestserver:${{ matrix.branch }}
|
||||
|
||||
######
|
||||
# All code below only applies to new tags
|
||||
######
|
||||
- name: Get the Git tag
|
||||
if: startsWith(github.ref, 'refs/tags/')
|
||||
run: echo "TAG_NAME=${GITHUB_REF#refs/tags/}" >> $GITHUB_ENV
|
||||
|
||||
- name: Set Docker tag name
|
||||
if: startsWith(github.ref, 'refs/tags/')
|
||||
run: |
|
||||
echo "DOCKER_TAG=vitess/vttestserver:${TAG_NAME}-${{ matrix.branch }}" >> $GITHUB_ENV
|
||||
|
||||
- name: Build and push on tags
|
||||
if: startsWith(github.ref, 'refs/tags/')
|
||||
uses: docker/build-push-action@b32b51a8eda65d6793cd0494a773d4f6bcef32dc # v6.11.0
|
||||
with:
|
||||
context: .
|
||||
file: ${{ env.DOCKERFILE }}
|
||||
push: true
|
||||
tags: ${{ env.DOCKER_TAG }}
|
||||
|
||||
build_and_push_lite:
|
||||
name: Build and push lite
|
||||
runs-on: ubuntu-24.04
|
||||
if: github.repository == 'vitessio/vitess'
|
||||
|
||||
strategy:
|
||||
fail-fast: true
|
||||
matrix:
|
||||
branch: [ latest, mysql84, percona80 ]
|
||||
|
||||
steps:
|
||||
- name: Check out code
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
persist-credentials: 'false'
|
||||
|
||||
- name: Login to Docker Hub
|
||||
uses: docker/login-action@9780b0c442fbb1117ed29e0efdff1e18412f7567 # v3.3.0
|
||||
with:
|
||||
username: ${{ secrets.DOCKERHUB_USERNAME }}
|
||||
password: ${{ secrets.DOCKERHUB_TOKEN }}
|
||||
|
@ -43,8 +101,8 @@ jobs:
|
|||
fi
|
||||
|
||||
- name: Build and push on main
|
||||
if: github.ref == 'refs/heads/main'
|
||||
uses: docker/build-push-action@v5
|
||||
if: startsWith(github.ref, 'refs/tags/') == false
|
||||
uses: docker/build-push-action@b32b51a8eda65d6793cd0494a773d4f6bcef32dc # v6.11.0
|
||||
with:
|
||||
context: .
|
||||
file: ${{ env.DOCKERFILE }}
|
||||
|
@ -69,7 +127,7 @@ jobs:
|
|||
|
||||
- name: Build and push on tags
|
||||
if: startsWith(github.ref, 'refs/tags/')
|
||||
uses: docker/build-push-action@v5
|
||||
uses: docker/build-push-action@b32b51a8eda65d6793cd0494a773d4f6bcef32dc # v6.11.0
|
||||
with:
|
||||
context: .
|
||||
file: ${{ env.DOCKERFILE }}
|
||||
|
@ -77,23 +135,26 @@ jobs:
|
|||
tags: ${{ env.DOCKER_TAG }}
|
||||
|
||||
build_and_push_components:
|
||||
name: Build and push vitess components Docker images
|
||||
needs: build_and_push_lite
|
||||
runs-on: gh-hosted-runners-16cores-1
|
||||
if: github.repository == 'vitessio/vitess'
|
||||
name: Build and push
|
||||
runs-on: oracle-vm-16cpu-64gb-x86-64
|
||||
if: github.repository == 'vitessio/vitess' && needs.build_and_push_lite.result == 'success'
|
||||
needs:
|
||||
- build_and_push_lite
|
||||
|
||||
strategy:
|
||||
fail-fast: true
|
||||
matrix:
|
||||
debian: [ bullseye, bookworm ]
|
||||
component: [ vtadmin, vtorc, vtgate, vttablet, mysqlctld, mysqlctl, vtctl, vtctlclient, vtctld, logrotate, logtail, vtbackup, vtexplain ]
|
||||
component: [ vtadmin, vtorc, vtgate, vttablet, mysqlctld, mysqlctl, vtctl, vtctlclient, vtctld, vtctldclient, logrotate, logtail, vtbackup, vtexplain ]
|
||||
|
||||
steps:
|
||||
- name: Check out code
|
||||
uses: actions/checkout@v4
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
persist-credentials: 'false'
|
||||
|
||||
- name: Login to Docker Hub
|
||||
uses: docker/login-action@v3
|
||||
uses: docker/login-action@9780b0c442fbb1117ed29e0efdff1e18412f7567 # v3.3.0
|
||||
with:
|
||||
username: ${{ secrets.DOCKERHUB_USERNAME }}
|
||||
password: ${{ secrets.DOCKERHUB_TOKEN }}
|
||||
|
@ -103,8 +164,8 @@ jobs:
|
|||
echo "DOCKER_CTX=./docker/binaries/${{ matrix.component }}" >> $GITHUB_ENV
|
||||
|
||||
- name: Build and push on main latest tag
|
||||
if: github.ref == 'refs/heads/main' && matrix.debian == 'bookworm'
|
||||
uses: docker/build-push-action@v5
|
||||
if: startsWith(github.ref, 'refs/tags/') == false && matrix.debian == 'bookworm'
|
||||
uses: docker/build-push-action@b32b51a8eda65d6793cd0494a773d4f6bcef32dc # v6.11.0
|
||||
with:
|
||||
context: ${{ env.DOCKER_CTX }}
|
||||
push: true
|
||||
|
@ -114,8 +175,8 @@ jobs:
|
|||
DEBIAN_VER=${{ matrix.debian }}-slim
|
||||
|
||||
- name: Build and push on main debian specific tag
|
||||
if: github.ref == 'refs/heads/main'
|
||||
uses: docker/build-push-action@v5
|
||||
if: startsWith(github.ref, 'refs/tags/') == false
|
||||
uses: docker/build-push-action@b32b51a8eda65d6793cd0494a773d4f6bcef32dc # v6.11.0
|
||||
with:
|
||||
context: ${{ env.DOCKER_CTX }}
|
||||
push: true
|
||||
|
@ -147,7 +208,7 @@ jobs:
|
|||
# Build and Push component image to DOCKER_TAG, applies to both debian version
|
||||
- name: Build and push on tags using Debian extension
|
||||
if: startsWith(github.ref, 'refs/tags/')
|
||||
uses: docker/build-push-action@v5
|
||||
uses: docker/build-push-action@b32b51a8eda65d6793cd0494a773d4f6bcef32dc # v6.11.0
|
||||
with:
|
||||
context: ${{ env.DOCKER_CTX }}
|
||||
push: true
|
||||
|
@ -160,11 +221,29 @@ jobs:
|
|||
# It is fine to build a second time here when "matrix.debian == 'bookworm'" as we have cached the first build already
|
||||
- name: Build and push on tags without Debian extension
|
||||
if: startsWith(github.ref, 'refs/tags/') && matrix.debian == 'bookworm'
|
||||
uses: docker/build-push-action@v5
|
||||
uses: docker/build-push-action@b32b51a8eda65d6793cd0494a773d4f6bcef32dc # v6.11.0
|
||||
with:
|
||||
context: ${{ env.DOCKER_CTX }}
|
||||
push: true
|
||||
tags: ${{ env.DOCKER_TAG_DEFAULT_DEBIAN }}
|
||||
build-args: |
|
||||
VT_BASE_VER=${{ env.TAG_NAME }}
|
||||
DEBIAN_VER=${{ matrix.debian }}-slim
|
||||
DEBIAN_VER=${{ matrix.debian }}-slim
|
||||
|
||||
slack_notification:
|
||||
name: Slack Notification if failed
|
||||
runs-on: ubuntu-24.04
|
||||
needs:
|
||||
- build_and_push_vttestserver
|
||||
- build_and_push_lite
|
||||
- build_and_push_components
|
||||
if: ${{ failure() }}
|
||||
steps:
|
||||
- name: Slack Workflow Notification
|
||||
uses: Gamesight/slack-workflow-status@68bf00d0dbdbcb206c278399aa1ef6c14f74347a # v1.3.0
|
||||
with:
|
||||
repo_token: ${{secrets.GITHUB_TOKEN}}
|
||||
slack_webhook_url: ${{secrets.SLACK_WEBHOOK_URL}}
|
||||
channel: '#docker-build-notifications'
|
||||
name: 'Docker Build Notification'
|
||||
icon_url: https://avatars.githubusercontent.com/u/33043890?s=96&v=4
|
|
@ -1,11 +1,11 @@
|
|||
name: docker_test_cluster_25
|
||||
name: docker_test_cluster
|
||||
on: [push, pull_request]
|
||||
permissions: read-all
|
||||
jobs:
|
||||
|
||||
build:
|
||||
name: Docker Test Cluster 25
|
||||
runs-on: ubuntu-latest
|
||||
name: Docker Test Cluster
|
||||
runs-on: ubuntu-24.04
|
||||
|
||||
steps:
|
||||
- name: Skip CI
|
||||
|
@ -27,7 +27,9 @@ jobs:
|
|||
|
||||
- name: Check out code
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false'
|
||||
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
persist-credentials: 'false'
|
||||
|
||||
- name: Check for changes in relevant files
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false'
|
||||
|
@ -37,6 +39,7 @@ jobs:
|
|||
token: ''
|
||||
filters: |
|
||||
end_to_end:
|
||||
- 'test/config.json'
|
||||
- 'go/**/*.go'
|
||||
- 'test.go'
|
||||
- 'Makefile'
|
||||
|
@ -48,7 +51,7 @@ jobs:
|
|||
- 'config/**'
|
||||
- 'bootstrap.sh'
|
||||
- 'docker/**'
|
||||
- '.github/workflows/docker_test_cluster_25.yml'
|
||||
- '.github/workflows/docker_test_cluster.yml'
|
||||
|
||||
- name: Set up Go
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
|
||||
|
@ -64,4 +67,4 @@ jobs:
|
|||
- name: Run tests which require docker - 2
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
|
||||
run: |
|
||||
go run test.go -docker=true --follow -shard 25
|
||||
go run test.go -docker=true --follow -shard docker_cluster
|
|
@ -5,7 +5,7 @@ jobs:
|
|||
|
||||
build:
|
||||
name: End-to-End Test (Race)
|
||||
runs-on: ubuntu-latest
|
||||
runs-on: ubuntu-24.04
|
||||
steps:
|
||||
- name: Skip CI
|
||||
run: |
|
||||
|
@ -26,7 +26,9 @@ jobs:
|
|||
|
||||
- name: Check out code
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false'
|
||||
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
persist-credentials: 'false'
|
||||
|
||||
- name: Check for changes in relevant files
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false'
|
||||
|
@ -65,13 +67,14 @@ jobs:
|
|||
# Get key to latest MySQL repo
|
||||
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys A8D3785C
|
||||
# Setup MySQL 8.0
|
||||
wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.32-1_all.deb
|
||||
wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.33-1_all.deb
|
||||
echo mysql-apt-config mysql-apt-config/select-server select mysql-8.0 | sudo debconf-set-selections
|
||||
sudo DEBIAN_FRONTEND="noninteractive" dpkg -i mysql-apt-config*
|
||||
sudo apt-get update
|
||||
|
||||
# Install everything else we need, and configure
|
||||
sudo apt-get install -y mysql-server mysql-client make unzip g++ etcd curl git wget eatmydata xz-utils
|
||||
sudo apt-get install -y mysql-server mysql-client make unzip g++ etcd-client etcd-server curl git wget eatmydata xz-utils
|
||||
|
||||
sudo service mysql stop
|
||||
sudo service etcd stop
|
||||
sudo ln -s /etc/apparmor.d/usr.sbin.mysqld /etc/apparmor.d/disable/
|
||||
|
|
|
@ -5,7 +5,7 @@ jobs:
|
|||
|
||||
build:
|
||||
name: End-to-End Test
|
||||
runs-on: ubuntu-latest
|
||||
runs-on: ubuntu-24.04
|
||||
steps:
|
||||
- name: Skip CI
|
||||
run: |
|
||||
|
@ -26,7 +26,9 @@ jobs:
|
|||
|
||||
- name: Check out code
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false'
|
||||
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
persist-credentials: 'false'
|
||||
|
||||
- name: Check for changes in relevant files
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false'
|
||||
|
@ -63,7 +65,8 @@ jobs:
|
|||
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
|
||||
run: |
|
||||
sudo apt-get update
|
||||
sudo apt-get install -y mysql-server mysql-client make unzip g++ etcd curl git wget
|
||||
sudo apt-get install -y mysql-server mysql-client make unzip g++ etcd-client etcd-server curl git wget
|
||||
|
||||
sudo service mysql stop
|
||||
sudo service etcd stop
|
||||
sudo ln -s /etc/apparmor.d/usr.sbin.mysqld /etc/apparmor.d/disable/
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
name: docker_test_cluster_10
|
||||
name: java_docker_test
|
||||
on: [push, pull_request]
|
||||
permissions: read-all
|
||||
jobs:
|
||||
|
||||
build:
|
||||
name: Docker Test Cluster 10
|
||||
runs-on: ubuntu-latest
|
||||
name: Java Docker Test
|
||||
runs-on: ubuntu-24.04
|
||||
|
||||
steps:
|
||||
- name: Skip CI
|
||||
|
@ -27,7 +27,9 @@ jobs:
|
|||
|
||||
- name: Check out code
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false'
|
||||
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
persist-credentials: 'false'
|
||||
|
||||
- name: Check for changes in relevant files
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false'
|
||||
|
@ -37,6 +39,7 @@ jobs:
|
|||
token: ''
|
||||
filters: |
|
||||
end_to_end:
|
||||
- 'test/config.json'
|
||||
- 'go/**/*.go'
|
||||
- 'test.go'
|
||||
- 'Makefile'
|
||||
|
@ -48,7 +51,8 @@ jobs:
|
|||
- 'config/**'
|
||||
- 'bootstrap.sh'
|
||||
- 'docker/**'
|
||||
- '.github/workflows/docker_test_cluster_10.yml'
|
||||
- 'java/**'
|
||||
- '.github/workflows/java_docker_test.yml'
|
||||
|
||||
- name: Set up Go
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
|
||||
|
@ -65,4 +69,4 @@ jobs:
|
|||
- name: Run tests which require docker - 1
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
|
||||
run: |
|
||||
go run test.go -docker=true --follow -shard 10
|
||||
go run test.go -docker=true --follow -shard java
|
|
@ -4,11 +4,11 @@ permissions: read-all
|
|||
jobs:
|
||||
|
||||
build:
|
||||
name: Local example using ${{ matrix.topo }} on ubuntu-22.04
|
||||
runs-on: gh-hosted-runners-16cores-1
|
||||
name: Local example using ${{ matrix.topo }} on Ubuntu
|
||||
runs-on: oracle-vm-16cpu-64gb-x86-64
|
||||
strategy:
|
||||
matrix:
|
||||
topo: [consul,etcd,zk2]
|
||||
topo: [etcd,zk2]
|
||||
|
||||
steps:
|
||||
- name: Skip CI
|
||||
|
@ -30,7 +30,9 @@ jobs:
|
|||
|
||||
- name: Check out code
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false'
|
||||
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
persist-credentials: 'false'
|
||||
|
||||
- name: Check for changes in relevant files
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false'
|
||||
|
@ -40,6 +42,7 @@ jobs:
|
|||
token: ''
|
||||
filters: |
|
||||
examples:
|
||||
- 'test/config.json'
|
||||
- 'go/**/*.go'
|
||||
- 'test.go'
|
||||
- 'Makefile'
|
||||
|
@ -67,24 +70,6 @@ jobs:
|
|||
- name: Get dependencies
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.examples == 'true'
|
||||
run: |
|
||||
if [ ${{matrix.os}} = "ubuntu-22.04" ]; then
|
||||
# Get key to latest MySQL repo
|
||||
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys A8D3785C
|
||||
# Setup MySQL 8.0
|
||||
wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.32-1_all.deb
|
||||
echo mysql-apt-config mysql-apt-config/select-server select mysql-8.0 | sudo debconf-set-selections
|
||||
sudo DEBIAN_FRONTEND="noninteractive" dpkg -i mysql-apt-config*
|
||||
sudo apt-get update
|
||||
|
||||
# Install everything else we need, and configure
|
||||
sudo apt-get install -y mysql-server mysql-client make unzip g++ etcd curl git wget eatmydata
|
||||
sudo service mysql stop
|
||||
sudo service etcd stop
|
||||
sudo ln -s /etc/apparmor.d/usr.sbin.mysqld /etc/apparmor.d/disable/
|
||||
sudo apparmor_parser -R /etc/apparmor.d/usr.sbin.mysqld
|
||||
elif [ ${{matrix.os}} = "macos-latest" ]; then
|
||||
brew install mysql@5.7 make unzip etcd curl git wget
|
||||
fi
|
||||
go mod download
|
||||
|
||||
- name: Run make minimaltools
|
||||
|
@ -102,7 +87,7 @@ jobs:
|
|||
timeout-minutes: 30
|
||||
run: |
|
||||
export TOPO=${{matrix.topo}}
|
||||
if [ ${{matrix.os}} = "macos-latest" ]; then
|
||||
if [ "${{matrix.os}}" = "macos-latest" ]; then
|
||||
export PATH="/usr/local/opt/mysql@5.7/bin:$PATH"
|
||||
fi
|
||||
eatmydata -- go run test.go -print-log -follow -retry=1 local_example
|
||||
|
|
|
@ -4,8 +4,8 @@ permissions: read-all
|
|||
jobs:
|
||||
|
||||
build:
|
||||
name: Region Sharding example using ${{ matrix.topo }} on ubuntu-22.04
|
||||
runs-on: gh-hosted-runners-16cores-1
|
||||
name: Region Sharding example using ${{ matrix.topo }} on Ubuntu
|
||||
runs-on: oracle-vm-16cpu-64gb-x86-64
|
||||
strategy:
|
||||
matrix:
|
||||
topo: [etcd]
|
||||
|
@ -30,7 +30,9 @@ jobs:
|
|||
|
||||
- name: Check out code
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false'
|
||||
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
persist-credentials: 'false'
|
||||
|
||||
- name: Check for changes in relevant files
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false'
|
||||
|
@ -40,6 +42,7 @@ jobs:
|
|||
token: ''
|
||||
filters: |
|
||||
examples:
|
||||
- 'test/config.json'
|
||||
- 'go/**/*.go'
|
||||
- 'test.go'
|
||||
- 'Makefile'
|
||||
|
@ -67,24 +70,6 @@ jobs:
|
|||
- name: Get dependencies
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.examples == 'true'
|
||||
run: |
|
||||
if [ ${{matrix.os}} = "ubuntu-22.04" ]; then
|
||||
# Get key to latest MySQL repo
|
||||
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys A8D3785C
|
||||
# Setup MySQL 8.0
|
||||
wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.32-1_all.deb
|
||||
echo mysql-apt-config mysql-apt-config/select-server select mysql-8.0 | sudo debconf-set-selections
|
||||
sudo DEBIAN_FRONTEND="noninteractive" dpkg -i mysql-apt-config*
|
||||
sudo apt-get update
|
||||
|
||||
# Install everything else we need, and configure
|
||||
sudo apt-get install -y mysql-server mysql-client make unzip g++ etcd curl git wget eatmydata
|
||||
sudo service mysql stop
|
||||
sudo service etcd stop
|
||||
sudo ln -s /etc/apparmor.d/usr.sbin.mysqld /etc/apparmor.d/disable/
|
||||
sudo apparmor_parser -R /etc/apparmor.d/usr.sbin.mysqld
|
||||
elif [ ${{matrix.os}} = "macos-latest" ]; then
|
||||
brew install mysql@5.7 make unzip etcd curl git wget
|
||||
fi
|
||||
go mod download
|
||||
|
||||
- name: Run make minimaltools
|
||||
|
@ -102,7 +87,7 @@ jobs:
|
|||
timeout-minutes: 30
|
||||
run: |
|
||||
export TOPO=${{matrix.topo}}
|
||||
if [ ${{matrix.os}} = "macos-latest" ]; then
|
||||
if [ "${{matrix.os}}" = "macos-latest" ]; then
|
||||
export PATH="/usr/local/opt/mysql@5.7/bin:$PATH"
|
||||
fi
|
||||
eatmydata -- go run test.go -print-log -follow -retry=1 region_example
|
||||
|
|
|
@ -14,7 +14,7 @@ permissions: read-all
|
|||
jobs:
|
||||
analysis:
|
||||
name: Scorecard analysis
|
||||
runs-on: ubuntu-latest
|
||||
runs-on: ubuntu-24.04
|
||||
permissions:
|
||||
# Needed to upload the results to code-scanning dashboard.
|
||||
security-events: write
|
||||
|
@ -53,7 +53,7 @@ jobs:
|
|||
# Upload the results as artifacts (optional). Commenting out will disable uploads of run results in SARIF
|
||||
# format to the repository Actions tab.
|
||||
- name: "Upload artifact"
|
||||
uses: actions/upload-artifact@v3
|
||||
uses: actions/upload-artifact@b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882 # v4.4.3
|
||||
with:
|
||||
name: SARIF file
|
||||
path: results.sarif
|
||||
|
@ -62,6 +62,6 @@ jobs:
|
|||
# Upload the results to GitHub's code scanning dashboard (optional).
|
||||
# Commenting out will disable upload of results to your repo's Code Scanning dashboard
|
||||
- name: "Upload to code-scanning"
|
||||
uses: github/codeql-action/upload-sarif@v3
|
||||
uses: github/codeql-action/upload-sarif@f09c1c0a94de965c15400f5634aa42fac8fb8f88 # v3.27.5
|
||||
with:
|
||||
sarif_file: results.sarif
|
||||
|
|
|
@ -9,7 +9,7 @@ permissions: read-all
|
|||
jobs:
|
||||
build:
|
||||
name: Static Code Checks Etc
|
||||
runs-on: ubuntu-latest
|
||||
runs-on: ubuntu-24.04
|
||||
|
||||
steps:
|
||||
- name: Skip CI
|
||||
|
@ -31,7 +31,9 @@ jobs:
|
|||
|
||||
- name: Checkout code
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false'
|
||||
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
persist-credentials: 'false'
|
||||
|
||||
- name: Run FOSSA scan and upload build data
|
||||
uses: fossa-contrib/fossa-action@v3
|
||||
|
@ -152,7 +154,7 @@ jobs:
|
|||
if: steps.skip-workflow.outputs.skip-workflow == 'false' && (steps.changes.outputs.parser_changes == 'true' || steps.changes.outputs.go_files == 'true')
|
||||
run: |
|
||||
sudo apt-get update
|
||||
sudo apt-get install -y make unzip g++ etcd curl git wget
|
||||
sudo apt-get install -y make unzip g++ etcd-client etcd-server curl git wget
|
||||
sudo service etcd stop
|
||||
go mod download
|
||||
|
||||
|
@ -195,7 +197,7 @@ jobs:
|
|||
|
||||
- name: Install golangci-lint
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.go_files == 'true'
|
||||
run: go install github.com/golangci/golangci-lint/cmd/golangci-lint@v1.60.2
|
||||
run: go install github.com/golangci/golangci-lint/v2/cmd/golangci-lint@v2.0.2
|
||||
|
||||
- name: Clean Env
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.go_files == 'true'
|
||||
|
@ -228,7 +230,7 @@ jobs:
|
|||
uses: actions/setup-node@1e60f620b9541d16bece96c5465dc8ee9832be0b # v4.0.3
|
||||
with:
|
||||
# make proto requires newer node than the pre-installed one
|
||||
node-version: '20.12.2'
|
||||
node-version: '22.13.1'
|
||||
|
||||
- name: check_make_proto
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.proto_changes == 'true'
|
||||
|
|
|
@ -15,7 +15,7 @@ jobs:
|
|||
|
||||
build:
|
||||
name: Unit Test (Race)
|
||||
runs-on: gh-hosted-runners-16cores-1
|
||||
runs-on: oracle-vm-16cpu-64gb-x86-64
|
||||
steps:
|
||||
- name: Skip CI
|
||||
run: |
|
||||
|
@ -43,7 +43,9 @@ jobs:
|
|||
|
||||
- name: Check out code
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false'
|
||||
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
persist-credentials: 'false'
|
||||
|
||||
- name: Check for changes in relevant files
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false'
|
||||
|
@ -53,6 +55,7 @@ jobs:
|
|||
token: ''
|
||||
filters: |
|
||||
unit_tests:
|
||||
- 'test/config.json'
|
||||
- 'go/**'
|
||||
- 'test.go'
|
||||
- 'Makefile'
|
||||
|
@ -90,14 +93,15 @@ jobs:
|
|||
sudo apt-get -qq install -y mysql-server mysql-client
|
||||
|
||||
sudo apt-get -qq install -y make unzip g++ curl git wget ant openjdk-11-jdk eatmydata
|
||||
|
||||
sudo service mysql stop
|
||||
sudo bash -c "echo '/usr/sbin/mysqld { }' > /etc/apparmor.d/usr.sbin.mysqld" # https://bugs.launchpad.net/ubuntu/+source/mariadb-10.1/+bug/1806263
|
||||
sudo ln -s /etc/apparmor.d/usr.sbin.mysqld /etc/apparmor.d/disable/
|
||||
sudo apparmor_parser -R /etc/apparmor.d/usr.sbin.mysqld || echo "could not remove mysqld profile"
|
||||
|
||||
mkdir -p dist bin
|
||||
curl -s -L https://github.com/coreos/etcd/releases/download/v3.3.10/etcd-v3.3.10-linux-amd64.tar.gz | tar -zxC dist
|
||||
mv dist/etcd-v3.3.10-linux-amd64/{etcd,etcdctl} bin/
|
||||
curl -s -L https://github.com/coreos/etcd/releases/download/v3.5.17/etcd-v3.5.17-linux-amd64.tar.gz | tar -zxC dist
|
||||
mv dist/etcd-v3.5.17-linux-amd64/{etcd,etcdctl} bin/
|
||||
|
||||
go mod download
|
||||
go install golang.org/x/tools/cmd/goimports@latest
|
||||
|
|
|
@ -15,7 +15,7 @@ jobs:
|
|||
|
||||
build:
|
||||
name: Unit Test (Evalengine_Race)
|
||||
runs-on: gh-hosted-runners-16cores-1
|
||||
runs-on: oracle-vm-16cpu-64gb-x86-64
|
||||
steps:
|
||||
- name: Skip CI
|
||||
run: |
|
||||
|
@ -43,7 +43,9 @@ jobs:
|
|||
|
||||
- name: Check out code
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false'
|
||||
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
persist-credentials: 'false'
|
||||
|
||||
- name: Check for changes in relevant files
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false'
|
||||
|
@ -53,6 +55,7 @@ jobs:
|
|||
token: ''
|
||||
filters: |
|
||||
unit_tests:
|
||||
- 'test/config.json'
|
||||
- 'go/**'
|
||||
- 'test.go'
|
||||
- 'Makefile'
|
||||
|
@ -90,14 +93,15 @@ jobs:
|
|||
sudo apt-get -qq install -y mysql-server mysql-client
|
||||
|
||||
sudo apt-get -qq install -y make unzip g++ curl git wget ant openjdk-11-jdk eatmydata
|
||||
|
||||
sudo service mysql stop
|
||||
sudo bash -c "echo '/usr/sbin/mysqld { }' > /etc/apparmor.d/usr.sbin.mysqld" # https://bugs.launchpad.net/ubuntu/+source/mariadb-10.1/+bug/1806263
|
||||
sudo ln -s /etc/apparmor.d/usr.sbin.mysqld /etc/apparmor.d/disable/
|
||||
sudo apparmor_parser -R /etc/apparmor.d/usr.sbin.mysqld || echo "could not remove mysqld profile"
|
||||
|
||||
mkdir -p dist bin
|
||||
curl -s -L https://github.com/coreos/etcd/releases/download/v3.3.10/etcd-v3.3.10-linux-amd64.tar.gz | tar -zxC dist
|
||||
mv dist/etcd-v3.3.10-linux-amd64/{etcd,etcdctl} bin/
|
||||
curl -s -L https://github.com/coreos/etcd/releases/download/v3.5.17/etcd-v3.5.17-linux-amd64.tar.gz | tar -zxC dist
|
||||
mv dist/etcd-v3.5.17-linux-amd64/{etcd,etcdctl} bin/
|
||||
|
||||
go mod download
|
||||
go install golang.org/x/tools/cmd/goimports@latest
|
||||
|
|
|
@ -16,7 +16,7 @@ env:
|
|||
jobs:
|
||||
test:
|
||||
name: Unit Test (evalengine_mysql57)
|
||||
runs-on: ubuntu-latest
|
||||
runs-on: ubuntu-24.04
|
||||
|
||||
steps:
|
||||
- name: Skip CI
|
||||
|
@ -45,7 +45,9 @@ jobs:
|
|||
|
||||
- name: Check out code
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false'
|
||||
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
persist-credentials: 'false'
|
||||
|
||||
- name: Check for changes in relevant files
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false'
|
||||
|
@ -55,6 +57,7 @@ jobs:
|
|||
token: ''
|
||||
filters: |
|
||||
unit_tests:
|
||||
- 'test/config.json'
|
||||
- 'go/**'
|
||||
- 'test.go'
|
||||
- 'Makefile'
|
||||
|
@ -89,38 +92,46 @@ jobs:
|
|||
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.unit_tests == 'true'
|
||||
run: |
|
||||
export DEBIAN_FRONTEND="noninteractive"
|
||||
sudo apt-get -qq update
|
||||
sudo apt-get update
|
||||
|
||||
# Uninstall any previously installed MySQL first
|
||||
sudo systemctl stop apparmor
|
||||
sudo DEBIAN_FRONTEND="noninteractive" apt-get -qq remove -y --purge mysql-server mysql-client mysql-common
|
||||
sudo apt-get -qq -y autoremove
|
||||
sudo apt-get -qq -y autoclean
|
||||
sudo deluser mysql
|
||||
# sudo systemctl stop apparmor
|
||||
sudo DEBIAN_FRONTEND="noninteractive" apt-get remove -y --purge mysql-server mysql-client mysql-common
|
||||
sudo apt-get -y autoremove
|
||||
sudo apt-get -y autoclean
|
||||
# sudo deluser mysql
|
||||
sudo rm -rf /var/lib/mysql
|
||||
sudo rm -rf /etc/mysql
|
||||
|
||||
# Get key to latest MySQL repo
|
||||
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys A8D3785C
|
||||
wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.32-1_all.deb
|
||||
wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.33-1_all.deb
|
||||
|
||||
# Bionic packages are still compatible for Jammy since there's no MySQL 5.7
|
||||
# packages for Jammy.
|
||||
echo mysql-apt-config mysql-apt-config/repo-codename select bionic | sudo debconf-set-selections
|
||||
echo mysql-apt-config mysql-apt-config/select-server select mysql-5.7 | sudo debconf-set-selections
|
||||
sudo DEBIAN_FRONTEND="noninteractive" dpkg -i mysql-apt-config*
|
||||
sudo apt-get -qq update
|
||||
sudo DEBIAN_FRONTEND="noninteractive" apt-get -qq install -y mysql-client=5.7* mysql-community-server=5.7* mysql-server=5.7* libncurses5
|
||||
sudo apt-get update
|
||||
# We have to install this old version of libaio1. See also:
|
||||
# https://bugs.launchpad.net/ubuntu/+source/libaio/+bug/2067501
|
||||
curl -L -O http://mirrors.kernel.org/ubuntu/pool/main/liba/libaio/libaio1_0.3.112-13build1_amd64.deb
|
||||
sudo dpkg -i libaio1_0.3.112-13build1_amd64.deb
|
||||
# libtinfo5 is also needed for older MySQL 5.7 builds.
|
||||
curl -L -O http://mirrors.kernel.org/ubuntu/pool/universe/n/ncurses/libtinfo5_6.3-2ubuntu0.1_amd64.deb
|
||||
sudo dpkg -i libtinfo5_6.3-2ubuntu0.1_amd64.deb
|
||||
sudo DEBIAN_FRONTEND="noninteractive" apt-get install -y mysql-client=5.7* mysql-community-server=5.7* mysql-server=5.7* libncurses6
|
||||
|
||||
sudo apt-get install -y make unzip g++ curl git wget ant openjdk-11-jdk eatmydata
|
||||
|
||||
sudo apt-get -qq install -y make unzip g++ curl git wget ant openjdk-11-jdk eatmydata
|
||||
sudo service mysql stop
|
||||
sudo bash -c "echo '/usr/sbin/mysqld { }' > /etc/apparmor.d/usr.sbin.mysqld" # https://bugs.launchpad.net/ubuntu/+source/mariadb-10.1/+bug/1806263
|
||||
sudo ln -s /etc/apparmor.d/usr.sbin.mysqld /etc/apparmor.d/disable/
|
||||
sudo apparmor_parser -R /etc/apparmor.d/usr.sbin.mysqld || echo "could not remove mysqld profile"
|
||||
|
||||
mkdir -p dist bin
|
||||
curl -s -L https://github.com/coreos/etcd/releases/download/v3.3.10/etcd-v3.3.10-linux-amd64.tar.gz | tar -zxC dist
|
||||
mv dist/etcd-v3.3.10-linux-amd64/{etcd,etcdctl} bin/
|
||||
curl -s -L https://github.com/coreos/etcd/releases/download/v3.5.17/etcd-v3.5.17-linux-amd64.tar.gz | tar -zxC dist
|
||||
mv dist/etcd-v3.5.17-linux-amd64/{etcd,etcdctl} bin/
|
||||
|
||||
go mod download
|
||||
go install golang.org/x/tools/cmd/goimports@latest
|
||||
|
@ -156,6 +167,9 @@ jobs:
|
|||
|
||||
export NOVTADMINBUILD=1
|
||||
export VTEVALENGINETEST="1"
|
||||
# We sometimes need to alter the behavior based on the platform we're
|
||||
# testing, e.g. MySQL 5.7 vs 8.0.
|
||||
export CI_DB_PLATFORM="mysql57"
|
||||
|
||||
eatmydata -- make unit_test | tee -a output.txt | go-junit-report -set-exit-code > report.xml
|
||||
|
||||
|
|
|
@ -16,7 +16,7 @@ env:
|
|||
jobs:
|
||||
test:
|
||||
name: Unit Test (evalengine_mysql80)
|
||||
runs-on: ubuntu-latest
|
||||
runs-on: ubuntu-24.04
|
||||
|
||||
steps:
|
||||
- name: Skip CI
|
||||
|
@ -45,7 +45,9 @@ jobs:
|
|||
|
||||
- name: Check out code
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false'
|
||||
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
persist-credentials: 'false'
|
||||
|
||||
- name: Check for changes in relevant files
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false'
|
||||
|
@ -55,6 +57,7 @@ jobs:
|
|||
token: ''
|
||||
filters: |
|
||||
unit_tests:
|
||||
- 'test/config.json'
|
||||
- 'go/**'
|
||||
- 'test.go'
|
||||
- 'Makefile'
|
||||
|
@ -89,35 +92,36 @@ jobs:
|
|||
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.unit_tests == 'true'
|
||||
run: |
|
||||
export DEBIAN_FRONTEND="noninteractive"
|
||||
sudo apt-get -qq update
|
||||
sudo apt-get update
|
||||
|
||||
# Uninstall any previously installed MySQL first
|
||||
sudo systemctl stop apparmor
|
||||
sudo DEBIAN_FRONTEND="noninteractive" apt-get -qq remove -y --purge mysql-server mysql-client mysql-common
|
||||
sudo apt-get -qq -y autoremove
|
||||
sudo apt-get -qq -y autoclean
|
||||
sudo deluser mysql
|
||||
# sudo systemctl stop apparmor
|
||||
sudo DEBIAN_FRONTEND="noninteractive" apt-get remove -y --purge mysql-server mysql-client mysql-common
|
||||
sudo apt-get -y autoremove
|
||||
sudo apt-get -y autoclean
|
||||
# sudo deluser mysql
|
||||
sudo rm -rf /var/lib/mysql
|
||||
sudo rm -rf /etc/mysql
|
||||
|
||||
# Get key to latest MySQL repo
|
||||
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys A8D3785C
|
||||
wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.32-1_all.deb
|
||||
wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.33-1_all.deb
|
||||
|
||||
echo mysql-apt-config mysql-apt-config/select-server select mysql-8.0 | sudo debconf-set-selections
|
||||
sudo DEBIAN_FRONTEND="noninteractive" dpkg -i mysql-apt-config*
|
||||
sudo apt-get -qq update
|
||||
sudo DEBIAN_FRONTEND="noninteractive" apt-get -qq install -y mysql-server mysql-client
|
||||
sudo apt-get update
|
||||
sudo DEBIAN_FRONTEND="noninteractive" apt-get install -y mysql-server mysql-client
|
||||
|
||||
sudo apt-get install -y make unzip g++ curl git wget ant openjdk-11-jdk eatmydata
|
||||
|
||||
sudo apt-get -qq install -y make unzip g++ curl git wget ant openjdk-11-jdk eatmydata
|
||||
sudo service mysql stop
|
||||
sudo bash -c "echo '/usr/sbin/mysqld { }' > /etc/apparmor.d/usr.sbin.mysqld" # https://bugs.launchpad.net/ubuntu/+source/mariadb-10.1/+bug/1806263
|
||||
sudo ln -s /etc/apparmor.d/usr.sbin.mysqld /etc/apparmor.d/disable/
|
||||
sudo apparmor_parser -R /etc/apparmor.d/usr.sbin.mysqld || echo "could not remove mysqld profile"
|
||||
|
||||
mkdir -p dist bin
|
||||
curl -s -L https://github.com/coreos/etcd/releases/download/v3.3.10/etcd-v3.3.10-linux-amd64.tar.gz | tar -zxC dist
|
||||
mv dist/etcd-v3.3.10-linux-amd64/{etcd,etcdctl} bin/
|
||||
curl -s -L https://github.com/coreos/etcd/releases/download/v3.5.17/etcd-v3.5.17-linux-amd64.tar.gz | tar -zxC dist
|
||||
mv dist/etcd-v3.5.17-linux-amd64/{etcd,etcdctl} bin/
|
||||
|
||||
go mod download
|
||||
go install golang.org/x/tools/cmd/goimports@latest
|
||||
|
@ -153,6 +157,9 @@ jobs:
|
|||
|
||||
export NOVTADMINBUILD=1
|
||||
export VTEVALENGINETEST="1"
|
||||
# We sometimes need to alter the behavior based on the platform we're
|
||||
# testing, e.g. MySQL 5.7 vs 8.0.
|
||||
export CI_DB_PLATFORM="mysql80"
|
||||
|
||||
eatmydata -- make unit_test | tee -a output.txt | go-junit-report -set-exit-code > report.xml
|
||||
|
||||
|
|
|
@ -16,7 +16,7 @@ env:
|
|||
jobs:
|
||||
test:
|
||||
name: Unit Test (evalengine_mysql84)
|
||||
runs-on: ubuntu-latest
|
||||
runs-on: ubuntu-24.04
|
||||
|
||||
steps:
|
||||
- name: Skip CI
|
||||
|
@ -45,7 +45,9 @@ jobs:
|
|||
|
||||
- name: Check out code
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false'
|
||||
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
persist-credentials: 'false'
|
||||
|
||||
- name: Check for changes in relevant files
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false'
|
||||
|
@ -55,6 +57,7 @@ jobs:
|
|||
token: ''
|
||||
filters: |
|
||||
unit_tests:
|
||||
- 'test/config.json'
|
||||
- 'go/**'
|
||||
- 'test.go'
|
||||
- 'Makefile'
|
||||
|
@ -89,35 +92,36 @@ jobs:
|
|||
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.unit_tests == 'true'
|
||||
run: |
|
||||
export DEBIAN_FRONTEND="noninteractive"
|
||||
sudo apt-get -qq update
|
||||
sudo apt-get update
|
||||
|
||||
# Uninstall any previously installed MySQL first
|
||||
sudo systemctl stop apparmor
|
||||
sudo DEBIAN_FRONTEND="noninteractive" apt-get -qq remove -y --purge mysql-server mysql-client mysql-common
|
||||
sudo apt-get -qq -y autoremove
|
||||
sudo apt-get -qq -y autoclean
|
||||
sudo deluser mysql
|
||||
# sudo systemctl stop apparmor
|
||||
sudo DEBIAN_FRONTEND="noninteractive" apt-get remove -y --purge mysql-server mysql-client mysql-common
|
||||
sudo apt-get -y autoremove
|
||||
sudo apt-get -y autoclean
|
||||
# sudo deluser mysql
|
||||
sudo rm -rf /var/lib/mysql
|
||||
sudo rm -rf /etc/mysql
|
||||
|
||||
# Get key to latest MySQL repo
|
||||
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys A8D3785C
|
||||
wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.32-1_all.deb
|
||||
wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.33-1_all.deb
|
||||
|
||||
echo mysql-apt-config mysql-apt-config/select-server select mysql-8.4-lts | sudo debconf-set-selections
|
||||
sudo DEBIAN_FRONTEND="noninteractive" dpkg -i mysql-apt-config*
|
||||
sudo apt-get -qq update
|
||||
sudo DEBIAN_FRONTEND="noninteractive" apt-get -qq install -y mysql-server mysql-client
|
||||
sudo apt-get update
|
||||
sudo DEBIAN_FRONTEND="noninteractive" apt-get install -y mysql-server mysql-client
|
||||
|
||||
sudo apt-get install -y make unzip g++ curl git wget ant openjdk-11-jdk eatmydata
|
||||
|
||||
sudo apt-get -qq install -y make unzip g++ curl git wget ant openjdk-11-jdk eatmydata
|
||||
sudo service mysql stop
|
||||
sudo bash -c "echo '/usr/sbin/mysqld { }' > /etc/apparmor.d/usr.sbin.mysqld" # https://bugs.launchpad.net/ubuntu/+source/mariadb-10.1/+bug/1806263
|
||||
sudo ln -s /etc/apparmor.d/usr.sbin.mysqld /etc/apparmor.d/disable/
|
||||
sudo apparmor_parser -R /etc/apparmor.d/usr.sbin.mysqld || echo "could not remove mysqld profile"
|
||||
|
||||
mkdir -p dist bin
|
||||
curl -s -L https://github.com/coreos/etcd/releases/download/v3.3.10/etcd-v3.3.10-linux-amd64.tar.gz | tar -zxC dist
|
||||
mv dist/etcd-v3.3.10-linux-amd64/{etcd,etcdctl} bin/
|
||||
curl -s -L https://github.com/coreos/etcd/releases/download/v3.5.17/etcd-v3.5.17-linux-amd64.tar.gz | tar -zxC dist
|
||||
mv dist/etcd-v3.5.17-linux-amd64/{etcd,etcdctl} bin/
|
||||
|
||||
go mod download
|
||||
go install golang.org/x/tools/cmd/goimports@latest
|
||||
|
@ -153,6 +157,9 @@ jobs:
|
|||
|
||||
export NOVTADMINBUILD=1
|
||||
export VTEVALENGINETEST="1"
|
||||
# We sometimes need to alter the behavior based on the platform we're
|
||||
# testing, e.g. MySQL 5.7 vs 8.0.
|
||||
export CI_DB_PLATFORM="mysql84"
|
||||
|
||||
eatmydata -- make unit_test | tee -a output.txt | go-junit-report -set-exit-code > report.xml
|
||||
|
||||
|
|
|
@ -16,7 +16,7 @@ env:
|
|||
jobs:
|
||||
test:
|
||||
name: Unit Test (mysql57)
|
||||
runs-on: ubuntu-latest
|
||||
runs-on: ubuntu-24.04
|
||||
|
||||
steps:
|
||||
- name: Skip CI
|
||||
|
@ -45,7 +45,9 @@ jobs:
|
|||
|
||||
- name: Check out code
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false'
|
||||
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
persist-credentials: 'false'
|
||||
|
||||
- name: Check for changes in relevant files
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false'
|
||||
|
@ -55,6 +57,7 @@ jobs:
|
|||
token: ''
|
||||
filters: |
|
||||
unit_tests:
|
||||
- 'test/config.json'
|
||||
- 'go/**'
|
||||
- 'test.go'
|
||||
- 'Makefile'
|
||||
|
@ -89,38 +92,46 @@ jobs:
|
|||
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.unit_tests == 'true'
|
||||
run: |
|
||||
export DEBIAN_FRONTEND="noninteractive"
|
||||
sudo apt-get -qq update
|
||||
sudo apt-get update
|
||||
|
||||
# Uninstall any previously installed MySQL first
|
||||
sudo systemctl stop apparmor
|
||||
sudo DEBIAN_FRONTEND="noninteractive" apt-get -qq remove -y --purge mysql-server mysql-client mysql-common
|
||||
sudo apt-get -qq -y autoremove
|
||||
sudo apt-get -qq -y autoclean
|
||||
sudo deluser mysql
|
||||
# sudo systemctl stop apparmor
|
||||
sudo DEBIAN_FRONTEND="noninteractive" apt-get remove -y --purge mysql-server mysql-client mysql-common
|
||||
sudo apt-get -y autoremove
|
||||
sudo apt-get -y autoclean
|
||||
# sudo deluser mysql
|
||||
sudo rm -rf /var/lib/mysql
|
||||
sudo rm -rf /etc/mysql
|
||||
|
||||
# Get key to latest MySQL repo
|
||||
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys A8D3785C
|
||||
wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.32-1_all.deb
|
||||
wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.33-1_all.deb
|
||||
|
||||
# Bionic packages are still compatible for Jammy since there's no MySQL 5.7
|
||||
# packages for Jammy.
|
||||
echo mysql-apt-config mysql-apt-config/repo-codename select bionic | sudo debconf-set-selections
|
||||
echo mysql-apt-config mysql-apt-config/select-server select mysql-5.7 | sudo debconf-set-selections
|
||||
sudo DEBIAN_FRONTEND="noninteractive" dpkg -i mysql-apt-config*
|
||||
sudo apt-get -qq update
|
||||
sudo DEBIAN_FRONTEND="noninteractive" apt-get -qq install -y mysql-client=5.7* mysql-community-server=5.7* mysql-server=5.7* libncurses5
|
||||
sudo apt-get update
|
||||
# We have to install this old version of libaio1. See also:
|
||||
# https://bugs.launchpad.net/ubuntu/+source/libaio/+bug/2067501
|
||||
curl -L -O http://mirrors.kernel.org/ubuntu/pool/main/liba/libaio/libaio1_0.3.112-13build1_amd64.deb
|
||||
sudo dpkg -i libaio1_0.3.112-13build1_amd64.deb
|
||||
# libtinfo5 is also needed for older MySQL 5.7 builds.
|
||||
curl -L -O http://mirrors.kernel.org/ubuntu/pool/universe/n/ncurses/libtinfo5_6.3-2ubuntu0.1_amd64.deb
|
||||
sudo dpkg -i libtinfo5_6.3-2ubuntu0.1_amd64.deb
|
||||
sudo DEBIAN_FRONTEND="noninteractive" apt-get install -y mysql-client=5.7* mysql-community-server=5.7* mysql-server=5.7* libncurses6
|
||||
|
||||
sudo apt-get install -y make unzip g++ curl git wget ant openjdk-11-jdk eatmydata
|
||||
|
||||
sudo apt-get -qq install -y make unzip g++ curl git wget ant openjdk-11-jdk eatmydata
|
||||
sudo service mysql stop
|
||||
sudo bash -c "echo '/usr/sbin/mysqld { }' > /etc/apparmor.d/usr.sbin.mysqld" # https://bugs.launchpad.net/ubuntu/+source/mariadb-10.1/+bug/1806263
|
||||
sudo ln -s /etc/apparmor.d/usr.sbin.mysqld /etc/apparmor.d/disable/
|
||||
sudo apparmor_parser -R /etc/apparmor.d/usr.sbin.mysqld || echo "could not remove mysqld profile"
|
||||
|
||||
mkdir -p dist bin
|
||||
curl -s -L https://github.com/coreos/etcd/releases/download/v3.3.10/etcd-v3.3.10-linux-amd64.tar.gz | tar -zxC dist
|
||||
mv dist/etcd-v3.3.10-linux-amd64/{etcd,etcdctl} bin/
|
||||
curl -s -L https://github.com/coreos/etcd/releases/download/v3.5.17/etcd-v3.5.17-linux-amd64.tar.gz | tar -zxC dist
|
||||
mv dist/etcd-v3.5.17-linux-amd64/{etcd,etcdctl} bin/
|
||||
|
||||
go mod download
|
||||
go install golang.org/x/tools/cmd/goimports@latest
|
||||
|
@ -156,6 +167,9 @@ jobs:
|
|||
|
||||
export NOVTADMINBUILD=1
|
||||
export VTEVALENGINETEST="0"
|
||||
# We sometimes need to alter the behavior based on the platform we're
|
||||
# testing, e.g. MySQL 5.7 vs 8.0.
|
||||
export CI_DB_PLATFORM="mysql57"
|
||||
|
||||
eatmydata -- make unit_test | tee -a output.txt | go-junit-report -set-exit-code > report.xml
|
||||
|
||||
|
|
|
@ -16,7 +16,7 @@ env:
|
|||
jobs:
|
||||
test:
|
||||
name: Unit Test (mysql80)
|
||||
runs-on: ubuntu-latest
|
||||
runs-on: ubuntu-24.04
|
||||
|
||||
steps:
|
||||
- name: Skip CI
|
||||
|
@ -45,7 +45,9 @@ jobs:
|
|||
|
||||
- name: Check out code
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false'
|
||||
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
persist-credentials: 'false'
|
||||
|
||||
- name: Check for changes in relevant files
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false'
|
||||
|
@ -55,6 +57,7 @@ jobs:
|
|||
token: ''
|
||||
filters: |
|
||||
unit_tests:
|
||||
- 'test/config.json'
|
||||
- 'go/**'
|
||||
- 'test.go'
|
||||
- 'Makefile'
|
||||
|
@ -89,35 +92,36 @@ jobs:
|
|||
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.unit_tests == 'true'
|
||||
run: |
|
||||
export DEBIAN_FRONTEND="noninteractive"
|
||||
sudo apt-get -qq update
|
||||
sudo apt-get update
|
||||
|
||||
# Uninstall any previously installed MySQL first
|
||||
sudo systemctl stop apparmor
|
||||
sudo DEBIAN_FRONTEND="noninteractive" apt-get -qq remove -y --purge mysql-server mysql-client mysql-common
|
||||
sudo apt-get -qq -y autoremove
|
||||
sudo apt-get -qq -y autoclean
|
||||
sudo deluser mysql
|
||||
# sudo systemctl stop apparmor
|
||||
sudo DEBIAN_FRONTEND="noninteractive" apt-get remove -y --purge mysql-server mysql-client mysql-common
|
||||
sudo apt-get -y autoremove
|
||||
sudo apt-get -y autoclean
|
||||
# sudo deluser mysql
|
||||
sudo rm -rf /var/lib/mysql
|
||||
sudo rm -rf /etc/mysql
|
||||
|
||||
# Get key to latest MySQL repo
|
||||
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys A8D3785C
|
||||
wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.32-1_all.deb
|
||||
wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.33-1_all.deb
|
||||
|
||||
echo mysql-apt-config mysql-apt-config/select-server select mysql-8.0 | sudo debconf-set-selections
|
||||
sudo DEBIAN_FRONTEND="noninteractive" dpkg -i mysql-apt-config*
|
||||
sudo apt-get -qq update
|
||||
sudo DEBIAN_FRONTEND="noninteractive" apt-get -qq install -y mysql-server mysql-client
|
||||
sudo apt-get update
|
||||
sudo DEBIAN_FRONTEND="noninteractive" apt-get install -y mysql-server mysql-client
|
||||
|
||||
sudo apt-get install -y make unzip g++ curl git wget ant openjdk-11-jdk eatmydata
|
||||
|
||||
sudo apt-get -qq install -y make unzip g++ curl git wget ant openjdk-11-jdk eatmydata
|
||||
sudo service mysql stop
|
||||
sudo bash -c "echo '/usr/sbin/mysqld { }' > /etc/apparmor.d/usr.sbin.mysqld" # https://bugs.launchpad.net/ubuntu/+source/mariadb-10.1/+bug/1806263
|
||||
sudo ln -s /etc/apparmor.d/usr.sbin.mysqld /etc/apparmor.d/disable/
|
||||
sudo apparmor_parser -R /etc/apparmor.d/usr.sbin.mysqld || echo "could not remove mysqld profile"
|
||||
|
||||
mkdir -p dist bin
|
||||
curl -s -L https://github.com/coreos/etcd/releases/download/v3.3.10/etcd-v3.3.10-linux-amd64.tar.gz | tar -zxC dist
|
||||
mv dist/etcd-v3.3.10-linux-amd64/{etcd,etcdctl} bin/
|
||||
curl -s -L https://github.com/coreos/etcd/releases/download/v3.5.17/etcd-v3.5.17-linux-amd64.tar.gz | tar -zxC dist
|
||||
mv dist/etcd-v3.5.17-linux-amd64/{etcd,etcdctl} bin/
|
||||
|
||||
go mod download
|
||||
go install golang.org/x/tools/cmd/goimports@latest
|
||||
|
@ -153,6 +157,9 @@ jobs:
|
|||
|
||||
export NOVTADMINBUILD=1
|
||||
export VTEVALENGINETEST="0"
|
||||
# We sometimes need to alter the behavior based on the platform we're
|
||||
# testing, e.g. MySQL 5.7 vs 8.0.
|
||||
export CI_DB_PLATFORM="mysql80"
|
||||
|
||||
eatmydata -- make unit_test | tee -a output.txt | go-junit-report -set-exit-code > report.xml
|
||||
|
||||
|
|
|
@ -16,7 +16,7 @@ env:
|
|||
jobs:
|
||||
test:
|
||||
name: Unit Test (mysql84)
|
||||
runs-on: ubuntu-latest
|
||||
runs-on: ubuntu-24.04
|
||||
|
||||
steps:
|
||||
- name: Skip CI
|
||||
|
@ -45,7 +45,9 @@ jobs:
|
|||
|
||||
- name: Check out code
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false'
|
||||
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
persist-credentials: 'false'
|
||||
|
||||
- name: Check for changes in relevant files
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false'
|
||||
|
@ -55,6 +57,7 @@ jobs:
|
|||
token: ''
|
||||
filters: |
|
||||
unit_tests:
|
||||
- 'test/config.json'
|
||||
- 'go/**'
|
||||
- 'test.go'
|
||||
- 'Makefile'
|
||||
|
@ -89,35 +92,36 @@ jobs:
|
|||
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.unit_tests == 'true'
|
||||
run: |
|
||||
export DEBIAN_FRONTEND="noninteractive"
|
||||
sudo apt-get -qq update
|
||||
sudo apt-get update
|
||||
|
||||
# Uninstall any previously installed MySQL first
|
||||
sudo systemctl stop apparmor
|
||||
sudo DEBIAN_FRONTEND="noninteractive" apt-get -qq remove -y --purge mysql-server mysql-client mysql-common
|
||||
sudo apt-get -qq -y autoremove
|
||||
sudo apt-get -qq -y autoclean
|
||||
sudo deluser mysql
|
||||
# sudo systemctl stop apparmor
|
||||
sudo DEBIAN_FRONTEND="noninteractive" apt-get remove -y --purge mysql-server mysql-client mysql-common
|
||||
sudo apt-get -y autoremove
|
||||
sudo apt-get -y autoclean
|
||||
# sudo deluser mysql
|
||||
sudo rm -rf /var/lib/mysql
|
||||
sudo rm -rf /etc/mysql
|
||||
|
||||
# Get key to latest MySQL repo
|
||||
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys A8D3785C
|
||||
wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.32-1_all.deb
|
||||
wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.33-1_all.deb
|
||||
|
||||
echo mysql-apt-config mysql-apt-config/select-server select mysql-8.4-lts | sudo debconf-set-selections
|
||||
sudo DEBIAN_FRONTEND="noninteractive" dpkg -i mysql-apt-config*
|
||||
sudo apt-get -qq update
|
||||
sudo DEBIAN_FRONTEND="noninteractive" apt-get -qq install -y mysql-server mysql-client
|
||||
sudo apt-get update
|
||||
sudo DEBIAN_FRONTEND="noninteractive" apt-get install -y mysql-server mysql-client
|
||||
|
||||
sudo apt-get install -y make unzip g++ curl git wget ant openjdk-11-jdk eatmydata
|
||||
|
||||
sudo apt-get -qq install -y make unzip g++ curl git wget ant openjdk-11-jdk eatmydata
|
||||
sudo service mysql stop
|
||||
sudo bash -c "echo '/usr/sbin/mysqld { }' > /etc/apparmor.d/usr.sbin.mysqld" # https://bugs.launchpad.net/ubuntu/+source/mariadb-10.1/+bug/1806263
|
||||
sudo ln -s /etc/apparmor.d/usr.sbin.mysqld /etc/apparmor.d/disable/
|
||||
sudo apparmor_parser -R /etc/apparmor.d/usr.sbin.mysqld || echo "could not remove mysqld profile"
|
||||
|
||||
mkdir -p dist bin
|
||||
curl -s -L https://github.com/coreos/etcd/releases/download/v3.3.10/etcd-v3.3.10-linux-amd64.tar.gz | tar -zxC dist
|
||||
mv dist/etcd-v3.3.10-linux-amd64/{etcd,etcdctl} bin/
|
||||
curl -s -L https://github.com/coreos/etcd/releases/download/v3.5.17/etcd-v3.5.17-linux-amd64.tar.gz | tar -zxC dist
|
||||
mv dist/etcd-v3.5.17-linux-amd64/{etcd,etcdctl} bin/
|
||||
|
||||
go mod download
|
||||
go install golang.org/x/tools/cmd/goimports@latest
|
||||
|
@ -153,6 +157,9 @@ jobs:
|
|||
|
||||
export NOVTADMINBUILD=1
|
||||
export VTEVALENGINETEST="0"
|
||||
# We sometimes need to alter the behavior based on the platform we're
|
||||
# testing, e.g. MySQL 5.7 vs 8.0.
|
||||
export CI_DB_PLATFORM="mysql84"
|
||||
|
||||
eatmydata -- make unit_test | tee -a output.txt | go-junit-report -set-exit-code > report.xml
|
||||
|
||||
|
|
|
@ -14,18 +14,19 @@ jobs:
|
|||
contents: write
|
||||
pull-requests: write
|
||||
name: Update Golang Dependencies
|
||||
runs-on: ubuntu-latest
|
||||
runs-on: ubuntu-24.04
|
||||
steps:
|
||||
- name: Check out code
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
ref: main
|
||||
persist-credentials: 'false'
|
||||
|
||||
- name: Set up Go
|
||||
uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 # v5.0.2
|
||||
with:
|
||||
go-version-file: go.mod
|
||||
|
||||
- name: Check out code
|
||||
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
|
||||
with:
|
||||
ref: main
|
||||
|
||||
- name: Upgrade the Golang Dependencies
|
||||
id: detect-and-update
|
||||
run: |
|
||||
|
|
|
@ -15,12 +15,12 @@ jobs:
|
|||
pull-requests: write
|
||||
strategy:
|
||||
matrix:
|
||||
branch: [ main, release-20.0, release-19.0, release-18.0 ]
|
||||
branch: [ main, release-22.0, release-21.0, release-20.0 ]
|
||||
name: Update Golang Version
|
||||
runs-on: ubuntu-latest
|
||||
runs-on: ubuntu-24.04
|
||||
steps:
|
||||
- name: Check out code
|
||||
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
ref: ${{ matrix.branch }}
|
||||
|
||||
|
@ -37,10 +37,12 @@ jobs:
|
|||
old_go_version=$(go run ./go/tools/go-upgrade/go-upgrade.go get go-version)
|
||||
echo "old-go-version=${old_go_version}" >> $GITHUB_OUTPUT
|
||||
|
||||
if [ ${{ matrix.branch }} == "main" ]; then
|
||||
if [[ "${{ matrix.branch }}" == "main" ]]; then
|
||||
go run ./go/tools/go-upgrade/go-upgrade.go upgrade --main --allow-major-upgrade
|
||||
else
|
||||
elif [[ ("${{ matrix.branch }}" == "release-21.0") || ("${{ matrix.branch }}" == "release-22.0") ]]; then
|
||||
go run ./go/tools/go-upgrade/go-upgrade.go upgrade
|
||||
else
|
||||
go run ./go/tools/go-upgrade/go-upgrade.go upgrade --workflow-update=false
|
||||
fi
|
||||
|
||||
output=$(git status -s)
|
||||
|
|
|
@ -13,7 +13,7 @@ jobs:
|
|||
upgrade_downgrade_test_e2e:
|
||||
timeout-minutes: 60
|
||||
name: Run Upgrade Downgrade Test - Backups - E2E
|
||||
runs-on: gh-hosted-runners-16cores-1
|
||||
runs-on: oracle-vm-16cpu-64gb-x86-64
|
||||
|
||||
steps:
|
||||
- name: Skip CI
|
||||
|
@ -35,9 +35,10 @@ jobs:
|
|||
|
||||
- name: Check out commit's code
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false'
|
||||
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
fetch-depth: 0
|
||||
persist-credentials: 'false'
|
||||
|
||||
- name: Set output with latest release branch
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false'
|
||||
|
@ -55,6 +56,7 @@ jobs:
|
|||
token: ''
|
||||
filters: |
|
||||
end_to_end:
|
||||
- 'test/config.json'
|
||||
- 'go/**'
|
||||
- 'go/**/*.go'
|
||||
- 'test.go'
|
||||
|
@ -72,7 +74,7 @@ jobs:
|
|||
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
|
||||
uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 # v5.0.2
|
||||
with:
|
||||
go-version: 1.22.7
|
||||
go-version: 1.24.4
|
||||
|
||||
- name: Set up python
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
|
||||
|
@ -84,10 +86,12 @@ jobs:
|
|||
sudo sysctl -w net.ipv4.ip_local_port_range="22768 65535"
|
||||
|
||||
- name: Get base dependencies
|
||||
timeout-minutes: 10
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
|
||||
run: |
|
||||
sudo apt-get update
|
||||
sudo apt-get install -y mysql-server mysql-client make unzip g++ etcd curl git wget eatmydata
|
||||
sudo apt-get install -y mysql-server mysql-client make unzip g++ etcd-client etcd-server curl git wget eatmydata
|
||||
|
||||
sudo service mysql stop
|
||||
sudo service etcd stop
|
||||
sudo ln -s /etc/apparmor.d/usr.sbin.mysqld /etc/apparmor.d/disable/
|
||||
|
@ -107,9 +111,10 @@ jobs:
|
|||
# Checkout to the last release of Vitess
|
||||
- name: Check out other version's code (${{ steps.output-previous-release-ref.outputs.previous_release_ref }})
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
|
||||
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
ref: ${{ steps.output-previous-release-ref.outputs.previous_release_ref }}
|
||||
persist-credentials: 'false'
|
||||
|
||||
- name: Get dependencies for the last release
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
|
||||
|
@ -129,7 +134,9 @@ jobs:
|
|||
# Checkout to this build's commit
|
||||
- name: Check out commit's code
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
|
||||
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
persist-credentials: 'false'
|
||||
|
||||
- name: Get dependencies for this commit
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
|
||||
|
|
|
@ -14,7 +14,7 @@ jobs:
|
|||
upgrade_downgrade_test_e2e:
|
||||
timeout-minutes: 60
|
||||
name: Run Upgrade Downgrade Test - Backups - E2E - Next Release
|
||||
runs-on: gh-hosted-runners-16cores-1
|
||||
runs-on: oracle-vm-16cpu-64gb-x86-64
|
||||
|
||||
steps:
|
||||
- name: Skip CI
|
||||
|
@ -25,9 +25,10 @@ jobs:
|
|||
fi
|
||||
|
||||
- name: Check out commit's code
|
||||
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
fetch-depth: 0
|
||||
persist-credentials: 'false'
|
||||
|
||||
- name: Set output with latest release branch
|
||||
id: output-next-release-ref
|
||||
|
@ -57,6 +58,7 @@ jobs:
|
|||
token: ''
|
||||
filters: |
|
||||
end_to_end:
|
||||
- 'test/config.json'
|
||||
- 'go/**'
|
||||
- 'go/**/*.go'
|
||||
- 'test.go'
|
||||
|
@ -86,10 +88,12 @@ jobs:
|
|||
sudo sysctl -w net.ipv4.ip_local_port_range="22768 65535"
|
||||
|
||||
- name: Get base dependencies
|
||||
timeout-minutes: 10
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
|
||||
run: |
|
||||
sudo apt-get update
|
||||
sudo apt-get install -y mysql-server mysql-client make unzip g++ etcd curl git wget eatmydata
|
||||
sudo apt-get install -y mysql-server mysql-client make unzip g++ etcd-client etcd-server curl git wget eatmydata
|
||||
|
||||
sudo service mysql stop
|
||||
sudo service etcd stop
|
||||
sudo ln -s /etc/apparmor.d/usr.sbin.mysqld /etc/apparmor.d/disable/
|
||||
|
@ -109,9 +113,10 @@ jobs:
|
|||
# Checkout to the next release of Vitess
|
||||
- name: Check out other version's code (${{ steps.output-next-release-ref.outputs.next_release_ref }})
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
|
||||
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
ref: ${{ steps.output-next-release-ref.outputs.next_release_ref }}
|
||||
persist-credentials: 'false'
|
||||
|
||||
- name: Get dependencies for the next release
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
|
||||
|
@ -131,7 +136,9 @@ jobs:
|
|||
# Checkout to this build's commit
|
||||
- name: Check out commit's code
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
|
||||
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
persist-credentials: 'false'
|
||||
|
||||
- name: Get dependencies for this commit
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
|
||||
|
|
|
@ -15,7 +15,7 @@ jobs:
|
|||
upgrade_downgrade_test_manual:
|
||||
timeout-minutes: 40
|
||||
name: Run Upgrade Downgrade Test - Backups - Manual
|
||||
runs-on: gh-hosted-runners-16cores-1
|
||||
runs-on: oracle-vm-16cpu-64gb-x86-64
|
||||
|
||||
steps:
|
||||
- name: Skip CI
|
||||
|
@ -38,9 +38,10 @@ jobs:
|
|||
# Checkout to this build's commit
|
||||
- name: Checkout to commit's code
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false'
|
||||
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
fetch-depth: 0
|
||||
persist-credentials: 'false'
|
||||
|
||||
- name: Set output with latest release branch
|
||||
id: output-previous-release-ref
|
||||
|
@ -58,6 +59,7 @@ jobs:
|
|||
token: ''
|
||||
filters: |
|
||||
end_to_end:
|
||||
- 'test/config.json'
|
||||
- 'go/**'
|
||||
- 'go/**/*.go'
|
||||
- 'test.go'
|
||||
|
@ -76,7 +78,7 @@ jobs:
|
|||
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
|
||||
uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 # v5.0.2
|
||||
with:
|
||||
go-version: 1.22.7
|
||||
go-version: 1.24.4
|
||||
|
||||
- name: Set up python
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
|
||||
|
@ -88,28 +90,30 @@ jobs:
|
|||
sudo sysctl -w net.ipv4.ip_local_port_range="22768 65535"
|
||||
|
||||
- name: Get base dependencies
|
||||
timeout-minutes: 10
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
|
||||
run: |
|
||||
sudo DEBIAN_FRONTEND="noninteractive" apt-get update
|
||||
# Uninstall any previously installed MySQL first
|
||||
sudo systemctl stop apparmor
|
||||
# sudo systemctl stop apparmor
|
||||
sudo DEBIAN_FRONTEND="noninteractive" apt-get remove -y --purge mysql-server mysql-client mysql-common
|
||||
sudo apt-get -y autoremove
|
||||
sudo apt-get -y autoclean
|
||||
sudo deluser mysql
|
||||
sudo rm -rf /var/lib/mysql
|
||||
sudo rm -rf /etc/mysql
|
||||
# sudo deluser mysql
|
||||
# sudo rm -rf /var/lib/mysql
|
||||
# sudo rm -rf /etc/mysql
|
||||
|
||||
# Install MySQL 8.0
|
||||
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys A8D3785C
|
||||
wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.32-1_all.deb
|
||||
wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.33-1_all.deb
|
||||
echo mysql-apt-config mysql-apt-config/select-server select mysql-8.0 | sudo debconf-set-selections
|
||||
sudo DEBIAN_FRONTEND="noninteractive" dpkg -i mysql-apt-config*
|
||||
sudo apt-get update
|
||||
sudo DEBIAN_FRONTEND="noninteractive" apt-get install -y mysql-server mysql-client
|
||||
|
||||
# Install everything else we need, and configure
|
||||
sudo apt-get install -y make unzip g++ etcd curl git wget eatmydata grep
|
||||
sudo apt-get install -y make unzip g++ etcd-client etcd-server curl git wget eatmydata grep
|
||||
|
||||
sudo service mysql stop
|
||||
sudo service etcd stop
|
||||
sudo bash -c "echo '/usr/sbin/mysqld { }' > /etc/apparmor.d/usr.sbin.mysqld" # https://bugs.launchpad.net/ubuntu/+source/mariadb-10.1/+bug/1806263
|
||||
|
@ -129,9 +133,10 @@ jobs:
|
|||
# Checkout to the last release of Vitess
|
||||
- name: Checkout to the other version's code (${{ steps.output-previous-release-ref.outputs.previous_release_ref }})
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
|
||||
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
ref: ${{ steps.output-previous-release-ref.outputs.previous_release_ref }}
|
||||
persist-credentials: 'false'
|
||||
|
||||
- name: Get dependencies for the last release
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
|
||||
|
@ -151,7 +156,9 @@ jobs:
|
|||
# Checkout to this build's commit
|
||||
- name: Checkout to commit's code
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
|
||||
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
persist-credentials: 'false'
|
||||
|
||||
- name: Get dependencies for this commit
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
|
||||
|
|
|
@ -15,7 +15,7 @@ jobs:
|
|||
upgrade_downgrade_test_manual:
|
||||
timeout-minutes: 40
|
||||
name: Run Upgrade Downgrade Test - Backups - Manual - Next Release
|
||||
runs-on: gh-hosted-runners-16cores-1
|
||||
runs-on: oracle-vm-16cpu-64gb-x86-64
|
||||
|
||||
steps:
|
||||
- name: Skip CI
|
||||
|
@ -27,9 +27,10 @@ jobs:
|
|||
|
||||
# Checkout to this build's commit
|
||||
- name: Checkout to commit's code
|
||||
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
fetch-depth: 0
|
||||
persist-credentials: 'false'
|
||||
|
||||
- name: Set output with latest release branch
|
||||
id: output-next-release-ref
|
||||
|
@ -59,6 +60,7 @@ jobs:
|
|||
token: ''
|
||||
filters: |
|
||||
end_to_end:
|
||||
- 'test/config.json'
|
||||
- 'go/**'
|
||||
- 'go/**/*.go'
|
||||
- 'test.go'
|
||||
|
@ -89,28 +91,30 @@ jobs:
|
|||
sudo sysctl -w net.ipv4.ip_local_port_range="22768 65535"
|
||||
|
||||
- name: Get base dependencies
|
||||
timeout-minutes: 10
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
|
||||
run: |
|
||||
sudo DEBIAN_FRONTEND="noninteractive" apt-get update
|
||||
# Uninstall any nextly installed MySQL first
|
||||
sudo systemctl stop apparmor
|
||||
# sudo systemctl stop apparmor
|
||||
sudo DEBIAN_FRONTEND="noninteractive" apt-get remove -y --purge mysql-server mysql-client mysql-common
|
||||
sudo apt-get -y autoremove
|
||||
sudo apt-get -y autoclean
|
||||
sudo deluser mysql
|
||||
# sudo deluser mysql
|
||||
sudo rm -rf /var/lib/mysql
|
||||
sudo rm -rf /etc/mysql
|
||||
|
||||
# Install MySQL 8.0
|
||||
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys A8D3785C
|
||||
wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.32-1_all.deb
|
||||
wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.33-1_all.deb
|
||||
echo mysql-apt-config mysql-apt-config/select-server select mysql-8.0 | sudo debconf-set-selections
|
||||
sudo DEBIAN_FRONTEND="noninteractive" dpkg -i mysql-apt-config*
|
||||
sudo apt-get update
|
||||
sudo DEBIAN_FRONTEND="noninteractive" apt-get install -y mysql-server mysql-client
|
||||
|
||||
# Install everything else we need, and configure
|
||||
sudo apt-get install -y make unzip g++ etcd curl git wget eatmydata grep
|
||||
sudo apt-get install -y make unzip g++ etcd-client etcd-server curl git wget eatmydata grep
|
||||
|
||||
sudo service mysql stop
|
||||
sudo service etcd stop
|
||||
sudo bash -c "echo '/usr/sbin/mysqld { }' > /etc/apparmor.d/usr.sbin.mysqld" # https://bugs.launchpad.net/ubuntu/+source/mariadb-10.1/+bug/1806263
|
||||
|
@ -130,9 +134,10 @@ jobs:
|
|||
# Checkout to the next release of Vitess
|
||||
- name: Checkout to the other version's code (${{ steps.output-next-release-ref.outputs.next_release_ref }})
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
|
||||
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
ref: ${{ steps.output-next-release-ref.outputs.next_release_ref }}
|
||||
persist-credentials: 'false'
|
||||
|
||||
- name: Get dependencies for the next release
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
|
||||
|
@ -152,7 +157,9 @@ jobs:
|
|||
# Checkout to this build's commit
|
||||
- name: Checkout to commit's code
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
|
||||
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
persist-credentials: 'false'
|
||||
|
||||
- name: Get dependencies for this commit
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
|
||||
|
|
|
@ -15,8 +15,9 @@ permissions: read-all
|
|||
jobs:
|
||||
|
||||
upgrade_downgrade_test:
|
||||
timeout-minutes: 60
|
||||
name: Run Upgrade Downgrade Test - Online DDL flow
|
||||
runs-on: gh-hosted-runners-16cores-1
|
||||
runs-on: oracle-vm-16cpu-64gb-x86-64
|
||||
|
||||
steps:
|
||||
- name: Skip CI
|
||||
|
@ -38,9 +39,10 @@ jobs:
|
|||
|
||||
- name: Check out commit's code
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false'
|
||||
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
fetch-depth: 0
|
||||
persist-credentials: 'false'
|
||||
|
||||
- name: Check for changes in relevant files
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false'
|
||||
|
@ -50,6 +52,7 @@ jobs:
|
|||
token: ''
|
||||
filters: |
|
||||
end_to_end:
|
||||
- 'test/config.json'
|
||||
- 'go/**'
|
||||
- 'go/**/*.go'
|
||||
- 'test.go'
|
||||
|
@ -83,7 +86,7 @@ jobs:
|
|||
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
|
||||
uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 # v5.0.2
|
||||
with:
|
||||
go-version: 1.22.7
|
||||
go-version: 1.24.4
|
||||
|
||||
- name: Set up python
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
|
||||
|
@ -95,26 +98,28 @@ jobs:
|
|||
sudo sysctl -w net.ipv4.ip_local_port_range="22768 65535"
|
||||
|
||||
- name: Get base dependencies
|
||||
timeout-minutes: 10
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
|
||||
run: |
|
||||
sudo DEBIAN_FRONTEND="noninteractive" apt-get update
|
||||
# Uninstall any previously installed MySQL first
|
||||
sudo systemctl stop apparmor
|
||||
# sudo systemctl stop apparmor
|
||||
sudo DEBIAN_FRONTEND="noninteractive" apt-get remove -y --purge mysql-server mysql-client mysql-common
|
||||
sudo apt-get -y autoremove
|
||||
sudo apt-get -y autoclean
|
||||
sudo deluser mysql
|
||||
# sudo deluser mysql
|
||||
sudo rm -rf /var/lib/mysql
|
||||
sudo rm -rf /etc/mysql
|
||||
# Install mysql80
|
||||
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys A8D3785C
|
||||
wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.32-1_all.deb
|
||||
wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.33-1_all.deb
|
||||
echo mysql-apt-config mysql-apt-config/select-server select mysql-8.0 | sudo debconf-set-selections
|
||||
sudo DEBIAN_FRONTEND="noninteractive" dpkg -i mysql-apt-config*
|
||||
sudo apt-get update
|
||||
sudo DEBIAN_FRONTEND="noninteractive" apt-get install -y mysql-server mysql-client
|
||||
# Install everything else we need, and configure
|
||||
sudo apt-get install -y make unzip g++ etcd curl git wget eatmydata
|
||||
sudo apt-get install -y make unzip g++ etcd-client etcd-server curl git wget eatmydata
|
||||
|
||||
sudo service mysql stop
|
||||
sudo service etcd stop
|
||||
sudo bash -c "echo '/usr/sbin/mysqld { }' > /etc/apparmor.d/usr.sbin.mysqld" # https://bugs.launchpad.net/ubuntu/+source/mariadb-10.1/+bug/1806263
|
||||
|
@ -127,9 +132,10 @@ jobs:
|
|||
# Checkout to the last release of Vitess
|
||||
- name: Check out last version's code (${{ steps.output-previous-release-ref.outputs.previous_release_ref }})
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
|
||||
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
ref: ${{ steps.output-previous-release-ref.outputs.previous_release_ref }}
|
||||
persist-credentials: 'false'
|
||||
|
||||
- name: Get dependencies for the last release
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
|
||||
|
@ -150,9 +156,10 @@ jobs:
|
|||
# Checkout to the next release of Vitess
|
||||
- name: Check out next version's code (${{ steps.output-next-release-ref.outputs.next_release_ref }})
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
|
||||
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
ref: ${{ steps.output-next-release-ref.outputs.next_release_ref }}
|
||||
persist-credentials: 'false'
|
||||
|
||||
- name: Get dependencies for the next release
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
|
||||
|
@ -173,7 +180,9 @@ jobs:
|
|||
# Checkout to this build's commit
|
||||
- name: Check out commit's code
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
|
||||
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
persist-credentials: 'false'
|
||||
|
||||
- name: Get dependencies for this commit
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
|
||||
|
|
|
@ -15,8 +15,9 @@ permissions: read-all
|
|||
jobs:
|
||||
|
||||
upgrade_downgrade_test:
|
||||
timeout-minutes: 60
|
||||
name: Run Upgrade Downgrade Test - Query Serving (Queries)
|
||||
runs-on: gh-hosted-runners-16cores-1
|
||||
runs-on: oracle-vm-16cpu-64gb-x86-64
|
||||
|
||||
steps:
|
||||
- name: Skip CI
|
||||
|
@ -38,9 +39,10 @@ jobs:
|
|||
|
||||
- name: Check out commit's code
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false'
|
||||
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
fetch-depth: 0
|
||||
persist-credentials: 'false'
|
||||
|
||||
- name: Set output with latest release branch
|
||||
id: output-previous-release-ref
|
||||
|
@ -58,6 +60,7 @@ jobs:
|
|||
token: ''
|
||||
filters: |
|
||||
end_to_end:
|
||||
- 'test/config.json'
|
||||
- 'go/**'
|
||||
- 'go/**/*.go'
|
||||
- 'test.go'
|
||||
|
@ -75,7 +78,7 @@ jobs:
|
|||
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
|
||||
uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 # v5.0.2
|
||||
with:
|
||||
go-version: 1.22.7
|
||||
go-version: 1.24.4
|
||||
|
||||
- name: Set up python
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
|
||||
|
@ -87,26 +90,28 @@ jobs:
|
|||
sudo sysctl -w net.ipv4.ip_local_port_range="22768 65535"
|
||||
|
||||
- name: Get base dependencies
|
||||
timeout-minutes: 10
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
|
||||
run: |
|
||||
sudo DEBIAN_FRONTEND="noninteractive" apt-get update
|
||||
# Uninstall any previously installed MySQL first
|
||||
sudo systemctl stop apparmor
|
||||
# sudo systemctl stop apparmor
|
||||
sudo DEBIAN_FRONTEND="noninteractive" apt-get remove -y --purge mysql-server mysql-client mysql-common
|
||||
sudo apt-get -y autoremove
|
||||
sudo apt-get -y autoclean
|
||||
sudo deluser mysql
|
||||
# sudo deluser mysql
|
||||
sudo rm -rf /var/lib/mysql
|
||||
sudo rm -rf /etc/mysql
|
||||
# Install mysql80
|
||||
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys A8D3785C
|
||||
wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.32-1_all.deb
|
||||
wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.33-1_all.deb
|
||||
echo mysql-apt-config mysql-apt-config/select-server select mysql-8.0 | sudo debconf-set-selections
|
||||
sudo DEBIAN_FRONTEND="noninteractive" dpkg -i mysql-apt-config*
|
||||
sudo apt-get update
|
||||
sudo DEBIAN_FRONTEND="noninteractive" apt-get install -y mysql-server mysql-client
|
||||
# Install everything else we need, and configure
|
||||
sudo apt-get install -y make unzip g++ etcd curl git wget eatmydata
|
||||
sudo apt-get install -y make unzip g++ etcd-client etcd-server curl git wget eatmydata
|
||||
|
||||
sudo service mysql stop
|
||||
sudo service etcd stop
|
||||
sudo bash -c "echo '/usr/sbin/mysqld { }' > /etc/apparmor.d/usr.sbin.mysqld" # https://bugs.launchpad.net/ubuntu/+source/mariadb-10.1/+bug/1806263
|
||||
|
@ -135,9 +140,10 @@ jobs:
|
|||
# Checkout to the last release of Vitess
|
||||
- name: Check out other version's code (${{ steps.output-previous-release-ref.outputs.previous_release_ref }})
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
|
||||
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
ref: ${{ steps.output-previous-release-ref.outputs.previous_release_ref }}
|
||||
persist-credentials: 'false'
|
||||
|
||||
- name: Get dependencies for the last release
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
|
||||
|
|
|
@ -0,0 +1,218 @@
|
|||
name: Query Serving (Queries - 2) - Upgrade Downgrade Testing
|
||||
on:
|
||||
push:
|
||||
pull_request:
|
||||
|
||||
concurrency:
|
||||
group: format('{0}-{1}', ${{ github.ref }}, 'Upgrade Downgrade Testing Query Serving (Queries - 2)')
|
||||
cancel-in-progress: true
|
||||
|
||||
permissions: read-all
|
||||
|
||||
# This test ensures that our end-to-end tests work using Vitess components
|
||||
# (vtgate, vttablet, etc) built on different versions.
|
||||
|
||||
jobs:
|
||||
|
||||
upgrade_downgrade_test:
|
||||
timeout-minutes: 60
|
||||
name: Run Upgrade Downgrade Test - Query Serving (Queries - 2)
|
||||
runs-on: oracle-vm-16cpu-64gb-x86-64
|
||||
|
||||
steps:
|
||||
- name: Skip CI
|
||||
run: |
|
||||
if [[ "${{contains( github.event.pull_request.labels.*.name, 'Skip CI')}}" == "true" ]]; then
|
||||
echo "skipping CI due to the 'Skip CI' label"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
- name: Check if workflow needs to be skipped
|
||||
id: skip-workflow
|
||||
run: |
|
||||
skip='false'
|
||||
if [[ "${{github.event.pull_request}}" == "" ]] && [[ "${{github.ref}}" != "refs/heads/main" ]] && [[ ! "${{github.ref}}" =~ ^refs/heads/release-[0-9]+\.[0-9]$ ]] && [[ ! "${{github.ref}}" =~ "refs/tags/.*" ]]; then
|
||||
skip='true'
|
||||
fi
|
||||
echo Skip ${skip}
|
||||
echo "skip-workflow=${skip}" >> $GITHUB_OUTPUT
|
||||
|
||||
- name: Check out commit's code
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false'
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
fetch-depth: 0
|
||||
persist-credentials: 'false'
|
||||
|
||||
- name: Set output with latest release branch
|
||||
id: output-previous-release-ref
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false'
|
||||
run: |
|
||||
previous_release_ref=$(./tools/get_previous_release.sh ${{github.base_ref}} ${{github.ref}})
|
||||
echo $previous_release_ref
|
||||
echo "previous_release_ref=${previous_release_ref}" >> $GITHUB_OUTPUT
|
||||
|
||||
- name: Check for changes in relevant files
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false'
|
||||
uses: dorny/paths-filter@ebc4d7e9ebcb0b1eb21480bb8f43113e996ac77a # v3.0.1
|
||||
id: changes
|
||||
with:
|
||||
token: ''
|
||||
filters: |
|
||||
end_to_end:
|
||||
- 'test/config.json'
|
||||
- 'go/**'
|
||||
- 'go/**/*.go'
|
||||
- 'test.go'
|
||||
- 'Makefile'
|
||||
- 'build.env'
|
||||
- 'go.sum'
|
||||
- 'go.mod'
|
||||
- 'proto/*.proto'
|
||||
- 'tools/**'
|
||||
- 'config/**'
|
||||
- 'bootstrap.sh'
|
||||
- '.github/workflows/upgrade_downgrade_test_query_serving_queries.yml'
|
||||
|
||||
- name: Set up Go
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
|
||||
uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 # v5.0.2
|
||||
with:
|
||||
go-version: 1.24.4
|
||||
|
||||
- name: Set up python
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
|
||||
uses: actions/setup-python@39cd14951b08e74b54015e9e001cdefcf80e669f # v5.1.1
|
||||
|
||||
- name: Tune the OS
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
|
||||
run: |
|
||||
sudo sysctl -w net.ipv4.ip_local_port_range="22768 65535"
|
||||
|
||||
- name: Get base dependencies
|
||||
timeout-minutes: 10
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
|
||||
run: |
|
||||
sudo DEBIAN_FRONTEND="noninteractive" apt-get update
|
||||
# Uninstall any previously installed MySQL first
|
||||
# sudo systemctl stop apparmor
|
||||
sudo DEBIAN_FRONTEND="noninteractive" apt-get remove -y --purge mysql-server mysql-client mysql-common
|
||||
sudo apt-get -y autoremove
|
||||
sudo apt-get -y autoclean
|
||||
# sudo deluser mysql
|
||||
sudo rm -rf /var/lib/mysql
|
||||
sudo rm -rf /etc/mysql
|
||||
# Install mysql80
|
||||
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys A8D3785C
|
||||
wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.33-1_all.deb
|
||||
echo mysql-apt-config mysql-apt-config/select-server select mysql-8.0 | sudo debconf-set-selections
|
||||
sudo DEBIAN_FRONTEND="noninteractive" dpkg -i mysql-apt-config*
|
||||
sudo apt-get update
|
||||
sudo DEBIAN_FRONTEND="noninteractive" apt-get install -y mysql-server mysql-client
|
||||
# Install everything else we need, and configure
|
||||
sudo apt-get install -y make unzip g++ etcd-client etcd-server curl git wget eatmydata
|
||||
|
||||
sudo service mysql stop
|
||||
sudo service etcd stop
|
||||
sudo bash -c "echo '/usr/sbin/mysqld { }' > /etc/apparmor.d/usr.sbin.mysqld" # https://bugs.launchpad.net/ubuntu/+source/mariadb-10.1/+bug/1806263
|
||||
sudo ln -s /etc/apparmor.d/usr.sbin.mysqld /etc/apparmor.d/disable/
|
||||
sudo apparmor_parser -R /etc/apparmor.d/usr.sbin.mysqld || echo "could not remove mysqld profile"
|
||||
|
||||
# install JUnit report formatter
|
||||
go install github.com/vitessio/go-junit-report@HEAD
|
||||
|
||||
# Build current commit's binaries
|
||||
- name: Get dependencies for this commit
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
|
||||
run: |
|
||||
go mod download
|
||||
|
||||
- name: Building the binaries for this commit
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
|
||||
timeout-minutes: 10
|
||||
run: |
|
||||
source build.env
|
||||
NOVTADMINBUILD=1 make build
|
||||
mkdir -p /tmp/vitess-build-current/
|
||||
cp -R bin /tmp/vitess-build-current/
|
||||
rm -Rf bin/*
|
||||
|
||||
# Checkout to the last release of Vitess
|
||||
- name: Check out other version's code (${{ steps.output-previous-release-ref.outputs.previous_release_ref }})
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
ref: ${{ steps.output-previous-release-ref.outputs.previous_release_ref }}
|
||||
persist-credentials: 'false'
|
||||
|
||||
- name: Get dependencies for the last release
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
|
||||
run: |
|
||||
go mod download
|
||||
|
||||
- name: Building last release's binaries
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
|
||||
timeout-minutes: 10
|
||||
run: |
|
||||
source build.env
|
||||
NOVTADMINBUILD=1 make build
|
||||
mkdir -p /tmp/vitess-build-other/
|
||||
cp -R bin /tmp/vitess-build-other/
|
||||
rm -Rf bin/*
|
||||
|
||||
- name: Convert ErrorContains checks to Error checks
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
|
||||
run: |
|
||||
find ./go/test/endtoend -name '*.go' -exec sed -i 's/ErrorContains/Error/g' {} +
|
||||
find ./go/test/endtoend -name '*.go' -exec sed -i 's/EqualError/Error/g' {} +
|
||||
|
||||
# Swap the binaries in the bin. Use vtgate version n-1 and keep vttablet at version n
|
||||
- name: Use last release's VTGate
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
|
||||
run: |
|
||||
source build.env
|
||||
|
||||
cp -r /tmp/vitess-build-current/bin/* $PWD/bin/
|
||||
rm -f $PWD/bin/vtgate
|
||||
cp /tmp/vitess-build-other/bin/vtgate $PWD/bin/vtgate
|
||||
vtgate --version
|
||||
|
||||
# Running a test with vtgate at version n-1 and vttablet/vtctld at version n
|
||||
- name: Run query serving tests (vtgate=N-1, vttablet=N, vtctld=N)
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
|
||||
run: |
|
||||
rm -rf /tmp/vtdataroot
|
||||
mkdir -p /tmp/vtdataroot
|
||||
|
||||
source build.env
|
||||
eatmydata -- go run test.go -skip-build -keep-data=false -docker=false -print-log -follow -tag upgrade_downgrade_query_serving_queries_2
|
||||
|
||||
# Swap the binaries again. This time, vtgate will be at version n, and vttablet/vtctld will be at version n-1
|
||||
- name: Use current version VTGate, and other version VTTablet/VTctld
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
|
||||
run: |
|
||||
source build.env
|
||||
|
||||
rm -f $PWD/bin/vtgate $PWD/bin/vttablet $PWD/bin/mysqlctl $PWD/bin/mysqlctld
|
||||
cp /tmp/vitess-build-current/bin/vtgate $PWD/bin/vtgate
|
||||
|
||||
cp /tmp/vitess-build-other/bin/vtctld $PWD/bin
|
||||
cp /tmp/vitess-build-other/bin/vtctldclient $PWD/bin
|
||||
cp /tmp/vitess-build-other/bin/vtctl $PWD/bin
|
||||
cp /tmp/vitess-build-other/bin/vtctlclient $PWD/bin
|
||||
|
||||
cp /tmp/vitess-build-other/bin/vttablet $PWD/bin/vttablet
|
||||
cp /tmp/vitess-build-other/bin/mysqlctl $PWD/bin/mysqlctl
|
||||
cp /tmp/vitess-build-other/bin/mysqlctld $PWD/bin/mysqlctld
|
||||
vtgate --version
|
||||
vttablet --version
|
||||
|
||||
# Running a test with vtgate at version n and vttablet/vtctld at version n-1
|
||||
- name: Run query serving tests (vtgate=N, vttablet=N-1, vtctld=N-1)
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
|
||||
run: |
|
||||
rm -rf /tmp/vtdataroot
|
||||
mkdir -p /tmp/vtdataroot
|
||||
|
||||
source build.env
|
||||
eatmydata -- go run test.go -skip-build -keep-data=false -docker=false -print-log -follow -tag upgrade_downgrade_query_serving_queries_2
|
216
.github/workflows/upgrade_downgrade_test_query_serving_queries_2_next_release.yml
vendored
Normal file
216
.github/workflows/upgrade_downgrade_test_query_serving_queries_2_next_release.yml
vendored
Normal file
|
@ -0,0 +1,216 @@
|
|||
name: Query Serving (Queries - 2) Next Release - Upgrade Downgrade Testing
|
||||
on:
|
||||
push:
|
||||
pull_request:
|
||||
|
||||
concurrency:
|
||||
group: format('{0}-{1}', ${{ github.ref }}, 'Upgrade Downgrade Testing Query Serving (Queries - 2) Next Release')
|
||||
cancel-in-progress: true
|
||||
|
||||
permissions: read-all
|
||||
|
||||
# This test ensures that our end-to-end tests work using Vitess components
|
||||
# (vtgate, vttablet, etc) built on different versions.
|
||||
|
||||
jobs:
|
||||
|
||||
upgrade_downgrade_test:
|
||||
timeout-minutes: 60
|
||||
name: Run Upgrade Downgrade Test - Query Serving (Queries - 2) Next Release
|
||||
runs-on: oracle-vm-16cpu-64gb-x86-64
|
||||
|
||||
steps:
|
||||
- name: Skip CI
|
||||
run: |
|
||||
if [[ "${{contains( github.event.pull_request.labels.*.name, 'Skip CI')}}" == "true" ]]; then
|
||||
echo "skipping CI due to the 'Skip CI' label"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
- name: Check out commit's code
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
fetch-depth: 0
|
||||
persist-credentials: 'false'
|
||||
|
||||
- name: Set output with latest release branch
|
||||
id: output-next-release-ref
|
||||
run: |
|
||||
next_release_ref=$(./tools/get_next_release.sh ${{github.base_ref}} ${{github.ref}})
|
||||
echo $next_release_ref
|
||||
echo "next_release_ref=${next_release_ref}" >> $GITHUB_OUTPUT
|
||||
|
||||
- name: Check if workflow needs to be skipped
|
||||
id: skip-workflow
|
||||
run: |
|
||||
skip='false'
|
||||
if [[ "${{github.event.pull_request}}" == "" ]] && [[ "${{github.ref}}" != "refs/heads/main" ]] && [[ ! "${{github.ref}}" =~ ^refs/heads/release-[0-9]+\.[0-9]$ ]] && [[ ! "${{github.ref}}" =~ "refs/tags/.*" ]]; then
|
||||
skip='true'
|
||||
fi
|
||||
if [[ "${{steps.output-next-release-ref.outputs.next_release_ref}}" == "" ]]; then
|
||||
skip='true'
|
||||
fi
|
||||
echo Skip ${skip}
|
||||
echo "skip-workflow=${skip}" >> $GITHUB_OUTPUT
|
||||
|
||||
- name: Check for changes in relevant files
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false'
|
||||
uses: dorny/paths-filter@ebc4d7e9ebcb0b1eb21480bb8f43113e996ac77a # v3.0.1
|
||||
id: changes
|
||||
with:
|
||||
token: ''
|
||||
filters: |
|
||||
end_to_end:
|
||||
- 'test/config.json'
|
||||
- 'go/**'
|
||||
- 'go/**/*.go'
|
||||
- 'test.go'
|
||||
- 'Makefile'
|
||||
- 'build.env'
|
||||
- 'go.sum'
|
||||
- 'go.mod'
|
||||
- 'proto/*.proto'
|
||||
- 'tools/**'
|
||||
- 'config/**'
|
||||
- 'bootstrap.sh'
|
||||
- '.github/workflows/upgrade_downgrade_test_query_serving_queries_next_release.yml'
|
||||
|
||||
- name: Set up Go
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
|
||||
uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 # v5.0.2
|
||||
with:
|
||||
go-version-file: go.mod
|
||||
|
||||
- name: Set up python
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
|
||||
uses: actions/setup-python@39cd14951b08e74b54015e9e001cdefcf80e669f # v5.1.1
|
||||
|
||||
- name: Tune the OS
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
|
||||
run: |
|
||||
sudo sysctl -w net.ipv4.ip_local_port_range="22768 65535"
|
||||
|
||||
- name: Get base dependencies
|
||||
timeout-minutes: 10
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
|
||||
run: |
|
||||
sudo DEBIAN_FRONTEND="noninteractive" apt-get update
|
||||
# Uninstall any nextly installed MySQL first
|
||||
# sudo systemctl stop apparmor
|
||||
sudo DEBIAN_FRONTEND="noninteractive" apt-get remove -y --purge mysql-server mysql-client mysql-common
|
||||
sudo apt-get -y autoremove
|
||||
sudo apt-get -y autoclean
|
||||
# sudo deluser mysql
|
||||
sudo rm -rf /var/lib/mysql
|
||||
sudo rm -rf /etc/mysql
|
||||
# Install mysql80
|
||||
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys A8D3785C
|
||||
wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.33-1_all.deb
|
||||
echo mysql-apt-config mysql-apt-config/select-server select mysql-8.0 | sudo debconf-set-selections
|
||||
sudo DEBIAN_FRONTEND="noninteractive" dpkg -i mysql-apt-config*
|
||||
sudo apt-get update
|
||||
sudo DEBIAN_FRONTEND="noninteractive" apt-get install -y mysql-server mysql-client
|
||||
# Install everything else we need, and configure
|
||||
sudo apt-get install -y make unzip g++ etcd-client etcd-server curl git wget eatmydata
|
||||
|
||||
sudo service mysql stop
|
||||
sudo service etcd stop
|
||||
sudo bash -c "echo '/usr/sbin/mysqld { }' > /etc/apparmor.d/usr.sbin.mysqld" # https://bugs.launchpad.net/ubuntu/+source/mariadb-10.1/+bug/1806263
|
||||
sudo ln -s /etc/apparmor.d/usr.sbin.mysqld /etc/apparmor.d/disable/
|
||||
sudo apparmor_parser -R /etc/apparmor.d/usr.sbin.mysqld || echo "could not remove mysqld profile"
|
||||
|
||||
# install JUnit report formatter
|
||||
go install github.com/vitessio/go-junit-report@HEAD
|
||||
|
||||
# Checkout to the next release of Vitess
|
||||
- name: Check out other version's code (${{ steps.output-next-release-ref.outputs.next_release_ref }})
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
ref: ${{ steps.output-next-release-ref.outputs.next_release_ref }}
|
||||
persist-credentials: 'false'
|
||||
|
||||
- name: Get dependencies for the next release
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
|
||||
run: |
|
||||
go mod download
|
||||
|
||||
- name: Building next release's binaries
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
|
||||
timeout-minutes: 10
|
||||
run: |
|
||||
source build.env
|
||||
NOVTADMINBUILD=1 make build
|
||||
mkdir -p /tmp/vitess-build-other/
|
||||
cp -R bin /tmp/vitess-build-other/
|
||||
rm -Rf bin/*
|
||||
|
||||
# Checkout to this build's commit
|
||||
- name: Check out commit's code
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
persist-credentials: 'false'
|
||||
|
||||
- name: Get dependencies for this commit
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
|
||||
run: |
|
||||
go mod download
|
||||
|
||||
- name: Building the binaries for this commit
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
|
||||
timeout-minutes: 10
|
||||
run: |
|
||||
source build.env
|
||||
NOVTADMINBUILD=1 make build
|
||||
mkdir -p /tmp/vitess-build-current/
|
||||
cp -R bin /tmp/vitess-build-current/
|
||||
|
||||
- name: Convert ErrorContains checks to Error checks
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
|
||||
run: |
|
||||
find ./go/test/endtoend -name '*.go' -exec sed -i 's/ErrorContains/Error/g' {} +
|
||||
find ./go/test/endtoend -name '*.go' -exec sed -i 's/EqualError/Error/g' {} +
|
||||
|
||||
# Swap the binaries in the bin. Use vtgate version n+1 and keep vttablet at version n
|
||||
- name: Use next release's VTGate
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
|
||||
run: |
|
||||
source build.env
|
||||
rm -f $PWD/bin/vtgate
|
||||
cp /tmp/vitess-build-other/bin/vtgate $PWD/bin/vtgate
|
||||
vtgate --version
|
||||
|
||||
# Running a test with vtgate at version n+1 and vttablet at version n
|
||||
- name: Run query serving tests (vtgate=N+1, vttablet=N)
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
|
||||
run: |
|
||||
rm -rf /tmp/vtdataroot
|
||||
mkdir -p /tmp/vtdataroot
|
||||
|
||||
source build.env
|
||||
eatmydata -- go run test.go -skip-build -keep-data=false -docker=false -print-log -follow -tag upgrade_downgrade_query_serving_queries_2
|
||||
|
||||
# Swap the binaries again. This time, vtgate will be at version n, and vttablet will be at version n+1
|
||||
- name: Use current version VTGate, and other version VTTablet
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
|
||||
run: |
|
||||
source build.env
|
||||
|
||||
rm -f $PWD/bin/vtgate $PWD/bin/vttablet $PWD/bin/mysqlctl $PWD/bin/mysqlctld
|
||||
cp /tmp/vitess-build-current/bin/vtgate $PWD/bin/vtgate
|
||||
cp /tmp/vitess-build-other/bin/vttablet $PWD/bin/vttablet
|
||||
cp /tmp/vitess-build-other/bin/mysqlctl $PWD/bin/mysqlctl
|
||||
cp /tmp/vitess-build-other/bin/mysqlctld $PWD/bin/mysqlctld
|
||||
vtgate --version
|
||||
vttablet --version
|
||||
|
||||
# Running a test with vtgate at version n and vttablet at version n+1
|
||||
- name: Run query serving tests (vtgate=N, vttablet=N+1)
|
||||
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
|
||||
run: |
|
||||
rm -rf /tmp/vtdataroot
|
||||
mkdir -p /tmp/vtdataroot
|
||||
|
||||
source build.env
|
||||
eatmydata -- go run test.go -skip-build -keep-data=false -docker=false -print-log -follow -tag upgrade_downgrade_query_serving_queries_2
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue