Compare commits

...

587 Commits

Author SHA1 Message Date
Shlomi Noach c8d71bcdf7
`heartbeatWriter`: wrap error with more info (#18538)
Signed-off-by: Shlomi Noach <2607934+shlomi-noach@users.noreply.github.com>
2025-08-21 16:22:15 +00:00
Shlomi Noach de17a2da90
OnlineDDL: log changes to `ready_to_complete` (#18557)
Signed-off-by: Shlomi Noach <2607934+shlomi-noach@users.noreply.github.com>
2025-08-21 09:48:10 +02:00
Henry Haiying Cai c336ea3bea
Add support for querylog-emit-on-any-condition-met flag (#18546)
Signed-off-by: Henry Cai <henry.cai@slack-corp.com>
2025-08-21 09:01:58 +02:00
Shlomi Noach 8d90d26df8
Online DDL: set migration's progress to 100% once it's `ready_to_complete` (#18544)
Signed-off-by: Shlomi Noach <2607934+shlomi-noach@users.noreply.github.com>
2025-08-13 16:47:59 +03:00
Harshit Gangal f27b909b3b
Fix foreign key relation with routed tables (#18537)
Signed-off-by: Harshit Gangal <harshit@planetscale.com>
2025-08-11 12:49:18 +00:00
Noble Mittal 7dd3c6b550
CI: Fix `VDiff2` flaky e2e test (#18494)
Signed-off-by: Noble Mittal <noblemittal@outlook.com>
2025-07-31 10:12:00 +02:00
Lee Jones ee051c639d
Add fetchCredentials to operator.yaml (#18460)
Signed-off-by: Lee Jones <leejones@users.noreply.github.com>
2025-07-30 20:14:43 +00:00
dependabot[bot] 44615b179a
Bump github.com/go-viper/mapstructure/v2 from 2.2.1 to 2.3.0 (#18404)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-07-30 10:47:21 +03:00
Henry Haiying Cai b9fcdba600
Add support for querylog-time-threshold duration flag for query logging (#18520)
Signed-off-by: Henry Cai <henry.cai@slack-corp.com>
2025-07-30 09:05:39 +02:00
Max Englander c91f253fe1
go/vt/vtgate: handle dual tables in traffic mirroring (#18458)
Signed-off-by: Max Englander <max@planetscale.com>
2025-07-29 15:51:36 +00:00
Matt Layher 6c5a048081
discovery: clarify use of TabletFilter in NewHealthCheck (#18512)
Signed-off-by: Matt Layher <mdlayher@planetscale.com>
2025-07-29 21:20:28 +05:30
Harshit Gangal b344301474
Fix GetSchema RPC to prevent returning view definitions when EnableViews is disabled (#18513)
Signed-off-by: Harshit Gangal <harshit@planetscale.com>
2025-07-29 12:22:18 +00:00
wukuai aef22581eb
Parser: Support CREATE TABLE ... SELECT Statement (#17983) (#18443)
Signed-off-by: wukuai <wukuai1024@outlook.com>
2025-07-29 09:31:24 +02:00
Dirkjan Bussink 22f9190a34
Set up better dependency checks (#18508)
Signed-off-by: Dirkjan Bussink <d.bussink@gmail.com>
2025-07-28 16:08:47 +02:00
Andrés Taylor ecb1a54a9e
bugfix: Plan group by only on top of derived tables correctly (#18505)
Signed-off-by: Andres Taylor <andres@planetscale.com>
2025-07-28 14:22:33 +02:00
Dirkjan Bussink 24d67c4dc6
Fix regression in v22 around new flag setup (#18507)
Signed-off-by: Dirkjan Bussink <d.bussink@gmail.com>
2025-07-28 10:25:48 +00:00
dependabot[bot] 5b72bc2515
Bump form-data from 4.0.1 to 4.0.4 in /web/vtadmin (#18473)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-07-28 08:29:15 +00:00
dependabot[bot] dc64dfee94
Bump @babel/runtime from 7.26.0 to 7.27.6 in /web/vtadmin (#18467)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-07-28 08:28:57 +00:00
dependabot[bot] 5b516a2bd0
Bump vite from 4.5.9 to 4.5.14 in /web/vtadmin (#18485)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-07-28 10:24:13 +02:00
Dirkjan Bussink 21df269ca9
Fix for simple projection showing no fields (#18489)
Signed-off-by: Dirkjan Bussink <d.bussink@gmail.com>
Signed-off-by: Harshit Gangal <harshit@planetscale.com>
Co-authored-by: Harshit Gangal <harshit@planetscale.com>
2025-07-25 13:11:24 +05:30
Nick Van Wiggeren 4665972c88
log.Info -> log.Infof in tabletserver for reloading ACLs (#18461)
Signed-off-by: Nick Van Wiggeren <nick@planetscale.com>
2025-07-25 09:14:02 +02:00
Andrés Taylor 51fc97722a
Fix scalar aggregation with literals in empty result sets (#18477)
Signed-off-by: Andres Taylor <andres@planetscale.com>
2025-07-25 11:27:00 +05:30
Noble Mittal f9c10b9ef3
Avoid terminating atomic copy workflows on error if they are out of copy phase (#18475)
Signed-off-by: Noble Mittal <noblemittal@outlook.com>
2025-07-24 21:18:32 +02:00
Jeffrey Sica f4a735b27f
Update runners to use cncf oracle vms (#18425)
Signed-off-by: Jeffrey Sica <me@jeefy.dev>
2025-07-24 10:47:24 -06:00
Andrés Taylor f4c531d25a
fix: handle aliases in UNIONs better (#18484)
Signed-off-by: Andres Taylor <andres@planetscale.com>
2025-07-24 15:34:43 +00:00
Rohit Nayak e4a0f79838
VReplication: Fix bug while reading _vt.vreplication record (#18478)
Signed-off-by: Rohit Nayak <rohit@planetscale.com>
2025-07-24 12:14:08 +05:30
Andrés Taylor b9e2ed75ae
Planner: Add comprehensive debug logging for query planner NoRewrite cases (#18476)
Signed-off-by: Andres Taylor <andres@planetscale.com>
2025-07-23 07:48:03 +00:00
Manan Gupta a830cb018e
Update email in Maintainers file (#18472)
Signed-off-by: Manan Gupta <guptamanan100@gmail.com>
2025-07-23 10:14:17 +03:00
Shlomi Noach 1b1f69b4bd
tablet manager's `ExecuteFetchAsDba` does not allow multiple queries (#18183)
Signed-off-by: Shlomi Noach <2607934+shlomi-noach@users.noreply.github.com>
2025-07-22 07:39:55 +00:00
Andrés Taylor 95dd11c26b
bugfix: Fix impossible query for UNION (#18463)
Signed-off-by: Andres Taylor <andres@planetscale.com>
2025-07-21 17:14:43 +05:30
Morgan Tocker 29836cd3f4
fix topo use in local_example (#18357)
Signed-off-by: Morgan Tocker <tocker@gmail.com>
2025-07-21 13:30:03 +02:00
Arshdeep acadf2ee5d
fix: update go-upgrade tool to check patch number (#18252) (#18402)
Signed-off-by: Arshdeep54 <balarsh535@gmail.com>
2025-07-21 08:50:42 +02:00
Deepthi Sigireddi abf1f77d4f
Update MAINTAINERS.md and CODEOWNERS (#18462)
Signed-off-by: Deepthi Sigireddi <388311+deepthi@users.noreply.github.com>
2025-07-18 13:44:34 -07:00
BenjaminLockhart d0ce40c413
Add logging to binlog watcher actions (#18264)
Signed-off-by: Ben Lockhart <blockhart@hubspot.com>
Co-authored-by: Ben Lockhart <blockhart@hubspot.com>
2025-07-16 22:01:58 +05:30
Shlomi Noach 9c5d552df1
`schemadiff`: `RelatedForeignKeyTables()` (#18195)
Signed-off-by: Shlomi Noach <2607934+shlomi-noach@users.noreply.github.com>
2025-07-16 21:59:50 +05:30
Tim Vaillancourt 256ca78391
`vtorc`: allow recoveries to be disabled from startup (#18005)
Signed-off-by: Tim Vaillancourt <tim@timvaillancourt.com>
2025-07-16 21:46:43 +05:30
Arthur Schreiber 9cafbd3b42
Fix `vttablet` not being marked as not serving when MySQL stalls (#17883)
Signed-off-by: Arthur Schreiber <arthurschreiber@github.com>
2025-07-16 21:42:40 +05:30
Renan Rangel a0433f3037
make xtrabackup ShouldDrainForBackup configurable (#18431)
Signed-off-by: Renan Rangel <rrangel@slack-corp.com>
2025-07-16 08:10:44 +03:00
Noble Mittal 69f5a2bd57
Reset in-memory sequence info on vttablet on UpdateSequenceTables request (#18415)
Signed-off-by: Noble Mittal <noblemittal@outlook.com>
2025-07-13 11:47:08 +02:00
Harshit Gangal a3854e5bf6
Fix watcher storm during topo outages (#18434)
Signed-off-by: Harshit Gangal <harshit@planetscale.com>
2025-07-10 17:00:38 +05:30
Shlomi Noach 3baf4bc095
Online DDL: resume vreplication after cut-over/RENAME failure (#18428)
Signed-off-by: Shlomi Noach <2607934+shlomi-noach@users.noreply.github.com>
Co-authored-by: Noble Mittal <62551163+beingnoble03@users.noreply.github.com>
2025-07-10 11:10:07 +03:00
Shlomi Noach 2df46c73ae
Online DDL cutover enhancements (#18423)
Signed-off-by: Shlomi Noach <2607934+shlomi-noach@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-07-10 10:11:40 +03:00
Rohit Nayak d9380c153a
VStreamer: change in filter logic (#18319)
Signed-off-by: Rohit Nayak <rohit@planetscale.com>
2025-07-08 09:37:45 +02:00
Shlomi Noach 4fbab4f077
Online DDL metrics: `OnlineDDLStaleMigrationMinutes` (#18417)
Signed-off-by: Shlomi Noach <2607934+shlomi-noach@users.noreply.github.com>
2025-07-08 08:34:28 +03:00
siddharth16396 826d78d19a
test: Fix race condition in TestStreamRowsHeartbeat (#18414)
Signed-off-by: siddharth16396 <siddharth16396@gmail.com>
2025-07-06 11:31:21 +02:00
Rohit Nayak c1cda2bdfd
VReplication: Improve permission check logic on external tablets on SwitchTraffic (#18348)
Signed-off-by: Rohit Nayak <rohit@planetscale.com>
2025-07-05 11:47:22 +02:00
Noble Mittal 683f74060f
Perform post copy actions in atomic copy (#18411)
Signed-off-by: Noble Mittal <noblemittal@outlook.com>
2025-07-04 06:16:12 +02:00
Sergey Stankevich 5e314842d7
Update `operator.yaml` (#18364)
Signed-off-by: Sergey Stankevich <stankevich@users.noreply.github.com>
2025-07-02 09:31:13 -07:00
siddharth16396 5aefdb004f
Feature(onlineddl): Add shard-specific completion to online ddl (#18331)
Signed-off-by: siddharth16396 <siddharth16396@gmail.com>
Signed-off-by: Shlomi Noach <2607934+shlomi-noach@users.noreply.github.com>
Co-authored-by: Shlomi Noach <2607934+shlomi-noach@users.noreply.github.com>
2025-07-01 21:51:08 +02:00
David Piegza efae039f06
Set parsed comments in operator for subqueries (#18369)
Signed-off-by: David Piegza <davidpiegza@github.com>
2025-07-01 13:03:23 +02:00
Tim Vaillancourt bd9e5d0f8a
`vtorc`: move shard primary timestamp to time type (#18401)
Signed-off-by: Tim Vaillancourt <tim@timvaillancourt.com>
2025-06-30 23:20:39 +02:00
Tim Vaillancourt d42936810a
`vtorc`: rename `isClusterWideRecovery` -> `isShardWideRecovery` (#18351)
Signed-off-by: Tim Vaillancourt <tim@timvaillancourt.com>
2025-06-30 22:33:32 +02:00
Tim Vaillancourt 887e4c4ff0
`vtorc`: remove dupe keyspace/shard in replication analysis (#18395)
Signed-off-by: Tim Vaillancourt <tim@timvaillancourt.com>
2025-06-30 13:29:39 -07:00
Matt Lord 33da09818c
Topo: Add NamedLock test for zk2 and consul and get them passing (#18407)
Signed-off-by: Matt Lord <mattalord@gmail.com>
2025-06-30 22:05:50 +02:00
siddharth16396 c21afc0219
Handle MySQL 9.x as New Flavor in getFlavor() (#18399)
Signed-off-by: siddharth16396 <siddharth16396@gmail.com>
2025-06-30 16:25:33 +02:00
Tom Thornton 42493fdef1
Add support for sending grpc server backend metrics via ORCA (#18282)
Signed-off-by: twthorn <thomaswilliamthornton@gmail.com>
2025-06-30 15:20:58 +02:00
Andrés Taylor d0034653fe
asthelpergen: add design documentation (#18403)
Signed-off-by: Andres Taylor <andres@planetscale.com>
Co-authored-by: Claude <noreply@anthropic.com>
2025-06-30 14:12:23 +05:30
Tim Vaillancourt aa68b96c95
`vtorc`: add keyspace/shard labels to recoveries stats (#18304)
Signed-off-by: Tim Vaillancourt <tim@timvaillancourt.com>
2025-06-27 11:51:34 +05:30
Tim Vaillancourt fae2b51728
`vtorc`: cleanup `database_instance` location fields (#18339)
Signed-off-by: Tim Vaillancourt <tim@timvaillancourt.com>
2025-06-25 12:41:28 -07:00
Andrés Taylor 28ceeeab7b
avoid derived tables for UNION when possible (#18393)
Signed-off-by: Andres Taylor <andres@planetscale.com>
2025-06-24 14:00:13 +02:00
siddharth16396 460fffe685
[Bugfix] Broken Heartbeat system in Row Streamer (#18390)
Signed-off-by: siddharth16396 <siddharth16396@gmail.com>
2025-06-24 00:04:04 +02:00
Frances Thai d032bfcba0
Update MAINTAINERS.md (#18394)
Signed-off-by: Frances Thai <31225471+notfelineit@users.noreply.github.com>
2025-06-23 08:40:56 -07:00
Deepthi Sigireddi 5078ca8c7e
move vmg to emeritus (#18388)
Signed-off-by: deepthi <deepthi@planetscale.com>
2025-06-23 08:25:24 -07:00
Graham Campbell c18dcbd2e1
Make sure to check if the server is closed in etcd2topo (#18352)
Signed-off-by: Graham Campbell <hello@gjcampbell.co.uk>
2025-06-19 20:25:42 +05:30
Manan Gupta 98c3f03d95
[main] Copy `v20.0.8` release notes (#18383)
Signed-off-by: Manan Gupta <manan@planetscale.com>
2025-06-18 13:13:58 +02:00
Manan Gupta 6f2dd86f24
[main] Copy `v21.0.5` release notes (#18381)
Signed-off-by: Manan Gupta <manan@planetscale.com>
2025-06-18 16:42:13 +05:30
Manan Gupta fc54091d28
[main] Copy `v22.0.1` release notes (#18379)
Signed-off-by: Manan Gupta <manan@planetscale.com>
2025-06-18 14:14:05 +05:30
vitess-go-upgrade-bot 8d2c08c312
[main] Upgrade the Golang version to `go1.24.4` (#18327)
Signed-off-by: GitHub <noreply@github.com>
Signed-off-by: Manan Gupta <manan@planetscale.com>
Co-authored-by: frouioui <frouioui@users.noreply.github.com>
Co-authored-by: Manan Gupta <manan@planetscale.com>
2025-06-17 15:21:31 +05:30
Manan Gupta ad3574dd8f
Fix: Deadlock in `Close` and `write` in semi-sync monitor. (#18359)
Signed-off-by: Manan Gupta <manan@planetscale.com>
2025-06-17 10:54:27 +05:30
Andrés Taylor f2b12a0485
fix: keep LIMIT/OFFSET even when merging UNION queries (#18361)
Signed-off-by: Andres Taylor <andres@planetscale.com>
2025-06-16 10:44:27 +02:00
Renan Rangel 8bd3fbe708
fix version issue when using --mysql-shell-speedup-restore=true (#18310) 2025-06-13 19:46:10 +02:00
Harshit Gangal 42317c0ecf
fix: handle dml query for None opcode (#18326)
Signed-off-by: Harshit Gangal <harshit@planetscale.com>
2025-06-09 18:30:48 -04:00
Manan Gupta bf253ebc5c
Fix test flakines in semi-sync monitor tests (#18342)
Signed-off-by: Manan Gupta <manan@planetscale.com>
2025-06-09 22:05:59 +05:30
Rohit Nayak 2520f7f67b
Split workflow with flaky vdiff2 e2e test. Skip flaky Migrate test. (#18300)
Signed-off-by: Rohit Nayak <rohit@planetscale.com>
2025-06-06 11:01:08 +02:00
Tim Vaillancourt 108e10d436
Check `consultopo` loaded `>=1` credentials w/`-consul_auth_static_file` (#18152)
Signed-off-by: Tim Vaillancourt <tim@timvaillancourt.com>
2025-06-06 01:47:09 +02:00
Harshit Gangal 26700d5a11
Allow multi-shard read-only transactions in SINGLE transaction mode (#18173)
Signed-off-by: Harshit Gangal <harshit@planetscale.com>
2025-06-05 09:03:33 -07:00
Shlomi Noach 5ebc32f4bc
Throttler: keep watching topo even on error (#18223)
Signed-off-by: Shlomi Noach <2607934+shlomi-noach@users.noreply.github.com>
2025-06-04 13:04:29 -04:00
Harshit Gangal b11127027b
flaky test fix TestTrackerNoLock and TestCreateLookupVindexMultipleCreate (#18317)
Signed-off-by: Harshit Gangal <harshit@planetscale.com>
2025-06-03 10:23:23 -04:00
Rohit Nayak 8d659aaf3f
Atomic Copy: Handle error that was ignored while streaming tables and log it (#18313)
Signed-off-by: Rohit Nayak <rohit@planetscale.com>
2025-06-02 16:31:25 -04:00
Tom Thornton aea03ede2d
Add a flag to vstream to exclude keyspace from table name (#18274)
Signed-off-by: twthorn <thomaswilliamthornton@gmail.com>
2025-06-02 13:13:09 -07:00
Banty Kumar 91acd729aa
Vtorc: Recheck primary health before attempting a failure mitigation (#18234)
Signed-off-by: Banty Kumar <bantyp92@gmail.com>
Signed-off-by: Manan Gupta <manan@planetscale.com>
Co-authored-by: Manan Gupta <manan@planetscale.com>
2025-06-02 11:59:56 -07:00
Mounica Sruthi dedea93b7f
Refactor `vtcombo` flags - Part 3 (#18298)
Signed-off-by: mounicasruthi <mounicasruthi30@gmail.com>
2025-05-29 21:10:04 -07:00
Mounica Sruthi cec7812fc5
Refactor `vtcombo` flags - Part 2 (#18297)
Signed-off-by: mounicasruthi <mounicasruthi30@gmail.com>
2025-05-28 15:39:35 -07:00
Mounica Sruthi fc93d4f6b9
Refactor `vtcombo` flags - Part 1 (#18291)
Signed-off-by: mounicasruthi <mounicasruthi30@gmail.com>
2025-05-28 13:29:46 -07:00
Mounica Sruthi 0344d8e6ae
Refactor `vtctld` flags to follow standard naming convention (#18294)
Signed-off-by: mounicasruthi <mounicasruthi30@gmail.com>
2025-05-27 13:42:06 -07:00
Mounica Sruthi 330cf3aadd
Flags Refactor - Part 5 (#18296)
Signed-off-by: mounicasruthi <mounicasruthi30@gmail.com>
2025-05-27 13:41:12 -07:00
Arthur Schreiber 5290b86d1b
Improve `UNION` query merging (#18289)
Signed-off-by: Arthur Schreiber <arthurschreiber@github.com>
2025-05-26 12:17:04 +02:00
Manan Gupta 3aef1b4bcd
Fix flaky test by being more permissive with the error message in `TestOverallQueryTimeout` (#18299)
Signed-off-by: Manan Gupta <manan@planetscale.com>
2025-05-26 10:00:50 +02:00
Tom Thornton f8d08a33ee
Fix flakey vstream metrics test (#18287)
Signed-off-by: twthorn <thomaswilliamthornton@gmail.com>
2025-05-25 19:43:49 +02:00
Harshit Gangal 11409238b4
Add TransactionsProcessed metric to track transactions at VTGate (#18171)
Signed-off-by: Harshit Gangal <harshit@planetscale.com>
2025-05-22 17:40:52 -04:00
Manan Gupta b42c0df1ed
Fix `SET` and `START TRANSACTION` in create procedure statements (#18279)
Signed-off-by: Manan Gupta <manan@planetscale.com>
2025-05-22 17:40:09 -04:00
Manan Gupta fcfa0c8c42
Fix deadlock in semi-sync monitor (#18276)
Signed-off-by: Manan Gupta <manan@planetscale.com>
2025-05-22 22:05:07 +05:30
vitess-go-upgrade-bot 9f6b87446e
Upgrade the Golang Dependencies (#18266)
Signed-off-by: GitHub <noreply@github.com>
Signed-off-by: Andres Taylor <andres@planetscale.com>
Co-authored-by: frouioui <frouioui@users.noreply.github.com>
Co-authored-by: Andres Taylor <andres@planetscale.com>
2025-05-22 14:03:11 +02:00
Mounica Sruthi 86652300fe
Merge flags-refactor branch to main (#18280)
Signed-off-by: mounicasruthi <mounicasruthi30@gmail.com>
Signed-off-by: Mounica Sruthi <78213881+mounicasruthi@users.noreply.github.com>
Signed-off-by: Rohit Nayak <rohit@planetscale.com>
Co-authored-by: Deepthi Sigireddi <deepthi.sigireddi@gmail.com>
Co-authored-by: Rohit Nayak <rohit@planetscale.com>
2025-05-22 11:51:11 +02:00
Harshit Gangal 55564ca78a
json array insert test (#18284)
Signed-off-by: Harshit Gangal <harshit@planetscale.com>
2025-05-21 16:29:41 -04:00
vitess-go-upgrade-bot 0e0f4da2fe
[main] Upgrade the Golang version to `go1.24.3` (#18241)
Signed-off-by: GitHub <noreply@github.com>
Signed-off-by: Andres Taylor <andres@planetscale.com>
Co-authored-by: frouioui <frouioui@users.noreply.github.com>
Co-authored-by: Andres Taylor <andres@planetscale.com>
2025-05-20 12:14:00 +02:00
Noble Mittal c3daef30d4
VStream: Add flag to support copying only specific tables (#18184)
Signed-off-by: Noble Mittal <noblemittal@outlook.com>
2025-05-18 15:33:05 +02:00
Andrés Taylor d849b9fc1d
Fix subquery merging regression introduced in #11379 (#18260) 2025-05-09 17:57:27 +02:00
Dirkjan Bussink 15c4e28d0e
Fix evalengine crashes on unexpected types (#18254) 2025-05-09 10:05:51 +02:00
vitess-go-upgrade-bot 516b85487d
Upgrade the Golang Dependencies (#18082)
Signed-off-by: GitHub <noreply@github.com>
Signed-off-by: deepthi <deepthi@planetscale.com>
Co-authored-by: frouioui <frouioui@users.noreply.github.com>
Co-authored-by: deepthi <deepthi@planetscale.com>
2025-05-07 09:40:33 -07:00
Harshit Gangal e9a6589bea
test: TestQueryTimeoutWithShardTargeting fix flaky test (#18242)
Signed-off-by: Harshit Gangal <harshit@planetscale.com>
2025-05-07 09:35:45 -07:00
Andrés Taylor d0176be34a
make sure to give MEMBER OF the correct precedence (#18237)
Signed-off-by: Andres Taylor <andres@planetscale.com>
2025-05-07 08:33:04 +02:00
Noble Mittal 421aca015d
Recover panic in vcopier due to closed channel (#18228)
Signed-off-by: Noble Mittal <noblemittal@outlook.com>
2025-05-05 18:56:35 +02:00
Max Englander 6c597f6f57
go/vt/discovery: configurable logger (#17846)
Signed-off-by: Max Englander <max@planetscale.com>
2025-05-05 14:43:08 +02:00
Arthur Schreiber b3d80b27c7
Properly handle grpc dial errors in the throttler metric aggregation (#18073)
Signed-off-by: Arthur Schreiber <arthurschreiber@github.com>
Signed-off-by: Mohamed Hamza <mhamza15@github.com>
Co-authored-by: Mohamed Hamza <mhamza15@github.com>
2025-04-30 11:54:11 -07:00
vitess-bot d36d18300f
[main] Copy `v22.0.0` release notes (#18224)
Signed-off-by: Florent Poinsard <florent.poinsard@outlook.fr>
Co-authored-by: Florent Poinsard <florent.poinsard@outlook.fr>
2025-04-29 07:19:15 -06:00
Shlomi Noach 1bbbcda029
Online DDL: support `alter vitess_migration ... postpone complete` syntax (#18118)
Signed-off-by: Shlomi Noach <2607934+shlomi-noach@users.noreply.github.com>
Co-authored-by: Deepthi Sigireddi <deepthi.sigireddi@gmail.com>
2025-04-29 08:56:13 +03:00
Shlomi Noach 03a9bfe104
Query buffering, terminating blocking transactions for `INSTANT` DDL and other "special plans" (#17945)
Signed-off-by: Shlomi Noach <2607934+shlomi-noach@users.noreply.github.com>
2025-04-28 21:09:41 +03:00
Harshit Gangal 5601849931
fix: Preserve multi-column TupleExpr in tuple simplifier (#18216)
Signed-off-by: Harshit Gangal <harshit@planetscale.com>
2025-04-28 22:17:45 +05:30
Noble Mittal 68242a621b
LookupVindex: Multiple lookup tables support for `LookupVindexCreate` (#17566)
Signed-off-by: Noble Mittal <noblemittal@outlook.com>
2025-04-24 20:38:46 +02:00
Noble Mittal f0e9a2df17
VReplication: Add reference-tables to existing materialize workflow (#17804)
Signed-off-by: Noble Mittal <noblemittal@outlook.com>
2025-04-24 17:17:09 +02:00
vitess-bot 8dbe553c4e
[main] Copy `v22.0.0-RC3` release notes (#18205)
Signed-off-by: Florent Poinsard <florent.poinsard@outlook.fr>
Co-authored-by: Florent Poinsard <florent.poinsard@outlook.fr>
2025-04-24 09:00:06 -06:00
Dirkjan Bussink 4399cbc02c
Change test compatibility (#18201)
Signed-off-by: Dirkjan Bussink <d.bussink@gmail.com>
2025-04-24 07:03:34 -06:00
Noble Mittal 3a33fddddc
Add TMC RPCs for updating sequences for `switchwrites` (#18172)
Signed-off-by: Noble Mittal <noblemittal@outlook.com>
2025-04-24 13:43:17 +02:00
Deepthi Sigireddi e6aaec0ca7
copy edit release notes to prepare for v22 GA (#18186)
Signed-off-by: deepthi <deepthi@planetscale.com>
Signed-off-by: Florent Poinsard <florent.poinsard@outlook.fr>
Co-authored-by: Florent Poinsard <florent.poinsard@outlook.fr>
2025-04-22 15:41:18 -06:00
dependabot[bot] 673e0d3e2d
Bump golang.org/x/net from 0.37.0 to 0.38.0 (#18177)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-04-22 10:53:58 -06:00
Kyle Johnson a8c0d32db1
Use transaction_isolation vs tx_isolation (#17845)
Signed-off-by: Kyle Johnson <kylej@hubspot.com>
2025-04-18 10:45:53 +05:30
vitess-bot 9a8dbe035d
[main] Copy `v22.0.0-RC2` release notes (#18169)
Signed-off-by: Florent Poinsard <florent.poinsard@outlook.fr>
Co-authored-by: Florent Poinsard <florent.poinsard@outlook.fr>
2025-04-11 15:59:48 -05:00
Harshit Gangal 9e734f8cbe
Remove deprecated methods and metrics (#18149)
Signed-off-by: Harshit Gangal <harshit@planetscale.com>
Signed-off-by: Andres Taylor <andres@planetscale.com>
Co-authored-by: Andres Taylor <andres@planetscale.com>
2025-04-11 20:01:05 +05:30
Andrés Taylor d2a4a4b850
bugfix: INSERT IGNORE not inserting rows (#18151)
Signed-off-by: Andres Taylor <andres@planetscale.com>
2025-04-11 10:41:20 +02:00
Manan Gupta be667369d7
Fix split statement for create procedure to account for definers (#18142)
Signed-off-by: Manan Gupta <manan@planetscale.com>
2025-04-10 14:03:56 -06:00
Manan Gupta 0df4e52cff
Add summary note change for unsharded `create procedure` support (#18148)
Signed-off-by: Manan Gupta <manan@planetscale.com>
2025-04-10 14:03:42 -06:00
Manan Gupta 6cc722347d
Fix: Add tablet type to the plan key (#18155)
Signed-off-by: Manan Gupta <manan@planetscale.com>
2025-04-10 14:03:30 -06:00
Harshit Gangal 2c92e85546
feat: support prepare even on plan failure to generate optimized plan on execution with values (#18126)
Signed-off-by: Harshit Gangal <harshit@planetscale.com>
2025-04-10 11:18:04 +05:30
Florent Poinsard b9fbe526fe
[main] Copy `v20.0.7` release notes (#18146)
Signed-off-by: Florent Poinsard <florent.poinsard@outlook.fr>
2025-04-09 08:33:16 -06:00
Florent Poinsard 3b4d89f891
[main] Copy `v21.0.4` release notes (#18144)
Signed-off-by: Florent Poinsard <florent.poinsard@outlook.fr>
2025-04-09 08:33:02 -06:00
Noble Mittal 0bf2eb1081
VStream API: add additional log lines for debugging frequent eof errors during catchup (#18124)
Signed-off-by: Noble Mittal <noblemittal@outlook.com>
2025-04-09 13:41:05 +02:00
Manan Gupta 567c0ddb70
Fix parsing to allow `VALUE` in insert and replace statements (#18116)
Signed-off-by: Manan Gupta <manan@planetscale.com>
2025-04-09 10:52:00 +03:00
Manan Gupta f36c87283c
Add a new implementation for handling multiple queries without needing to split them (#18059)
Signed-off-by: Manan Gupta <manan@planetscale.com>
2025-04-09 10:42:58 +03:00
Florent Poinsard 282022b6b5
[main] Copy `v22.0.0-RC1` release notes (#18133)
Signed-off-by: Florent Poinsard <florent.poinsard@outlook.fr>
2025-04-08 14:37:33 -06:00
Dirkjan Bussink cf5f9136c3
Switch to using the default caching sha2 password (#18010)
Signed-off-by: Dirkjan Bussink <d.bussink@gmail.com>
2025-04-07 19:20:17 +05:30
Noble Mittal 6b88ff2a1e
VStream API: Reset stopPos in catchup (#18119)
Signed-off-by: Noble Mittal <noblemittal@outlook.com>
2025-04-06 20:48:51 +03:00
Manan Gupta 8ee1f29e37
Fix deadlock in `ValidateKeyspace` (#18114)
Signed-off-by: Manan Gupta <manan@planetscale.com>
2025-04-04 19:58:58 +03:00
Manan Gupta 9e66c21910
Add code to clear orphaned files for a deleted keyspace (#18098)
Signed-off-by: Manan Gupta <manan@planetscale.com>
2025-04-04 17:41:06 +03:00
Manan Gupta 4eb164e3dd
Fix golang-ci lint file to allow a version without preceding `v` (#18110)
Signed-off-by: Manan Gupta <manan@planetscale.com>
2025-04-03 16:15:08 -06:00
Andrés Taylor 3aa689a819
test: start mysqld on a random directory (#18096)
Signed-off-by: Andres Taylor <andres@planetscale.com>
2025-04-03 15:17:17 +02:00
Andrés Taylor c13f7733b8
bugfix: allow window functions when possible to push down (#18103)
Signed-off-by: Andres Taylor <andres@planetscale.com>
2025-04-03 14:59:01 +02:00
Harshit Gangal ffac142428
Add Deferred Optimization Execution Metric (#18067)
Signed-off-by: Harshit Gangal <harshit@planetscale.com>
2025-04-03 16:26:22 +05:30
vitess-bot a5ff0175db
[main] Upgrade the Golang version to `go1.24.2` (#18093)
Signed-off-by: GitHub <noreply@github.com>
Signed-off-by: Florent Poinsard <florent.poinsard@outlook.fr>
Co-authored-by: frouioui <frouioui@users.noreply.github.com>
Co-authored-by: Florent Poinsard <florent.poinsard@outlook.fr>
2025-04-02 23:33:10 -06:00
Harshit Gangal f37393ef0c
[vttablet] Emit Constant “userLabelDisabled” When skip-user-metrics is Enabled (#18085)
Signed-off-by: Harshit Gangal <harshit@planetscale.com>
Signed-off-by: Florent Poinsard <florent.poinsard@outlook.fr>
Co-authored-by: Florent Poinsard <florent.poinsard@outlook.fr>
2025-04-03 10:42:19 +05:30
Florent Poinsard 7736d86a1f
Add release-22.0 to the golang upgrade workflow (#18089)
Signed-off-by: Florent Poinsard <florent.poinsard@outlook.fr>
2025-04-02 07:26:10 -06:00
Florent Poinsard 9c59a5d246
Bump to `v23.0.0-SNAPSHOT` after the `v22.0.0-RC1` release (#18088)
Signed-off-by: Florent Poinsard <florent.poinsard@outlook.fr>
2025-04-01 09:58:38 -06:00
Manan Gupta eca792265a
Unsharded support for `CREATE PROCEDURE` and `DROP PROCEDURE` statement (#17946)
Signed-off-by: Manan Gupta <manan@planetscale.com>
2025-04-01 15:32:23 +03:00
Tim Vaillancourt 6658d1ce4a
`vtorc`: add stats to shard locks and instance discovery (#17977)
Signed-off-by: Tim Vaillancourt <tim@timvaillancourt.com>
2025-04-01 16:24:17 +05:30
Harshit Gangal f8810bb131
fix: App and Dba Pool metrics (#18048)
Signed-off-by: Harshit Gangal <harshit@planetscale.com>
2025-04-01 12:29:59 +05:30
Arthur Schreiber b0352bd57c
Fix `Reshard Cancel` behavior (#18020)
Signed-off-by: Arthur Schreiber <arthurschreiber@github.com>
2025-03-31 21:45:19 +01:00
Harshit Gangal 2d0306f37b
Fix: Ensure Consistent Lookup Vindex Handles Duplicate Rows in Single Query (#17974)
Signed-off-by: Harshit Gangal <harshit@planetscale.com>
2025-03-31 13:46:43 -06:00
Manan Gupta 704bbb9cf2
Fix `SHOW VITESS_SHARDS` bug that led to incomplete output (#18069)
Signed-off-by: Manan Gupta <manan@planetscale.com>
2025-03-31 19:27:56 +03:00
Florent Poinsard 9f9d6ceb51
Filter out tablets with unknown replication lag when electing a new primary (#18004)
Signed-off-by: Florent Poinsard <florent.poinsard@outlook.fr>
2025-03-31 10:10:19 -06:00
Rohit Nayak a015953c75
VDiff: Fix logic for reconciling extra rows (#17950)
Signed-off-by: Rohit Nayak <rohit@planetscale.com>
2025-03-31 11:06:35 +02:00
Harshit Gangal 84a48703ff
Skip Field Query for Views During Schema Refresh to Improve Reload Time (#18066)
Signed-off-by: Harshit Gangal <harshit@planetscale.com>
2025-03-31 13:38:01 +05:30
Shlomi Noach a51badcdde
`schemadiff`: normalize `TEXT(length)` and `BLOB(length)` columns (#18030)
Signed-off-by: Shlomi Noach <2607934+shlomi-noach@users.noreply.github.com>
2025-03-28 22:40:50 +03:00
Niladri Adhikary 1de485518f
VTAdmin: Show Hostname Alongside Tablet ID on tablet selection drop-downs (#17982)
Signed-off-by: “niladrix719” <niladrix719@gmail.com>
2025-03-28 10:44:53 -07:00
Florent Poinsard c7f3bdef02
Add deployment strategy to vtgate in `operator.yaml` (#18063)
Signed-off-by: Florent Poinsard <florent.poinsard@outlook.fr>
2025-03-28 09:04:42 -06:00
Dirkjan Bussink cac80fa413
Update to golangci-lint 2 (#18050)
Signed-off-by: Dirkjan Bussink <d.bussink@gmail.com>
2025-03-28 12:16:07 +01:00
Harshit Gangal adee0bc569
Implement Deferred Optimization for Prepared Statements (#17992)
Signed-off-by: Harshit Gangal <harshit@planetscale.com>
Signed-off-by: Andres Taylor <andres@planetscale.com>
Co-authored-by: Andres Taylor <andres@planetscale.com>
2025-03-28 07:06:24 +01:00
Rohit Nayak e84ceb408c
VReplication Workflows: make defer-secondary-keys true by default (#18006)
Signed-off-by: Rohit Nayak <rohit@planetscale.com>
2025-03-27 16:42:59 +01:00
Rohit Nayak 92b1e76ba0
ValidateKeyspace: Add check for no shards (#18055)
Signed-off-by: Rohit Nayak <rohit@planetscale.com>
2025-03-27 16:42:31 +01:00
Andrés Taylor a294d7fb9b
Make it possible to use paths with Visitable nodes (#18053)
Signed-off-by: Andres Taylor <andres@planetscale.com>
2025-03-27 20:51:17 +05:30
Shlomi Noach 9f40b39009
`engine.Reload()`: fix file size aggregation for partitioned tables (#18058)
Signed-off-by: Shlomi Noach <2607934+shlomi-noach@users.noreply.github.com>
2025-03-27 19:56:59 +05:30
Florent Poinsard f1fbe49e39
Reorganize the `v22.0.0` release notes (#18052)
Signed-off-by: Florent Poinsard <florent.poinsard@outlook.fr>
2025-03-27 11:27:15 +05:30
Tim Vaillancourt 9d7d084242
Add support for `GOPRIVATE` in CI templates (#17806)
Signed-off-by: Tim Vaillancourt <tim@timvaillancourt.com>
2025-03-26 10:41:48 -06:00
Andrés Taylor 6027300263
Planner: Allow Arbitrary Expression Pushdown in UNION Queries (#18000)
Signed-off-by: Andres Taylor <andres@planetscale.com>
Signed-off-by: Florent Poinsard <florent.poinsard@outlook.fr>
Co-authored-by: Florent Poinsard <florent.poinsard@outlook.fr>
2025-03-26 15:23:10 +01:00
Andrés Taylor 18b1fba064
Bugfix: Missing data when running vtgate outer joins (#18036)
Signed-off-by: Andres Taylor <andres@planetscale.com>
2025-03-26 12:52:44 +01:00
vitess-bot 0f35eb6193
Upgrade the Golang Dependencies (#17803)
Signed-off-by: GitHub <noreply@github.com>
Signed-off-by: Florent Poinsard <florent.poinsard@outlook.fr>
Signed-off-by: Andres Taylor <andres@planetscale.com>
Co-authored-by: frouioui <frouioui@users.noreply.github.com>
Co-authored-by: Florent Poinsard <florent.poinsard@outlook.fr>
Co-authored-by: Andres Taylor <andres@planetscale.com>
2025-03-25 16:00:52 -06:00
Harshit Gangal 0a7efbf595
Test: Increase query timeout to fix flaky test 'TestQueryTimeoutWithShardTargeting' (#18016)
Signed-off-by: Harshit Gangal <harshit@planetscale.com>
2025-03-25 13:10:53 -06:00
Manan Gupta 4e897b6d7c
Take into account the tablet type not being set while checking for primary tablet mismatch recovery (#18032)
Signed-off-by: Manan Gupta <manan@planetscale.com>
2025-03-25 16:43:52 +02:00
Florent Poinsard f2f27915ea
Set proper join vars type for the RHS field query in OLAP (#18028)
Signed-off-by: Florent Poinsard <florent.poinsard@outlook.fr>
Signed-off-by: Andres Taylor <andres@planetscale.com>
Co-authored-by: Andres Taylor <andres@planetscale.com>
2025-03-25 14:16:07 +01:00
Dirkjan Bussink 8f483787a5
Add forward compatibility for caching_sha2_password and replication (#18033) 2025-03-25 12:57:15 +01:00
Manan Gupta f9643b629c
Use release branches for upgrade downgrade tests (#18029)
Signed-off-by: Manan Gupta <manan@planetscale.com>
2025-03-25 13:47:08 +02:00
Gene Parmesan Thomas 7edf257ebe
Propagate CallerID through vtctld OnlineDDL RPCs (#17935)
Signed-off-by: Gene Parmesan Thomas <201852096+gopoto@users.noreply.github.com>
Signed-off-by: gopoto <201852096+gopoto@users.noreply.github.com>
2025-03-25 10:26:03 +02:00
wukuai 8937eb3c67
Fix TEXT and BLOB column types not supporting length parameter in CREATE TABLE (#17973)
Signed-off-by: wukuai <wukuai1024@outlook.com>
2025-03-25 07:56:17 +01:00
huochexizhan 164ec9e264
fix: fix incorrect nil return value (#17881)
Signed-off-by: huochexizhan <huochexizhan@outlook.com>
2025-03-24 23:11:55 -06:00
Florent Poinsard c42d13d9a2
Fix tablet selection in `vtctld BackupShard` (#18002)
Signed-off-by: Florent Poinsard <florent.poinsard@outlook.fr>
2025-03-24 16:45:41 -06:00
Kyle Briar 6e5203bd67
Remove direct usage of archived github.com/pkg/errors (#17933) (#17934)
Signed-off-by: kyle.butz <kyle.butz@sezzle.com>
Signed-off-by: kbutz <kyle.butz@gmail.com>
Co-authored-by: kyle.butz <kyle.butz@sezzle.com>
2025-03-24 10:41:14 -06:00
Dirkjan Bussink da61396c83
Revert using the oracle runners (#18015)
Signed-off-by: Dirkjan Bussink <d.bussink@gmail.com>
2025-03-24 16:15:59 +01:00
Manan Gupta 653cde0208
Fix flakiness in checking for drained tablets in Vtorc test (#18008)
Signed-off-by: Manan Gupta <manan@planetscale.com>
2025-03-24 08:10:02 +02:00
Andrés Taylor cddf51722a
Only sort when receiving results from multiple shards (#17998)
Signed-off-by: Andres Taylor <andres@planetscale.com>
2025-03-22 13:00:04 +05:30
Manan Gupta a54bb82030
Add VTOrc recovery for mismatch in tablet type (#17870)
Signed-off-by: Manan Gupta <manan@planetscale.com>
2025-03-21 14:36:53 +02:00
Max Englander 470671c6ba
go/vt/vtgate: take routing rules into account for traffic mirroring (#17953)
Signed-off-by: Max Englander <max@planetscale.com>
2025-03-20 11:55:10 -06:00
Jeffrey Sica 5cb0f590c2
re-replace most runners with the cncf-hosted runners (#17993)
Signed-off-by: Jeffrey Sica <me@jeefy.dev>
2025-03-20 18:43:08 +01:00
Rafer Hazen ebb2b47be1
Add index and table metrics to vttablet (#17570)
Signed-off-by: Rafer Hazen <rafer@ralua.com>
Signed-off-by: Florent Poinsard <florent.poinsard@outlook.fr>
Co-authored-by: Florent Poinsard <florent.poinsard@outlook.fr>
2025-03-20 20:48:05 +05:30
Arthur Schreiber 5b15223579
Pass through predicates when trying to merge apply join. (#17955)
Signed-off-by: Arthur Schreiber <arthurschreiber@github.com>
2025-03-20 10:29:55 +01:00
Gene Parmesan Thomas 0e54bd6bae
Fix DISTINCT on ENUM/SET columns by making enums/set hashable (#17936)
Signed-off-by: Gene Parmesan Thomas <201852096+gopoto@users.noreply.github.com>
2025-03-20 10:53:17 +02:00
Gene Parmesan Thomas ecedf4db9a
vtadmin: allow cluster IDs with underscores by sanitizing resolver scheme (#17962)
Signed-off-by: Gene Parmesan Thomas <201852096+gopoto@users.noreply.github.com>
Signed-off-by: gopoto <201852096+gopoto@users.noreply.github.com>
2025-03-20 09:23:22 +01:00
Harshit Gangal b0976c21e8
vtadmin: display transaction participant list as comma separated (#17986)
Signed-off-by: Harshit Gangal <harshit@planetscale.com>
2025-03-19 13:31:55 -06:00
Jeffrey Sica c6ddadbdb0
Migrate all but one of the other jobs to use cncf-hosted gha runners (#17943)
Signed-off-by: Jeffrey Sica <me@jeefy.dev>
2025-03-19 17:22:58 +01:00
Florent Poinsard 56806bd4fc
Allow the use of db credentials when verifying unmanaged tablets config (#17984)
Signed-off-by: Florent Poinsard <florent.poinsard@outlook.fr>
2025-03-19 10:02:00 +02:00
Florent Poinsard dc63684eef
Wrap fatal TX errors in a new `vterrors` code (#17669)
Signed-off-by: Florent Poinsard <florent.poinsard@outlook.fr>
2025-03-18 14:23:46 -06:00
Florent Poinsard 85b8e595cd
Remove deprecated items before `v22.0.0` (#17894)
Signed-off-by: Florent Poinsard <florent.poinsard@outlook.fr>
2025-03-18 12:19:22 -06:00
Andrés Taylor 7e24b085be
Refactor transitive closure handling (#17978)
Signed-off-by: Andres Taylor <andres@planetscale.com>
Signed-off-by: Florent Poinsard <florent.poinsard@outlook.fr>
Co-authored-by: Florent Poinsard <florent.poinsard@outlook.fr>
2025-03-18 09:19:06 -06:00
Harshit Gangal 4a0513fc3a
Ensure DML Queries with Large Input Rows Succeed When Passthrough DML is Enabled (#17949)
Signed-off-by: Harshit Gangal <harshit@planetscale.com>
2025-03-18 18:12:47 +05:30
Tim Vaillancourt dd5d4c85f9
`vtorc`: add stats for discovery workers (#17937)
Signed-off-by: Tim Vaillancourt <tim@timvaillancourt.com>
2025-03-17 16:10:20 +01:00
Tim Vaillancourt 5aeb68e85a
`vtorc`: add tablets watched stats (#17911)
Signed-off-by: Tim Vaillancourt <tim@timvaillancourt.com>
2025-03-17 16:09:57 +01:00
Tim Vaillancourt 987480d0a6
`vtorc`: skip unnecessary backend read in `logic.LockShard(...)` (#17900)
Signed-off-by: Tim Vaillancourt <tim@timvaillancourt.com>
2025-03-17 16:09:23 +01:00
Noble Mittal c307c442f0
Fix `sync` import error in keyspace_shard_discovery.go (#17972)
Signed-off-by: Noble Mittal <noblemittal@outlook.com>
2025-03-17 10:55:45 +01:00
Tim Vaillancourt 8b925babab
`vtorc`: use `errgroup` in keyspace/shard discovery (#17857)
Signed-off-by: Tim Vaillancourt <tim@timvaillancourt.com>
2025-03-16 17:40:16 +02:00
Rohit Nayak 31f3b0a1b0
Schema Engine Reload: check for file and allocated size columns to be available (#17967)
Signed-off-by: Rohit Nayak <rohit@planetscale.com>
2025-03-15 09:26:29 +01:00
Rohit Nayak 3f638eb55e
VDiff: Fix bug with handling tables with no pks but only a unique key. (#17968)
Signed-off-by: Rohit Nayak <rohit@planetscale.com>
2025-03-15 09:25:37 +01:00
Florent Poinsard e339eb5d41
Support multiple namespaces with the vitess-operator (#17928)
Signed-off-by: Florent Poinsard <florent.poinsard@outlook.fr>
2025-03-14 14:43:07 -06:00
Matt Lord eef0e475ae
Update email address for mattlord (#17961)
Signed-off-by: Matt Lord <mattalord@gmail.com>
2025-03-13 12:31:41 -04:00
dependabot[bot] bbba2127ce
Bump golang.org/x/net from 0.34.0 to 0.36.0 (#17958)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-03-13 13:18:08 +01:00
Dirkjan Bussink f4bd45f436
Add support for hashed caching sha2 passwords (#17948)
Signed-off-by: Dirkjan Bussink <d.bussink@gmail.com>
2025-03-13 16:29:48 +05:30
Dirkjan Bussink 123e309bbe
Allow for specifying a specific MySQL shutdown timeout (#17923)
Signed-off-by: Dirkjan Bussink <d.bussink@gmail.com>
2025-03-12 11:20:48 +01:00
Derek Perkins ff80a37f2d
sqltypes: move datetime handling to Value method (#17929)
Signed-off-by: Derek Perkins <derek@nozzle.io>
2025-03-11 17:54:56 +01:00
Manan Gupta 209d940ad9
Rebuild `SrvKeyspace` and `SrvVSchema` during vtgate init if required (#17915)
Signed-off-by: deepthi <deepthi@planetscale.com>
Signed-off-by: Manan Gupta <manan@planetscale.com>
Co-authored-by: deepthi <deepthi@planetscale.com>
2025-03-11 07:48:06 +05:30
Manan Gupta cedd0667d3
Remove deprecated `--disable_active_reparents` flag (#17919)
Signed-off-by: Manan Gupta <manan@planetscale.com>
2025-03-10 17:15:49 -06:00
Shlomi Noach 0bf4276e32
`schemadiff`: explicit `ALGORITHM=INSTANT` counts as instant-able (#17942)
Signed-off-by: Shlomi Noach <2607934+shlomi-noach@users.noreply.github.com>
2025-03-10 15:21:30 +02:00
Manan Gupta 0515c0fe3c
Fix semi-sync monitor bug of expecting incorrect number of fields (#17939)
Signed-off-by: Manan Gupta <manan@planetscale.com>
2025-03-10 11:49:38 +02:00
Manan Gupta 76d80e0bcf
Remove legacy way of considering SQL thread being stopped on a replica as unreachable (#17918)
Signed-off-by: Manan Gupta <manan@planetscale.com>
2025-03-10 15:09:43 +05:30
Shlomi Noach 04835a0ac5
Fix flakiness in throttler's `TestDormant` (#17940)
Signed-off-by: Shlomi Noach <2607934+shlomi-noach@users.noreply.github.com>
2025-03-10 14:45:50 +05:30
Rohit Nayak f41ed903c3
v19 EOL: Remove v19 from Golang Update Version CI workflow (#17932)
Signed-off-by: Rohit Nayak <rohit@planetscale.com>
2025-03-10 09:15:09 +01:00
Harshit Gangal a3a52c02bf
Fix data race in Schema Engine (#17921)
Signed-off-by: Harshit Gangal <harshit@planetscale.com>
2025-03-10 09:39:24 +05:30
Florent Poinsard 99479bd791
Add @frouioui to CODEOWNERS for backups (#17927) 2025-03-07 01:18:27 -06:00
Jeffrey Sica 902e7a1eb8
Set 16 core runners to oci gh arc runners (#17879)
Signed-off-by: Jeffrey Sica <me@jeefy.dev>
2025-03-06 14:32:16 -06:00
Florent Poinsard 97d7cf4a2f
Use `vtbackup` in scheduled backups (#17869)
Signed-off-by: Florent Poinsard <florent.poinsard@outlook.fr>
2025-03-06 13:39:39 -06:00
Frances Thai 526665e090
[VTAdmin] Insert into schema cache if exists already and not expired (#17908)
Signed-off-by: Frances Thai <notfelineit@gmail.com>
2025-03-06 08:05:01 -08:00
Harshit Gangal 74d99497a2
fix: race on storing schema engine last changed time (#17914)
Signed-off-by: Harshit Gangal <harshit@planetscale.com>
2025-03-06 11:11:50 +01:00
Manan Gupta 8be84705d5
Store the health check subscriber name to improve error message (#17863)
Signed-off-by: Manan Gupta <manan@planetscale.com>
2025-03-06 14:57:05 +05:30
Harshit Gangal a1ff812cbb
VTGate: Session in StreamExecute response as default (#17907)
Signed-off-by: Harshit Gangal <harshit@planetscale.com>
Co-authored-by: Deepthi Sigireddi <deepthi.sigireddi@gmail.com>
2025-03-06 14:21:07 +05:30
Shlomi Noach c710c8141f
throttler: formal gRPC calls in endtoend tests, removing HTTP API calls (#16530)
Signed-off-by: Shlomi Noach <2607934+shlomi-noach@users.noreply.github.com>
2025-03-06 08:35:47 +02:00
Tim Vaillancourt 5d6b8fadf7
`vtorc`: cleanup discover queue, add concurrency flag (#17825)
Signed-off-by: Tim Vaillancourt <tim@timvaillancourt.com>
2025-03-05 14:35:31 -08:00
Florent Poinsard 66b4bf1ab5
Fix how we generate `vtclient` CLI docs (#17897)
Signed-off-by: Florent Poinsard <florent.poinsard@outlook.fr>
2025-03-05 14:59:24 -06:00
Manan Gupta fa149c324f
Change healthcheck to only reload specific keyspace shard tablets (#17872)
Signed-off-by: Manan Gupta <manan@planetscale.com>
2025-03-05 22:18:22 +05:30
vitess-bot 3657ad2e25
[main] Upgrade the Golang version to `go1.24.1` (#17902)
Signed-off-by: GitHub <noreply@github.com>
Signed-off-by: Florent Poinsard <florent.poinsard@outlook.fr>
Co-authored-by: frouioui <frouioui@users.noreply.github.com>
Co-authored-by: Florent Poinsard <florent.poinsard@outlook.fr>
2025-03-05 07:11:09 -06:00
Andrés Taylor b3dac06cce
Refactor Join Predicate Handling in Planner (#17877)
Signed-off-by: Andres Taylor <andres@planetscale.com>
Signed-off-by: Harshit Gangal <harshit@planetscale.com>
Co-authored-by: Harshit Gangal <harshit@planetscale.com>
2025-03-05 06:23:14 +01:00
Florent Poinsard 5f80483f09
Fix `vtbackup` help output (#17892) 2025-03-03 15:28:00 -06:00
Florent Poinsard 2952ac514a
Upgrade `sigs.k8s.io/controller-tools` and `KUBE_VERSION` (#17889)
Signed-off-by: Florent Poinsard <florent.poinsard@outlook.fr>
2025-03-03 14:22:03 -06:00
Andrés Taylor 1141d844de
evalengine: normalize types during compilation (#17887)
Signed-off-by: Vicent Marti <vmg@strn.cat>
Signed-off-by: Andres Taylor <andres@planetscale.com>
Co-authored-by: Vicent Marti <vmg@strn.cat>
2025-03-03 21:20:36 +01:00
Tom Thornton ea9ea398f5
Add more vstream metrics for vstream manager (#17858)
Signed-off-by: twthorn <thomaswilliamthornton@gmail.com>
2025-03-03 11:04:46 -08:00
Harshit Gangal 41a8d1dd32
Fix TestTrackerNoLock flaky test by increasing time to mark failure (#17886)
Signed-off-by: Harshit Gangal <harshit@planetscale.com>
2025-03-03 09:55:40 -08:00
Harshit Gangal 0af627a4a0
Faster Prepared Statement Execution by Using Raw SQL for Caching (#17777)
Signed-off-by: Harshit Gangal <harshit@planetscale.com>
Signed-off-by: Andres Taylor <andres@planetscale.com>
Co-authored-by: Andres Taylor <andres@planetscale.com>
2025-03-03 17:08:57 +05:30
Harshit Gangal 1582d5b7c8
Fix: Separate Lock for Keyspace to Update Controller Mapping in Schema Tracking (#17873)
Signed-off-by: Harshit Gangal <harshit@planetscale.com>
2025-03-03 16:50:24 +05:30
Frances Thai 79dc8e3775
Add Shlomi & Frances to VReplication CODEOWNERS (#17878)
Signed-off-by: Frances Thai <notfelineit@gmail.com>
2025-02-28 11:42:58 -08:00
Rohit Nayak 9bd34a35f7
VReplication SwitchTraffic: for a dry run check if sequences need to be updated (#17842)
Signed-off-by: Rohit Nayak <rohit@planetscale.com>
2025-02-28 11:36:22 -08:00
Tim Vaillancourt 2c10c9508e
`vtorc`: add index for `inst.ReadInstanceClusterAttributes` table scan (#17866)
Signed-off-by: Tim Vaillancourt <tim@timvaillancourt.com>
2025-02-28 10:48:19 -08:00
Tim Vaillancourt 7958251d68
`vtorc`: use `golang.org/x/sync/semaphore`, add flag for db concurrency (#17837)
Signed-off-by: Tim Vaillancourt <tim@timvaillancourt.com>
2025-02-28 10:44:47 -08:00
Tim Vaillancourt fb897e3c27
Add stats for shards watched by VTOrc, purge stale shards (#17815)
Signed-off-by: Tim Vaillancourt <tim@timvaillancourt.com>
2025-02-28 10:39:17 -08:00
Harshit Gangal f8bc9fa5d1
Vtgate metrics: Added plan and query type metrics (#17727)
Signed-off-by: Harshit Gangal <harshit@planetscale.com>
Signed-off-by: Andres Taylor <andres@planetscale.com>
Co-authored-by: Andres Taylor <andres@planetscale.com>
2025-02-28 23:00:45 +05:30
Andrés Taylor 37a78eba4b
Add a Visitable interface to support AST nodes declared outside sqlparser (#17875)
Signed-off-by: Florent Poinsard <florent.poinsard@outlook.fr>
Signed-off-by: Andres Taylor <andres@planetscale.com>
Co-authored-by: Florent Poinsard <florent.poinsard@outlook.fr>
2025-02-28 13:37:22 +01:00
Harshvir Potpose b05df12741
test: replace `t.Errorf` and `t.Fatalf` with `assert` and `require` (#17720)
Signed-off-by: Your Name <hpotpose62@gmail.com>
Signed-off-by: Harshvir Potpose <hpotpose62@gmail.com>
2025-02-26 09:21:51 +02:00
Matt Lord 96f45350bb
VReplication: Support ignoring the source Keyspace on MoveTables cancel/complete (#17729)
Signed-off-by: Matt Lord <mattalord@gmail.com>
2025-02-25 18:07:55 -05:00
Noble Mittal b72683dfb4
VStream: Add `IS NULL` filter support (#17848)
Signed-off-by: Noble Mittal <noblemittal@outlook.com>
2025-02-25 17:29:37 -05:00
Rohit Nayak cfd4d29ce9
VTTablet schema reload: include stats only on periodic reload, default to "base table" query for the "with sizes" query for 5.7 only (#17855)
Signed-off-by: Rohit Nayak <rohit@planetscale.com>
2025-02-25 22:15:30 +01:00
Florent Poinsard 965253a082
Engine primitive for join-values (#17518)
Signed-off-by: Florent Poinsard <florent.poinsard@outlook.fr>
2025-02-25 07:50:39 -06:00
Andrés Taylor e6b1b5dc21
Small planner refactoring (#17851)
Signed-off-by: Andres Taylor <andres@planetscale.com>
2025-02-25 11:07:20 +01:00
Shlomi Noach 9ca2135931
Throttler: reduce regexp/string allocations by pre-computing pascal case (#17817)
Signed-off-by: Shlomi Noach <2607934+shlomi-noach@users.noreply.github.com>
2025-02-25 11:34:26 +02:00
Noble Mittal afdb26b527
VTAdmin: Add advanced workflow `switchtraffic` options (#17658)
Signed-off-by: Noble Mittal <noblemittal@outlook.com>
2025-02-25 10:30:51 +01:00
Shlomi Noach 82d21e56ca
Online DDL: consider UUID throttle ratios in `user_throttle_ratio` (#17850)
Signed-off-by: Shlomi Noach <2607934+shlomi-noach@users.noreply.github.com>
2025-02-25 07:48:42 +02:00
Manan Gupta 81ce29c91d
Add semi-sync monitor to unblock primaries blocked on semi-sync ACKs (#17763)
Signed-off-by: Manan Gupta <manan@planetscale.com>
2025-02-24 16:53:43 +05:30
Dirkjan Bussink 80707f7f60
Implement temporal comparisons (#17826)
Signed-off-by: Dirkjan Bussink <d.bussink@gmail.com>
2025-02-24 12:14:59 +01:00
Tim Vaillancourt 413b95328d
`vtorc`: remove duplicate instance read from backend (#17834)
Signed-off-by: Tim Vaillancourt <tim@timvaillancourt.com>
2025-02-23 21:08:07 +01:00
Manan Gupta ef84b32ab6
Increase health check channel buffer (#17821)
Signed-off-by: Manan Gupta <manan@planetscale.com>
2025-02-21 10:22:00 -08:00
Matt Lord 55909dc29d
VReplication: Disable /debug/vrlog by default (#17832)
Signed-off-by: Matt Lord <mattalord@gmail.com>
2025-02-21 13:04:32 -05:00
garfthoffman a9192fd422
Fail loading an ACL config if the provided file is empty and enforceTableACLConfig is true (#17274)
Signed-off-by: garfthoffman <109185460+garfthoffman@users.noreply.github.com>
Signed-off-by: Mohamed Hamza <mhamza15@github.com>
Co-authored-by: Mohamed Hamza <mhamza15@github.com>
2025-02-21 11:06:23 -05:00
Kyle Johnson 0a6f982bca
Fix vtclient vtgate missing flags (specifically --grpc_*) (#17800)
Signed-off-by: Kyle Johnson <kylej@hubspot.com>
Co-authored-by: Kyle Johnson <corbantek@gmail.com>
2025-02-21 11:54:24 +01:00
Manan Gupta db77d81d7c
Clear `demotePrimaryStalled` field after the function ends (#17823)
Signed-off-by: Manan Gupta <manan@planetscale.com>
2025-02-21 11:55:59 +05:30
Tim Vaillancourt c9c227db69
Allow build git envs to be set in `docker/lite` (#17827)
Signed-off-by: Tim Vaillancourt <tim@timvaillancourt.com>
2025-02-20 16:24:11 -06:00
Matt Lord 22988df395
VReplication: Support excluding lagging tablets and use this in vstream manager (#17835)
Signed-off-by: Matt Lord <mattalord@gmail.com>
2025-02-20 16:31:44 -05:00
Harshit Gangal 2118bc35d4
pool: reopen connection closed by idle timeout (#17818)
Signed-off-by: Harshit Gangal <harshit@planetscale.com>
Signed-off-by: Vicent Martí <42793+vmg@users.noreply.github.com>
Co-authored-by: Vicent Martí <42793+vmg@users.noreply.github.com>
2025-02-19 17:30:58 +01:00
Matt Lord 5c27b400a8
VReplication: Align VReplication and VTGate VStream Retry Logic (#17783)
Signed-off-by: Matt Lord <mattalord@gmail.com>
2025-02-19 10:59:24 -05:00
Noble Mittal 83e2a4f5b1
VReplication: Support for `BETWEEN`/`NOT BETWEEN` filter in VStream (#17721)
Signed-off-by: Noble Mittal <noblemittal@outlook.com>
Signed-off-by: Rohit Nayak <rohit@planetscale.com>
Co-authored-by: Rohit Nayak <rohit@planetscale.com>
2025-02-19 09:44:51 -05:00
Dirkjan Bussink 0c6ad63126
Update to Go 1.24.0 (#17790)
Signed-off-by: Dirkjan Bussink <d.bussink@gmail.com>
Signed-off-by: Florent Poinsard <florent.poinsard@outlook.fr>
Signed-off-by: Vicent Marti <vmg@strn.cat>
Co-authored-by: Florent Poinsard <florent.poinsard@outlook.fr>
Co-authored-by: Vicent Marti <vmg@strn.cat>
2025-02-18 11:16:52 +01:00
Arthur Schreiber c88ac785d6
Fix a potential connection pool leak. (#17807)
Signed-off-by: Arthur Schreiber <arthurschreiber@github.com>
2025-02-17 15:26:50 +01:00
Dirkjan Bussink 67d081a7a3
Remove bits of unused code across various packages (#17785) 2025-02-16 13:10:46 +01:00
Andrés Taylor f131dd6d31
Use ast-paths for subquery planning to improve performance (#17738)
Signed-off-by: Andres Taylor <andres@planetscale.com>
Signed-off-by: Manan Gupta <manan@planetscale.com>
Signed-off-by: Vicent Marti <vmg@strn.cat>
Signed-off-by: Harshit Gangal <harshit@planetscale.com>
Co-authored-by: Manan Gupta <manan@planetscale.com>
Co-authored-by: Vicent Marti <vmg@strn.cat>
Co-authored-by: Harshit Gangal <harshit@planetscale.com>
2025-02-15 08:26:47 +01:00
Tim Vaillancourt cf7fa682d1
nit: move new `const`s to own section (#17802)
Signed-off-by: Tim Vaillancourt <tim@timvaillancourt.com>
2025-02-14 14:22:10 -08:00
Tim Vaillancourt 1c064271cc
`vtorc`: improve handling of partial cell topo results (#17718)
Signed-off-by: Tim Vaillancourt <tim@timvaillancourt.com>
2025-02-14 14:21:17 -08:00
Rohit Nayak 70114ad687
Multi-tenant workflow SwitchWrites: Don't add denied tables on cancelMigration() (#17782)
Signed-off-by: Rohit Nayak <rohit@planetscale.com>
2025-02-14 16:53:10 +01:00
Rohit Nayak 420342fddb
VReplication Atomic Copy Workflows: fix bugs around concurrent inserts (#17772)
Signed-off-by: Rohit Nayak <rohit@planetscale.com>
2025-02-14 16:31:20 +01:00
Tim Vaillancourt efa30d4f1a
Simply changing GH Actions runner (#17788)
Signed-off-by: Tim Vaillancourt <tim@timvaillancourt.com>
2025-02-14 01:28:53 +01:00
Deepthi Sigireddi 624a7ea37c
Get some CLOMonitor checks passing (#17773)
Signed-off-by: deepthi <deepthi@planetscale.com>
2025-02-13 15:40:23 -08:00
Lucas 000fbbe0f8
[Feature]: Sort results of getTablets for consistency in output/readability (#17771)
Signed-off-by: Lucas Morduchowicz <lmorduch@gmail.com>
Co-authored-by: Lucas Morduchowicz <lmorduchowicz@hubspot.com>
2025-02-13 14:08:36 -05:00
Vicent Martí 057bcc9219
smartconnpool: Better handling for idle expiration (#17757)
Signed-off-by: Vicent Marti <vmg@strn.cat>
2025-02-13 23:04:30 +05:30
Manan Gupta f53fa5b062
Fail assignment expressions with the correct message (#17752)
Signed-off-by: Manan Gupta <manan@planetscale.com>
2025-02-13 14:31:05 +05:30
Andrés Taylor d4e0f91367
bugfix: support subqueries inside subqueries when merging (#17764)
Signed-off-by: Andres Taylor <andres@planetscale.com>
2025-02-13 08:13:49 +01:00
vitess-bot 01b3e02c2b
[main] Copy `v19.0.10` release notes (#17769)
Signed-off-by: Rohit Nayak <rohit@planetscale.com>
Co-authored-by: Rohit Nayak <rohit@planetscale.com>
2025-02-12 18:33:20 +01:00
vitess-bot 48dba174e6
[main] Copy `v20.0.6` release notes (#17767)
Signed-off-by: Rohit Nayak <rohit@planetscale.com>
Co-authored-by: Rohit Nayak <rohit@planetscale.com>
2025-02-12 18:21:09 +01:00
vitess-bot fa965623e2
[main] Copy `v21.0.3` release notes (#17765)
Signed-off-by: Rohit Nayak <rohit@planetscale.com>
Co-authored-by: Rohit Nayak <rohit@planetscale.com>
2025-02-12 18:09:44 +01:00
Dirkjan Bussink 22cf8b6c9b
Remove unused code from go/acl (#17741)
Signed-off-by: Dirkjan Bussink <d.bussink@gmail.com>
2025-02-12 15:06:26 +01:00
Dirkjan Bussink a10d34c5f0
Remove unused go/stats code (#17742)
Signed-off-by: Dirkjan Bussink <d.bussink@gmail.com>
2025-02-12 14:55:02 +01:00
Dirkjan Bussink e697991b84
Remove unused code from go/mysql package (#17740)
Signed-off-by: Dirkjan Bussink <d.bussink@gmail.com>
2025-02-12 14:34:20 +01:00
Rohit Nayak c47f1bd6cb
Atomic Copy: Fix panics when the copy phase starts in some clusters (#17717)
Signed-off-by: Rohit Nayak <rohit@planetscale.com>
2025-02-12 09:51:21 +01:00
Dirkjan Bussink b5ede71dab
Fix vtcombo parsing flags incorrectly (#17743)
Signed-off-by: Dirkjan Bussink <d.bussink@gmail.com>
2025-02-12 09:28:00 +01:00
Deepthi Sigireddi fa54e1d261
Move Andrew Mason to emeritus (#17745)
Signed-off-by: deepthi <deepthi@planetscale.com>
Signed-off-by: Andres Taylor <andres@planetscale.com>
Co-authored-by: Andres Taylor <andres@planetscale.com>
2025-02-11 22:19:45 -08:00
Florent Poinsard 4f2cd1856b
`operator.yaml`: pass on the `sidecarDbName` when creating a keyspace (#17739)
Signed-off-by: Florent Poinsard <florent.poinsard@outlook.fr>
2025-02-11 15:03:35 -06:00
Matt Lord cca7b7f9f1
VReplication: Improve error handling in VTGate VStreams (#17558)
Signed-off-by: Matt Lord <mattalord@gmail.com>
2025-02-11 11:15:02 -05:00
Matt Lord 2b21fb47b6
Correct WriteTopologyPath args to match help text (#17735)
Signed-off-by: Matt Lord <mattalord@gmail.com>
2025-02-11 11:11:22 -05:00
Manan Gupta 404a55a5c0
Fix data race in `TestIsServingLocked` (#17728)
Signed-off-by: Manan Gupta <manan@planetscale.com>
2025-02-11 15:53:25 +05:30
Matt Lord 4c27ea8caf
VReplication: Support passing VStream filters down to MySQL (#17677)
Signed-off-by: Matt Lord <mattalord@gmail.com>
2025-02-10 17:00:40 -05:00
dependabot[bot] 8fc98010e9
Bump io.netty:netty-handler from 4.1.110.Final to 4.1.118.Final in /java (#17730)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-02-10 15:13:10 -05:00
Matt Lord b567098404
CI: Add some randomness to the ports used in VReplication e2e tests (#17712)
Signed-off-by: Matt Lord <mattalord@gmail.com>
2025-02-10 10:03:29 +01:00
Rohit Nayak 4c9de0b96d
VTAdmin: update logo and favicon for the new Vitess logos (#17715)
Signed-off-by: Rohit Nayak <rohit@planetscale.com>
2025-02-08 21:53:00 +01:00
Shlomi Noach 10a6916020
schemadiff: `ViewDependencyUnresolvedError` lists missing referenced entities (#17711)
Signed-off-by: Shlomi Noach <2607934+shlomi-noach@users.noreply.github.com>
Signed-off-by: Dirkjan Bussink <d.bussink@gmail.com>
Co-authored-by: Dirkjan Bussink <d.bussink@gmail.com>
2025-02-06 14:45:10 +02:00
Shlomi Noach 1c56ca1435
Multi-metrics throttler: post v21 deprecations and changes (#16915)
Signed-off-by: Shlomi Noach <2607934+shlomi-noach@users.noreply.github.com>
2025-02-06 11:28:20 +01:00
Andrés Taylor b50894f4a5
Faster dependency copying (#17708)
Signed-off-by: Andres Taylor <andres@planetscale.com>
2025-02-06 10:33:21 +01:00
Shlomi Noach e08d85c85b
`schemadiff` textual annotation fix + tests (#17630)
Signed-off-by: Shlomi Noach <2607934+shlomi-noach@users.noreply.github.com>
2025-02-06 10:29:23 +02:00
Dirkjan Bussink 3669569f65
Ignore execution time errors for schemadiff view analysis (#17704)
Signed-off-by: Dirkjan Bussink <d.bussink@gmail.com>
2025-02-06 09:28:55 +01:00
Andrés Taylor 9bf33261ff
Make sure no AST types are bare slices (#17674)
Signed-off-by: Andres Taylor <andres@planetscale.com>
Signed-off-by: Vicent Marti <vmg@strn.cat>
Co-authored-by: Vicent Marti <vmg@strn.cat>
2025-02-06 08:26:05 +01:00
Shlomi Noach cf28afab4e
Online DDL: removal of `gh-ost` and `pt-osc` strategies (#17626)
Signed-off-by: Shlomi Noach <2607934+shlomi-noach@users.noreply.github.com>
2025-02-06 09:07:02 +02:00
wiebeytec 747c3089c8
Don't exit tablet server on reloading invalid ACL (#17485)
Signed-off-by: Wiebe Cazemier <wiebe@ytec.nl>
Signed-off-by: Matt Lord <mattalord@gmail.com>
Co-authored-by: Matt Lord <mattalord@gmail.com>
2025-02-05 12:01:53 -05:00
Harshit Gangal 202065e9d8
Views global routing (#17633)
Signed-off-by: Harshit Gangal <harshit@planetscale.com>
Signed-off-by: Andres Taylor <andres@planetscale.com>
Co-authored-by: Andres Taylor <andres@planetscale.com>
2025-02-05 20:16:24 +05:30
vitess-bot 5d439cd82e
Upgrade the Golang Dependencies (#17695)
Signed-off-by: GitHub <noreply@github.com>
Signed-off-by: Dirkjan Bussink <d.bussink@gmail.com>
Co-authored-by: dbussink <dbussink@users.noreply.github.com>
Co-authored-by: Dirkjan Bussink <d.bussink@gmail.com>
2025-02-04 22:13:38 +01:00
Shlomi Noach f880198a4c
Supporting `InnoDBParallelReadThreadsCapability` (#17689)
Signed-off-by: Shlomi Noach <2607934+shlomi-noach@users.noreply.github.com>
2025-02-04 19:48:35 +01:00
Florent Poinsard b461dcdd13
Fix golang dependencies upgrade workflow (#17692)
Signed-off-by: Florent Poinsard <florent.poinsard@outlook.fr>
2025-02-04 12:43:54 -06:00
Rohit Nayak aebc4b82f9
VDiff: fix race when a vdiff resumes on vttablet restart (#17638)
Signed-off-by: Rohit Nayak <rohit@planetscale.com>
2025-02-04 08:52:33 -08:00
Dirkjan Bussink 71b2cae69e
Update dependencies manually (#17691)
Signed-off-by: Dirkjan Bussink <d.bussink@gmail.com>
2025-02-04 16:14:48 +01:00
Noble Mittal bd342dd7a1
test: Add more unit tests for `server.go` (#17679)
Signed-off-by: Noble Mittal <noblemittal@outlook.com>
2025-02-04 11:08:53 +01:00
Vicent Martí 30c09f56be
smartconnpool: do not allow connections to starve (#17675)
Signed-off-by: Vicent Marti <vmg@strn.cat>
Signed-off-by: Dirkjan Bussink <d.bussink@gmail.com>
Co-authored-by: Mohamed Hamza <mhamza15@github.com>
Co-authored-by: Dirkjan Bussink <d.bussink@gmail.com>
2025-02-03 17:34:11 +01:00
Chaitanya Rangavajhala 3c4a4ceb99
vtadmin: enable sorting in all tables (#17468)
Signed-off-by: c-r-dev <crangavajha1@bloomberg.net>
Signed-off-by: Frances Thai <notfelineit@gmail.com>
Co-authored-by: Frances Thai <notfelineit@gmail.com>
2025-02-03 07:19:04 -08:00
Dirkjan Bussink 78c7470f54
Parse SRID attribute for virtual columns (#17680) 2025-02-01 23:09:50 +01:00
Dirkjan Bussink cb7d61a478
Handle Percona compressed column extension (#17660)
Signed-off-by: Dirkjan Bussink <d.bussink@gmail.com>
2025-01-31 13:03:50 +01:00
Dirkjan Bussink 92c25af2d6
Fix panic inside schema tracker (#17659) 2025-01-31 12:45:30 +01:00
Matt Robenolt 770dcf0914
Replace uses of os.Create with os2.Create within backup/restore workflows (#17648)
Signed-off-by: Matt Robenolt <matt@ydekproductions.com>
Signed-off-by: Matt Lord <mattalord@gmail.com>
Co-authored-by: Matt Lord <mattalord@gmail.com>
2025-01-30 12:42:56 -05:00
Dirkjan Bussink be677efe5f
Fix integer parsing logic (#17650)
Signed-off-by: Dirkjan Bussink <d.bussink@gmail.com>
2025-01-30 06:54:58 -08:00
Max Englander f7ea3a3c03
go/vt/mysqlctl: add postflight_mysqld_start and preflight_mysqld_shutdown hooks (#17652)
Signed-off-by: Max Englander <max@planetscale.com>
2025-01-30 06:43:26 -08:00
Graham Campbell 92fe3011a8
Upgrade default etcd version to 3.5.17 (#17653)
Signed-off-by: Graham Campbell <hello@gjcampbell.co.uk>
2025-01-30 09:36:08 +01:00
Dirkjan Bussink 10d36cbdbc
Always make sure to escape all strings (#17649)
Signed-off-by: Dirkjan Bussink <d.bussink@gmail.com>
2025-01-30 09:33:57 +01:00
Deepthi Sigireddi 53396cdb1c
Improve vtgate logging for buffering (#17654)
Signed-off-by: deepthi <deepthi@planetscale.com>
2025-01-29 16:32:15 -08:00
Matt Lord 9c6c38007c
VReplication: CODEOWNERS and unit test housekeeping (#17646)
Signed-off-by: Matt Lord <mattalord@gmail.com>
2025-01-28 13:48:01 -08:00
Matt Lord 39a0ddde8f
VReplication: Address SwitchTraffic bugs around replication lag and cancel on error (#17616)
Signed-off-by: Matt Lord <mattalord@gmail.com>
2025-01-28 14:08:04 -05:00
Chaitanya Rangavajhala fd1186c6a9
VTAdmin to use VTGate's vexplain (#17508)
Signed-off-by: c-r-dev <crangavajha1@bloomberg.net>
2025-01-28 14:48:29 +01:00
Andrés Taylor 19890cfb8e
Optimise AST rewriting (#17623)
Signed-off-by: Andres Taylor <andres@planetscale.com>
Signed-off-by: Harshit Gangal <harshit@planetscale.com>
Co-authored-by: Harshit Gangal <harshit@planetscale.com>
2025-01-28 15:39:53 +05:30
Manan Gupta c2f4dcf80a
Refactor Disk Stall implementation and mark tablet not serving if disk is stalled (#17624)
Signed-off-by: Manan Gupta <manan@planetscale.com>
2025-01-28 11:59:45 +05:30
Manan Gupta 8921bce64b
Support KeyRange in `--clusters_to_watch` flag (#17604)
Signed-off-by: Manan Gupta <manan@planetscale.com>
2025-01-28 11:59:34 +05:30
jwang 489fd05eda
--consolidator-query-waiter-cap to set the max number of waiter for consolidated query (#17244)
Signed-off-by: Jun Wang <jun.wang@demonware.net>
Co-authored-by: Jun Wang <jun.wang@demonware.net>
2025-01-27 17:36:39 -06:00
Noble Mittal de33a39a9d
test: Add unit tests for `vtctl/workflow` (#17618)
Signed-off-by: Noble Mittal <noblemittal@outlook.com>
2025-01-27 22:13:47 +01:00
Shlomi Noach 44e46edf20
`schemadiff`: validate uniqueness of `CHECK` and of `FOREIGN KEY` constraints (#17627)
Signed-off-by: Shlomi Noach <2607934+shlomi-noach@users.noreply.github.com>
2025-01-27 11:25:51 +02:00
Dirkjan Bussink 5265e510f2
Remove deprecated syntax (#17631)
Signed-off-by: Dirkjan Bussink <d.bussink@gmail.com>
2025-01-27 09:59:24 +01:00
Florent Poinsard 8412fe81d4
Update the how to release java docs (#17603)
Signed-off-by: Florent Poinsard <florent.poinsard@outlook.fr>
2025-01-24 11:49:50 -06:00
Matt Lord a6c2896efd
Add linearizable support to SQL VSchema management (#17401)
Signed-off-by: Matt Lord <mattalord@gmail.com>
2025-01-23 18:53:44 -05:00
Dirkjan Bussink 1df1dc8fb9
Improve sizegen to handle more types (#17583)
Signed-off-by: Dirkjan Bussink <d.bussink@gmail.com>
2025-01-23 11:38:34 -06:00
Harshit Gangal 43e6089d61
Reduce VTGate Normalizer multiple AST walks (#17619)
Signed-off-by: Harshit Gangal <harshit@planetscale.com>
2025-01-23 16:43:12 +01:00
Dirkjan Bussink f2827f9b90
Update to latest Nodejs LTS and NPM (#17606)
Signed-off-by: Dirkjan Bussink <d.bussink@gmail.com>
2025-01-23 11:35:54 +01:00
Eduardo J. Ortega U. 91dd79d38b
Use prefix in all vtorc check and recover logs (#17526)
Signed-off-by: Eduardo J. Ortega U. <5791035+ejortegau@users.noreply.github.com>
2025-01-23 16:04:04 +05:30
Shlomi Noach 1d57f39e52
`parseComBinlogDumpGTID`: GTID payload is always 5.6 flavor (#17605)
Signed-off-by: Shlomi Noach <2607934+shlomi-noach@users.noreply.github.com>
2025-01-23 07:45:35 +02:00
Rohit Nayak 55b6865b53
VReplication Workflow command: Allow stop/start on specific shards (#17581)
Signed-off-by: Rohit Nayak <rohit@planetscale.com>
2025-01-22 20:43:38 +01:00
Matthias Crauwels 99856a2c03
fix SchemaCacheConfig.DefaultExpiration (#17609)
Signed-off-by: Matthias Crauwels <matthias.crauwels@planetscale.com>
2025-01-22 18:00:11 +01:00
Noble Mittal 5363f038ac
LookupVindex: Implement `internalize` command for lookup vindexes (#17429)
Signed-off-by: Noble Mittal <noblemittal@outlook.com>
2025-01-22 09:23:09 -05:00
Harshit Gangal d1aa2f49f7
Add option to log error queries only (#17554)
Signed-off-by: Harshit Gangal <harshit@planetscale.com>
Signed-off-by: Andres Taylor <andres@planetscale.com>
Co-authored-by: Andres Taylor <andres@planetscale.com>
2025-01-22 13:36:51 +05:30
Shlomi Noach aaee12a80f
`sendBinlogDumpCommand`: apply BinlogThroughGTID flag (#17580)
Signed-off-by: Shlomi Noach <2607934+shlomi-noach@users.noreply.github.com>
2025-01-22 07:48:41 +02:00
Manan Gupta 9743929544
Fix config file not found handling (#17578)
Signed-off-by: Manan Gupta <manan@planetscale.com>
2025-01-22 11:11:36 +05:30
Matt Lord b406e96a5b
Add vtctldclient missing cmds and remove remaining vtctl[client] usage in e2e tests (#17442)
Signed-off-by: Matt Lord <mattalord@gmail.com>
2025-01-21 21:11:02 -05:00
Florent Poinsard bf2423fa6f
Fail VTBackup early when replication or MySQL is failing (#17356)
Signed-off-by: Florent Poinsard <florent.poinsard@outlook.fr>
2025-01-21 16:12:18 -06:00
Graham Campbell d6cd88c1df
Fix typos in MySQL 8.4 Dockerfile (#17601)
Signed-off-by: Graham Campbell <hello@gjcampbell.co.uk>
2025-01-21 10:27:58 -06:00
vitess-bot a809fae6ee
[main] Copy `v21.0.2` release notes (#17599)
Signed-off-by: Rohit Nayak <rohit@planetscale.com>
Co-authored-by: Rohit Nayak <rohit@planetscale.com>
2025-01-21 09:59:00 -06:00
vitess-bot a86d3d9dc7
[main] Copy `v20.0.5` release notes (#17597)
Signed-off-by: Rohit Nayak <rohit@planetscale.com>
Co-authored-by: Rohit Nayak <rohit@planetscale.com>
2025-01-21 09:58:50 -06:00
vitess-bot 5a46da3228
[main] Copy `v19.0.9` release notes (#17595)
Signed-off-by: Rohit Nayak <rohit@planetscale.com>
Co-authored-by: Rohit Nayak <rohit@planetscale.com>
2025-01-21 09:58:33 -06:00
Dirkjan Bussink 02c499384a
Clean up duplicate datetime parsing code (#17582)
Signed-off-by: Dirkjan Bussink <d.bussink@gmail.com>
2025-01-21 16:45:40 +01:00
Léopold Jacquot 4370a480dd
feat: add mysql 8.4 docker images (#17529)
Signed-off-by: Leopold Jacquot <leopold.jacquot@infomaniak.com>
2025-01-21 09:03:56 -06:00
Harshit Gangal 78f633cd58
Views: VTGate changes for seamless integration (#17439)
Signed-off-by: Harshit Gangal <harshit@planetscale.com>
2025-01-21 17:46:23 +05:30
Dirkjan Bussink 9b57dafc88
Update bundled MySQL version to 8.0.40 (#17552)
Signed-off-by: Dirkjan Bussink <d.bussink@gmail.com>
Signed-off-by: Florent Poinsard <florent.poinsard@outlook.fr>
Signed-off-by: Harshit Gangal <harshit@planetscale.com>
Co-authored-by: Florent Poinsard <florent.poinsard@outlook.fr>
Co-authored-by: Harshit Gangal <harshit@planetscale.com>
2025-01-21 10:58:56 +01:00
vitess-bot 4687195766
[main] Upgrade the Golang version to `go1.23.5` (#17563)
Signed-off-by: GitHub <noreply@github.com>
Signed-off-by: Florent Poinsard <florent.poinsard@outlook.fr>
Co-authored-by: frouioui <frouioui@users.noreply.github.com>
Co-authored-by: Florent Poinsard <florent.poinsard@outlook.fr>
2025-01-20 14:57:15 -06:00
Rohit Nayak 10ff5e372d
Tablet picker: Handle the case where a primary tablet is not setup for a shard (#17573)
Signed-off-by: Rohit Nayak <rohit@planetscale.com>
2025-01-19 18:30:51 +01:00
Matt Lord ff7c5adae3
VDiff: Remove extra % sign in vdiff text report template (#17568) 2025-01-19 09:22:30 -05:00
Shlomi Noach cd94eff7f2
Online DDL forced cut-over: terminate transactions holding metadata locks on table (#17535)
Signed-off-by: Shlomi Noach <2607934+shlomi-noach@users.noreply.github.com>
2025-01-19 07:48:21 +02:00
Manan Gupta eaaa2063ef
Add StalledDiskPrimary analysis and recovery to vtorc (#17470)
Signed-off-by: Manan Gupta <manan@planetscale.com>
2025-01-17 08:22:39 +05:30
Vicent Martí 71ccd6d7bd
sizegen: do not ignore type aliases (#17556)
Signed-off-by: Vicent Marti <vmg@strn.cat>
2025-01-16 16:46:15 +01:00
Dirkjan Bussink b103492f4b
fix: add missing MySQL 8.4 keywords (#17538)
Signed-off-by: Leopold Jacquot <leopold.jacquot@infomaniak.com>
Signed-off-by: Dirkjan Bussink <d.bussink@gmail.com>
Co-authored-by: Leopold Jacquot <leopold.jacquot@infomaniak.com>
2025-01-16 11:25:15 +01:00
Dirkjan Bussink 5468f5db7d
Always return a valid timezone in cursor (#17546) 2025-01-16 07:15:34 +01:00
Florent Poinsard 859632ff9f
Rename docker clusters for more clarity and group all java test together (#17542)
Signed-off-by: Florent Poinsard <florent.poinsard@outlook.fr>
2025-01-15 12:43:06 -06:00
Florent Poinsard 8e905aaf74
Use proper `groupId` for mysql connector in java (#17540)
Signed-off-by: Florent Poinsard <florent.poinsard@outlook.fr>
2025-01-15 09:28:49 -08:00
Florent Poinsard 301c92c0c3
Fix how we generate the query serving error documentation (#17516)
Signed-off-by: Florent Poinsard <florent.poinsard@outlook.fr>
2025-01-15 08:11:19 -06:00
Rohit Nayak 72eb041781
CVE Fix: Update glog to v1.2.4 (#17524)
Signed-off-by: Rohit Nayak <rohit@planetscale.com>
2025-01-15 15:06:06 +01:00
Florent Poinsard cbf146b5eb
Security improvements to GitHub Actions (#17520)
Signed-off-by: Florent Poinsard <florent.poinsard@outlook.fr>
2025-01-15 08:02:38 -06:00
Matt Lord e207a4460e
VDiff: Save lastpk value for source and target (#17493)
Signed-off-by: Matt Lord <mattalord@gmail.com>
2025-01-15 08:56:05 -05:00
Harshit Gangal b0a5d6605b
Add support for global routing in describe statement (#17510)
Signed-off-by: Harshit Gangal <harshit@planetscale.com>
2025-01-15 19:23:56 +05:30
Harshit Gangal 0bcbe4c038
[Java]: Bump mysql-connector-java version from 8.0.33 to mysql-connector-j 8.4.0 (#17522)
Signed-off-by: Harshit Gangal <harshit@planetscale.com>
2025-01-15 19:23:31 +05:30
Harshit Gangal db4fca3aa5
Remove shard targeted keyspace from database qualifier on the query (#17503)
Signed-off-by: Harshit Gangal <harshit@planetscale.com>
2025-01-15 17:24:36 +05:30
Harshit Gangal 9d8f3d5c21
VALUES statement AST and parsing (#17500)
Signed-off-by: Harshit Gangal <harshit@planetscale.com>
Signed-off-by: Florent Poinsard <florent.poinsard@outlook.fr>
Signed-off-by: Andres Taylor <andres@planetscale.com>
Signed-off-by: Manan Gupta <manan@planetscale.com>
Co-authored-by: Andres Taylor <andres@planetscale.com>
Co-authored-by: Manan Gupta <manan@planetscale.com>
Co-authored-by: Florent Poinsard <florent.poinsard@outlook.fr>
2025-01-15 17:24:21 +05:30
Manan Gupta fd0ffeb17b
Remove unused code in discovery queue creation (#17515)
Signed-off-by: Manan Gupta <manan@planetscale.com>
2025-01-14 11:19:31 +05:30
Tim Vaillancourt a9d6969b30
`vtorc`: fetch all tablets from cells once + filter during refresh (#17388)
Signed-off-by: Tim Vaillancourt <tim@timvaillancourt.com>
2025-01-13 18:45:34 +01:00
Rohit Nayak ec29bdbebb
Flaky TestTickSkip: Remove inherently flaky test (#17504)
Signed-off-by: Rohit Nayak <rohit@planetscale.com>
2025-01-13 10:35:25 +01:00
Shlomi Noach ac8bbc6586
`schemadiff`: more index expression validations (tests only) (#17483)
Signed-off-by: Shlomi Noach <2607934+shlomi-noach@users.noreply.github.com>
2025-01-13 08:50:01 +02:00
Shlomi Noach f3cafe81a2
Online DDL `--analyze-table`: use non-local `ANALYZE TABLE` (#17462)
Signed-off-by: Shlomi Noach <2607934+shlomi-noach@users.noreply.github.com>
2025-01-13 08:49:13 +02:00
Andrés Taylor 8fff0ea379
test: make it easier to run tests without a main keyspace (#17501)
Signed-off-by: Andres Taylor <andres@planetscale.com>
2025-01-13 11:38:34 +05:30
Noble Mittal 54dfd6005b
Move VDiff related workflow server APIs to `vdiff.go` and add unit tests (#17466)
Signed-off-by: Noble Mittal <noblemittal@outlook.com>
2025-01-10 15:31:48 -05:00
Matt Lord 9b0bbadd8b
Use uint64 for binary log file position (#17472)
Signed-off-by: Matt Lord <mattalord@gmail.com>
2025-01-10 14:13:13 -05:00
Tim Vaillancourt 13550182b8
Avoid flaky topo concurrency test (#17407)
Signed-off-by: Tim Vaillancourt <tim@timvaillancourt.com>
2025-01-10 19:43:29 +01:00
Rohit Nayak 555f1d7bb4
Fix flaky vreplication tests: correct logic that checks for workflow state in test helper (#17498)
Signed-off-by: Rohit Nayak <rohit@planetscale.com>
2025-01-10 14:53:18 +05:30
Harshit Gangal 694b02c8ca
Benchmark Prepared statement and expected Improvement (#17449)
Signed-off-by: Harshit Gangal <harshit@planetscale.com>
2025-01-10 12:16:29 +05:30
Anirban Mukhopadhyay 4bd822b5fe
vttestserver should only pass a BindAddressGprc if one is passed in (#17457)
Signed-off-by: Anirban Mukhopadhyay <anirbanmu@users.noreply.github.com>
Signed-off-by: Manan Gupta <manan@planetscale.com>
Co-authored-by: Anirban Mukhopadhyay <anirbanmu@users.noreply.github.com>
Co-authored-by: Manan Gupta <manan@planetscale.com>
2025-01-10 11:31:51 +05:30
Harshit Gangal 8fe04c52e5
connection pool: max idle connections implementation (#17443)
Signed-off-by: Harshit Gangal <harshit@planetscale.com>
2025-01-10 10:06:37 +05:30
Shlomi Noach aabf1c9b90
CI: fix to Online DDL flow test, do not t.Log from within a goroutine (#17496)
Signed-off-by: Shlomi Noach <2607934+shlomi-noach@users.noreply.github.com>
2025-01-09 12:05:27 +02:00
Harshit Gangal b865d138ee
split upgrade downgrade queries test to 2 CI workflows (#17464)
Signed-off-by: Harshit Gangal <harshit@planetscale.com>
2025-01-09 10:32:06 +05:30
Dirkjan Bussink 06def14056
Fix crash in the evalengine (#17487)
Signed-off-by: Dirkjan Bussink <d.bussink@gmail.com>
2025-01-08 15:48:46 +01:00
Shail Pujan 6d35e825ce
Added the initial script for the 40x example for backup and restore (#16893)
Signed-off-by: Shail Pujan <shailsing977@gmail.com>
Signed-off-by: Florent Poinsard <florent.poinsard@outlook.fr>
Signed-off-by: Florent Poinsard <35779988+frouioui@users.noreply.github.com>
Co-authored-by: Florent Poinsard <florent.poinsard@outlook.fr>
Co-authored-by: Florent Poinsard <35779988+frouioui@users.noreply.github.com>
2025-01-08 08:01:40 -06:00
Harshit Gangal 513a0671bd
[Java] Fix dependency issues in Java package (#17481)
Signed-off-by: Harshit Gangal <harshit@planetscale.com>
2025-01-08 19:30:57 +05:30
Andrés Taylor 6ac89989b6
Improved Compatibility Around LAST_INSERT_ID - evalengine (#17409)
Signed-off-by: Andres Taylor <andres@planetscale.com>
Signed-off-by: Vicent Marti <vmg@strn.cat>
Signed-off-by: Harshit Gangal <harshit@planetscale.com>
Signed-off-by: Florent Poinsard <florent.poinsard@outlook.fr>
Co-authored-by: Vicent Marti <vmg@strn.cat>
Co-authored-by: Harshit Gangal <harshit@planetscale.com>
Co-authored-by: Florent Poinsard <florent.poinsard@outlook.fr>
2025-01-08 18:39:28 +05:30
Shlomi Noach 72d91bdae7
schemadiff: skip keys with expressions in Online DDL analysis (#17475)
Signed-off-by: Shlomi Noach <2607934+shlomi-noach@users.noreply.github.com>
2025-01-08 11:36:07 +02:00
Harshit Gangal 1ce7550046
Reference Table DML Join Fix (#17414)
Signed-off-by: Harshit Gangal <harshit@planetscale.com>
2025-01-07 09:55:51 -06:00
Noble Mittal 68861b1311
VTAdmin(web): Better visualization for JSON screens (#17459)
Signed-off-by: Noble Mittal <noblemittal@outlook.com>
2025-01-07 12:38:00 +01:00
Rohit Nayak 69e02247bd
Add missing tables to globally routed list in schema tracker only if they are not already present in a VSchema (#17371)
Signed-off-by: Rohit Nayak <rohit@planetscale.com>
Signed-off-by: Manan Gupta <manan@planetscale.com>
Signed-off-by: Harshit Gangal <harshit@planetscale.com>
Co-authored-by: Manan Gupta <manan@planetscale.com>
Co-authored-by: Harshit Gangal <harshit@planetscale.com>
2025-01-07 09:54:35 +01:00
Manan Gupta 549a8c483b
Change keys of the discovery flags such that they conform to the convention (#17430)
Signed-off-by: Manan Gupta <manan@planetscale.com>
2025-01-06 16:09:50 +05:30
Harshit Gangal 8ba7607230
vexplain to protect the log fields from concurrent writes (#17460)
Signed-off-by: Harshit Gangal <harshit@planetscale.com>
2025-01-06 13:05:28 +05:30
Manan Gupta b1f6147601
Make all durability policy names constants (#17448)
Signed-off-by: Manan Gupta <manan@planetscale.com>
2025-01-05 15:00:04 +05:30
arthmis b36b228417
Feature Request: Change varbinary to varchar in schemas used in examples folder (#17318)
Signed-off-by: arthmis <artmis9@protonmail.com>
2025-01-03 13:20:21 -05:00
Matt Lord b8b0383579
Move all e2e tests to vtctldclient (#17441)
Signed-off-by: Matt Lord <mattalord@gmail.com>
2025-01-02 09:21:48 -05:00
Rohit Nayak a57ae939ec
Flaky TestMoveTables(Un)sharded: Handle race condition (#17440)
Signed-off-by: Rohit Nayak <rohit@planetscale.com>
2024-12-30 21:08:03 +01:00
Dirkjan Bussink 76abae45fe
Cleanup legacy MariaDB bits from vtorc (#17415)
Signed-off-by: Dirkjan Bussink <d.bussink@gmail.com>
2024-12-30 11:47:22 +01:00
Manan Gupta dce8d00446
Make transaction mode a dynamic configuration (#17419)
Signed-off-by: Manan Gupta <manan@planetscale.com>
2024-12-28 15:03:50 +05:30
Manan Gupta c25802da2a
Fix Data race in semi-join (#17417)
Signed-off-by: Manan Gupta <manan@planetscale.com>
2024-12-28 15:03:16 +05:30
Manan Gupta 9383943bde
Fix week number for date_format evalengine function (#17432) 2024-12-26 23:03:08 +01:00
Renan Rangel 30e1e40733
add S3 minimum part size defined by the user (#17171)
Signed-off-by: Renan Rangel <rrangel@slack-corp.com>
2024-12-26 11:06:57 -05:00
Rohit Nayak 837ddd4dc3
CobraDocs: Remove commit hash from docs. Fix issue with workdir replacement (#17392)
Signed-off-by: Rohit Nayak <rohit@planetscale.com>
2024-12-26 12:38:43 +01:00
Rohit Nayak 524dec934f
LookupVindex bug fix: Fix typos from PR 17301 (#17423)
Signed-off-by: Rohit Nayak <rohit@planetscale.com>
2024-12-26 16:24:08 +05:30
Manan Gupta bd02b458aa
Add a way to know if DemotePrimary is blocked and send it in the health stream (#17289)
Signed-off-by: Manan Gupta <manan@planetscale.com>
2024-12-26 14:37:46 +05:30
Matt Lord 83f2aab5ce
VReplication: Handle --vreplication_experimental_flags options properly for partial images (#17428) 2024-12-25 16:21:38 -05:00
Matt Lord 059d01aa9d
VReplication: Support binlog_row_value_options=PARTIAL_JSON (#17345)
Signed-off-by: Matt Lord <mattalord@gmail.com>
2024-12-23 15:49:38 -05:00
Noble Mittal fa79c3fef8
Refactor `Server.LookupVindexCreate` (#17242)
Signed-off-by: Noble Mittal <noblemittal@outlook.com>
2024-12-22 11:38:26 +01:00
Noble Mittal dd4ec2e3e2
Export `BuildSummary` func for VDiff show (#17413)
Signed-off-by: Noble Mittal <noblemittal@outlook.com>
2024-12-21 13:23:06 +01:00
Matt Lord 1355baef0a
Bump golang.org/x/net from 0.31.0 to 0.33.0 (#17416)
Signed-off-by: Matt Lord <mattalord@gmail.com>
2024-12-20 11:12:25 -05:00
Andrés Taylor e750d228a1
Improved Compatibility Around LAST_INSERT_ID (#17408)
Signed-off-by: Andres Taylor <andres@planetscale.com>
Signed-off-by: Harshit Gangal <harshit@planetscale.com>
Co-authored-by: Harshit Gangal <harshit@planetscale.com>
2024-12-20 16:22:20 +01:00
Chaitanya Rangavajhala 9714713103
Range Query Optimization (For sequential Vindex types) (#17342)
Signed-off-by: c-r-dev <crangavajha1@bloomberg.net>
Signed-off-by: Andres Taylor <andres@planetscale.com>
Co-authored-by: Andres Taylor <andres@planetscale.com>
2024-12-20 14:31:32 +05:30
Shlomi Noach 4299951b53
Remove binlog-server point in time recoveries code & tests (#17361)
Signed-off-by: Shlomi Noach <2607934+shlomi-noach@users.noreply.github.com>
2024-12-19 20:01:50 +02:00
Harshit Gangal 56b5c2a8a3
benchmark: TwoPC commit mode (#17397)
Signed-off-by: Harshit Gangal <harshit@planetscale.com>
2024-12-19 11:31:31 +05:30
Noble Mittal c336557042
test: Include unit tests for `switcher-dry-run` (#17403)
Signed-off-by: Noble Mittal <noblemittal@outlook.com>
2024-12-18 22:15:30 +01:00
Dirkjan Bussink 66e71db9a0
Use non-deprecated flags to skip replication (#17400)
Signed-off-by: Dirkjan Bussink <d.bussink@gmail.com>
2024-12-18 11:28:37 +01:00
Manan Gupta 8652490010
Consistent lookup vindex tests for atomic distributed transactions (#17393)
Signed-off-by: Manan Gupta <manan@planetscale.com>
2024-12-18 14:24:47 +05:30
Tim Vaillancourt c48d76165e
Ensure all topo read calls consider `--topo_read_concurrency` (#17276)
Signed-off-by: Tim Vaillancourt <tim@timvaillancourt.com>
2024-12-16 20:00:59 +01:00
Noble Mittal 998433c1aa
VTAdmin(web): Add simpler topology tree structure (#17245)
Signed-off-by: Noble Mittal <noblemittal@outlook.com>
2024-12-16 09:31:42 +01:00
Dirkjan Bussink 45192d2104
Fix flaky mysqlctl blackbox test (#17387) 2024-12-12 22:23:58 +01:00
Noble Mittal 69f2f8f330
test: Add missing tests for `traffic_switcher.go` (#17334)
Signed-off-by: Noble Mittal <noblemittal@outlook.com>
2024-12-12 12:09:28 -08:00
Manan Gupta a3d400177f
Ensure PRS runs for all the shards in `TestSemiSyncRequiredWithTwoPC` (#17384)
Signed-off-by: Manan Gupta <manan@planetscale.com>
2024-12-12 22:15:36 +05:30
Dirkjan Bussink 44aa9d78fe
Fix fuzzer paths (#17380)
Signed-off-by: Dirkjan Bussink <d.bussink@gmail.com>
2024-12-12 19:48:15 +05:30
dependabot[bot] a0b85afa7f
Bump golang.org/x/crypto from 0.29.0 to 0.31.0 (#17376)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-12 13:54:54 +01:00
dependabot[bot] 083cdac42b
Bump nanoid from 3.3.7 to 3.3.8 in /web/vtadmin (#17375)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-11 17:48:17 -05:00
Deepthi Sigireddi e39207b1f1
use newer versions of actions in scorecard workflow (#17373)
Signed-off-by: deepthi <deepthi@planetscale.com>
2024-12-11 16:23:49 -06:00
Rohit Nayak e4dc8729ec
SwitchTraffic: use separate context while canceling a migration (#17340)
Signed-off-by: Rohit Nayak <rohit@planetscale.com>
2024-12-10 21:18:10 +01:00
Rohit Nayak 0d84a49ab6
Flaky test fix: TestMoveTablesSharded and TestMoveTablesUnsharded (#17343)
Signed-off-by: Rohit Nayak <rohit@planetscale.com>
2024-12-10 18:02:43 +01:00
Andrés Taylor ac23e59722
test fix: make sure to keep the skipE2E field around (#17357)
Signed-off-by: Andres Taylor <andres@planetscale.com>
2024-12-10 13:01:02 +01:00
Dirkjan Bussink bad431deed
Remove broken panic handler (#17354)
Signed-off-by: Dirkjan Bussink <d.bussink@gmail.com>
Signed-off-by: Shlomi Noach <2607934+shlomi-noach@users.noreply.github.com>
Co-authored-by: Shlomi Noach <2607934+shlomi-noach@users.noreply.github.com>
2024-12-10 10:52:44 +01:00
Dirkjan Bussink 0fe256e2c8
Allow dynamic configuration of vschema acl (#17333)
Signed-off-by: Dirkjan Bussink <d.bussink@gmail.com>
2024-12-10 12:02:29 +05:30
Andrés Taylor 2c2b8a48ee
Run plan tests in end to end configuration (#17117)
Signed-off-by: Andres Taylor <andres@planetscale.com>
Signed-off-by: Florent Poinsard <florent.poinsard@outlook.fr>
Signed-off-by: Harshit Gangal <harshit@planetscale.com>
Co-authored-by: Florent Poinsard <florent.poinsard@outlook.fr>
Co-authored-by: Harshit Gangal <harshit@planetscale.com>
2024-12-10 11:08:26 +05:30
Florent Poinsard 63dfb9e711
Implement a per-file retry mechanism in the `BuiltinBackupEngine` (#17271)
Signed-off-by: Florent Poinsard <florent.poinsard@outlook.fr>
2024-12-09 14:20:39 -06:00
Harshit Gangal 9b71606c06
Deprecate `twopc_enable` flag and change input type for `twopc_abandon_age` to time.Duration (#17279)
Signed-off-by: Harshit Gangal <harshit@planetscale.com>
2024-12-09 18:37:29 +05:30
Tim Vaillancourt 91811154ac
`vtorc`: require topo for `Healthy: true` in `/debug/health` (#17129) 2024-12-09 13:11:45 +01:00
Renan Rangel f746c48810
fix flaky test on mysqlshell backup engine (#17037)
Signed-off-by: Renan Rangel <rrangel@slack-corp.com>
2024-12-09 10:08:12 +01:00
Rohit Nayak 9a03317dcc
LookupVindex: fix CLI to allow creating non-unique lookups with single column (#17301)
Signed-off-by: Rohit Nayak <rohit@planetscale.com>
2024-12-09 09:59:33 +01:00
Eduardo J. Ortega U. 3cdda35489
Fixes for avoidance of hosts taking backup in PRS & ERS (#17300)
Signed-off-by: Eduardo J. Ortega U. <5791035+ejortegau@users.noreply.github.com>
2024-12-09 13:49:02 +05:30
Shlomi Noach cb66920194
Multi-metrics throttler post v21 cleanup: remove unthrottled entry from topo (#17283)
Signed-off-by: Shlomi Noach <2607934+shlomi-noach@users.noreply.github.com>
2024-12-09 08:34:40 +02:00
Manan Gupta 250148ee79
Fix flakiness in `TestSemiSyncRequiredWithTwoPC` (#17332)
Signed-off-by: Manan Gupta <manan@planetscale.com>
2024-12-08 19:33:26 -08:00
Manan Gupta 775ec983ba
Improve logging in buffering (#17294)
Signed-off-by: Manan Gupta <manan@planetscale.com>
2024-12-09 09:02:21 +05:30
Matt Lord 747a61c143
VStreamer: For larger compressed transaction payloads, stream the internal contents (#17239)
Signed-off-by: Matt Lord <mattalord@gmail.com>
2024-12-06 10:46:22 -05:00
Matt Lord f9acb7722b
VReplication: Enable VPlayerBatching in unit tests (#17339)
Signed-off-by: Matt Lord <mattalord@gmail.com>
2024-12-06 09:27:34 -05:00
Noble Mittal 4675244082
refac: Refactor `Server.GetWorkflows()` (#17092)
Signed-off-by: Noble Mittal <noblemittal@outlook.com>
Signed-off-by: Rohit Nayak <rohit@planetscale.com>
Co-authored-by: Rohit Nayak <rohit@planetscale.com>
2024-12-06 15:06:44 +01:00
Noble Mittal 5ace629a06
test: Add missing unit tests in `vtctl/workflow` (#17304)
Signed-off-by: Noble Mittal <noblemittal@outlook.com>
2024-12-06 15:05:18 +01:00
Florent Poinsard f7b9295199
[main] Bump go version to 1.23.4 (#17335)
Signed-off-by: Florent Poinsard <florent.poinsard@outlook.fr>
2024-12-05 17:44:03 +01:00
Harshit Gangal ab7b5169eb
refactor: VTGate executor with a runnable context package (#17305)
Signed-off-by: Harshit Gangal <harshit@planetscale.com>
Signed-off-by: Andres Taylor <andres@planetscale.com>
Co-authored-by: Andres Taylor <andres@planetscale.com>
2024-12-04 13:50:51 +01:00
Dirkjan Bussink 2da38932e6
Allow for dynamic configuration of DDL settings (#17328)
Signed-off-by: Dirkjan Bussink <d.bussink@gmail.com>
2024-12-04 17:33:42 +05:30
Harshit Gangal 1cb39b0d77
Track shard session affecting change inside the transaction (#17266)
Signed-off-by: Harshit Gangal <harshit@planetscale.com>
2024-12-04 13:53:33 +05:30
Matt Lord 551a5f7e28
VReplication: Optimize replication on target tablets (#17166)
Signed-off-by: Matt Lord <mattalord@gmail.com>
2024-12-03 09:48:44 -05:00
Andrés Taylor 99d534bc62
refactor: rename DefaultKeyspace() to CurrentKeyspace() (#17303)
Signed-off-by: Andres Taylor <andres@planetscale.com>
2024-12-03 13:43:18 +01:00
Manan Gupta 8c51043074
Add test for vindexes in atomic transactions package (#17308)
Signed-off-by: Manan Gupta <manan@planetscale.com>
2024-12-03 15:40:19 +05:30
Noble Mittal f0c0a70d4e
VReplication: Support for filter using `IN` operator (#17296)
Signed-off-by: Noble Mittal <noblemittal@outlook.com>
2024-12-03 10:55:01 +01:00
Manan Gupta 10586218a7
Improve VTOrc config handling to support dynamic variables (#17218)
Signed-off-by: Manan Gupta <manan@planetscale.com>
2024-12-03 14:29:46 +05:30
Manan Gupta 1ee4e97415
Add multi table updates in the 2pc fuzzer testing (#17293)
Signed-off-by: Manan Gupta <manan@planetscale.com>
2024-12-03 14:27:01 +05:30
vitess-bot 9976b3747c
[main] Copy `v21.0.1` release notes (#17324)
Signed-off-by: Rohit Nayak <rohit@planetscale.com>
Co-authored-by: Rohit Nayak <rohit@planetscale.com>
2024-12-03 06:32:38 +01:00
vitess-bot 653b0aee04
[main] Copy `v20.0.4` release notes (#17322)
Signed-off-by: Rohit Nayak <rohit@planetscale.com>
Co-authored-by: Rohit Nayak <rohit@planetscale.com>
2024-12-03 06:19:36 +01:00
vitess-bot be663c2af7
[main] Copy `v19.0.8` release notes (#17320)
Signed-off-by: Rohit Nayak <rohit@planetscale.com>
Co-authored-by: Rohit Nayak <rohit@planetscale.com>
2024-12-03 06:13:18 +01:00
Dirkjan Bussink 2b71d1b5f8
Merge commit from fork
These templates were rendered using text/template which is fundamentally
broken as it would allow for trivial HTML injection.

Instead render using safehtml/template so that we have automatic
escaping.

Signed-off-by: Dirkjan Bussink <d.bussink@gmail.com>
2024-12-02 09:47:59 -06:00
Noble Mittal 68b25b30f2
VTAdmin: Support for schema migrations view/create (#17134)
Signed-off-by: Noble Mittal <noblemittal@outlook.com>
2024-11-29 12:32:23 +01:00
Rohit Nayak 9422e32d10
Tool to determine mapping from vindex and value to shard (#17290)
Signed-off-by: Rohit Nayak <rohit@planetscale.com>
2024-11-29 11:24:59 +01:00
Manan Gupta aad2e469ae
Add CI for VTop example (#16007)
Signed-off-by: Manan Gupta <manan@planetscale.com>
Signed-off-by: Florent Poinsard <florent.poinsard@outlook.fr>
Signed-off-by: Rohit Nayak <rohit@planetscale.com>
Co-authored-by: Florent Poinsard <florent.poinsard@outlook.fr>
Co-authored-by: Rohit Nayak <rohit@planetscale.com>
2024-11-28 13:15:43 -06:00
Manan Gupta 2f281de91c
Fix flakiness in `TestReadTransactionStatus` (#17277)
Signed-off-by: Manan Gupta <manan@planetscale.com>
2024-11-28 18:59:55 +05:30
Harshit Gangal a1830b37cc
vttablet debugenv changes (#17161)
Signed-off-by: Harshit Gangal <harshit@planetscale.com>
Signed-off-by: Manan Gupta <manan@planetscale.com>
Co-authored-by: Manan Gupta <manan@planetscale.com>
2024-11-28 18:53:27 +05:30
Florent Poinsard 0726ea6ad9
Fix how we cancel the context in the builtin backup engine (#17285)
Signed-off-by: Florent Poinsard <florent.poinsard@outlook.fr>
2024-11-27 13:58:55 -06:00
Manan Gupta 16fa7a3641
Errant GTID detection fix for VTOrc (#17287)
Signed-off-by: Manan Gupta <manan@planetscale.com>
2024-11-27 15:10:01 +05:30
Tim Vaillancourt 8648264f90
`vtorc`: cleanup init db handling (#17198)
Signed-off-by: Tim Vaillancourt <tim@timvaillancourt.com>
Signed-off-by: Manan Gupta <manan@planetscale.com>
Co-authored-by: Manan Gupta <manan@planetscale.com>
2024-11-26 21:03:27 +05:30
Shlomi Noach 1f23496f0f
Multi-metrics throttler: adding InnoDB `history_list_length` metric (#17262)
Signed-off-by: Shlomi Noach <2607934+shlomi-noach@users.noreply.github.com>
2024-11-26 16:26:36 +02:00
Tim Vaillancourt 69b381fe18
`vtorc`: make SQL formatting consistent (#17154)
Signed-off-by: Tim Vaillancourt <tim@timvaillancourt.com>
Signed-off-by: Manan Gupta <manan@planetscale.com>
Co-authored-by: Manan Gupta <manan@planetscale.com>
2024-11-26 13:39:05 +02:00
Shlomi Noach 96f4ac7562
A couple `endtoend` cluster tests enhancement (#17247)
Signed-off-by: Shlomi Noach <2607934+shlomi-noach@users.noreply.github.com>
2024-11-25 10:23:49 -08:00
Shlomi Noach ebf321ef95
Online DDL: publish `vreplication_lag_seconds` from vreplication progress (#17263)
Signed-off-by: Shlomi Noach <2607934+shlomi-noach@users.noreply.github.com>
2024-11-25 10:17:45 -08:00
Shlomi Noach 0439d89f5b
`Applyschema` uses `ExecuteMultiFetchAsDba` (#17078)
Signed-off-by: Shlomi Noach <2607934+shlomi-noach@users.noreply.github.com>
2024-11-25 10:14:06 -08:00
Dirkjan Bussink 145ff6b09e
Specify Ubuntu 24.04 for all jobs (#17278)
Signed-off-by: Dirkjan Bussink <d.bussink@gmail.com>
2024-11-25 10:03:55 -08:00
Manan Gupta 072d1fadb6
Fix errant GTID detection in VTOrc to also work with a replica not connected to any primary (#17267)
Signed-off-by: Manan Gupta <manan@planetscale.com>
2024-11-25 14:39:41 +02:00
Manan Gupta 0b51839d66
Fix potential deadlock in health streamer (#17261)
Signed-off-by: Manan Gupta <manan@planetscale.com>
2024-11-21 12:07:34 +05:30
Eduardo J. Ortega U. aa6f2fbd72
PRS and ERS don't promote replicas taking backups (#16997)
Signed-off-by: Eduardo J. Ortega U <5791035+ejortegau@users.noreply.github.com>
2024-11-20 20:56:21 -08:00
Dirkjan Bussink 9094b55b2a
Remove unused code for old START_GTID logic (#17265)
Signed-off-by: Dirkjan Bussink <d.bussink@gmail.com>
2024-11-20 16:42:02 +01:00
Shlomi Noach c5d0eccd87
Online DDL: dynamic cut-over threshold via `ALTER VITESS_MIGRATION ... CUTOVER_THRESHOLD ...` command (#17126)
Signed-off-by: Shlomi Noach <2607934+shlomi-noach@users.noreply.github.com>
2024-11-20 09:48:26 +02:00
Shlomi Noach fb79106214
Tablet throttler: read and use MySQL host metrics (#16904)
Signed-off-by: Shlomi Noach <2607934+shlomi-noach@users.noreply.github.com>
2024-11-20 09:11:57 +02:00
Shlomi Noach 2c6e053e50
VReplication: recover from closed connection (#17249)
Signed-off-by: Shlomi Noach <2607934+shlomi-noach@users.noreply.github.com>
2024-11-20 08:39:26 +02:00
Derek Perkins 626b16ff12
sqltypes: add ToTime conversion funcs (#17178)
Signed-off-by: Derek Perkins <derek@nozzle.io>
2024-11-19 17:00:11 -08:00
Gabriel Parreiras d2815bfb23
Add support for receiving `grpc_bind_adress` on `vttestserver` (#17231)
Signed-off-by: Gabriel Parreiras <gabriel.parreiras@shopify.com>
2024-11-19 13:30:49 -06:00
Florent Poinsard ea600c3d35
Use proper keyspace when updating the query graph of a reference DML (#17226)
Signed-off-by: Florent Poinsard <florent.poinsard@outlook.fr>
2024-11-19 12:54:29 -06:00
Shlomi Noach 7baa4f28e2
Handle MySQL handler error codes (#17252)
Signed-off-by: Shlomi Noach <2607934+shlomi-noach@users.noreply.github.com>
2024-11-19 11:13:33 +02:00
Matt Lord 216fd70be4
Binlog: Improve ZstdInMemoryDecompressorMaxSize management (#17220)
Signed-off-by: Matt Lord <mattalord@gmail.com>
2024-11-15 21:39:37 -05:00
Manan Gupta 9fdfdb962a
Fix deadlock in messager and health streamer (#17230)
Signed-off-by: Manan Gupta <manan@planetscale.com>
2024-11-15 10:07:58 +05:30
Harshit Gangal 3499a77294
go mod update (#17227)
Signed-off-by: Harshit Gangal <harshit@planetscale.com>
2024-11-14 15:44:49 +05:30
Harshit Gangal c72bbdce9e
e2e framework change to find empty throttler config (#17228)
Signed-off-by: Harshit Gangal <harshit@planetscale.com>
2024-11-14 14:18:30 +05:30
Shlomi Noach f6067e04de
Online DDL: `--singleton-table` DDL strategy flag (#17169)
Signed-off-by: Shlomi Noach <2607934+shlomi-noach@users.noreply.github.com>
2024-11-12 15:53:18 +02:00
Harshit Gangal d512393492
Update Atomic Distributed Transaction Design (#17005)
Signed-off-by: Harshit Gangal <harshit@planetscale.com>
2024-11-12 18:55:20 +05:30
Florent Poinsard 04afd9a494
Update the EOL documentation (#17215)
Signed-off-by: Florent Poinsard <florent.poinsard@outlook.fr>
2024-11-12 07:58:13 +02:00
vitess-bot 4980d6f70b
[main] Upgrade the Golang version to `go1.23.3` (#17199)
Signed-off-by: GitHub <noreply@github.com>
Signed-off-by: Florent Poinsard <florent.poinsard@outlook.fr>
Co-authored-by: frouioui <frouioui@users.noreply.github.com>
Co-authored-by: Florent Poinsard <florent.poinsard@outlook.fr>
2024-11-11 13:00:29 -06:00
Shlomi Noach 221a663e3c
Online DDL: `ANALYZE` the shadow table before cut-over (#17201)
Signed-off-by: Shlomi Noach <2607934+shlomi-noach@users.noreply.github.com>
2024-11-11 10:10:57 -08:00
Rohit Nayak 41984cc9e2
VReplication fix Flaky e2e test TestMoveTablesBuffering (#17180)
Signed-off-by: Rohit Nayak <rohit@planetscale.com>
2024-11-11 17:37:30 +01:00
Rohit Nayak 11c619ea19
VReplication Flaky Test fix: TestVtctldMigrateSharded (#17182)
Signed-off-by: Rohit Nayak <rohit@planetscale.com>
2024-11-11 17:37:06 +01:00
Florent Poinsard 4c248416b8
Limit rare race condition in `topo.Server` (#17165)
Signed-off-by: Florent Poinsard <florent.poinsard@outlook.fr>
2024-11-11 09:50:02 -06:00
Shlomi Noach 8952b5af4e
Online DDL: fix defer function, potential connection pool exhaustion (#17207)
Signed-off-by: Shlomi Noach <2607934+shlomi-noach@users.noreply.github.com>
2024-11-11 12:48:20 +02:00
Manan Gupta 0403d541c1
Fix to prevent stopping buffering prematurely (#17013)
Signed-off-by: Manan Gupta <manan@planetscale.com>
2024-11-11 12:14:54 +05:30
Shlomi Noach 57aed0d529
`engine.Reload()`: read InnoDB tables sizes including `FULLTEXT` index volume (#17118)
Signed-off-by: Shlomi Noach <2607934+shlomi-noach@users.noreply.github.com>
2024-11-11 08:26:29 +02:00
Matt Lord 655f7fa15b
Flakes: Address flakiness in TestZkConnClosedOnDisconnect (#17194)
Signed-off-by: Matt Lord <mattalord@gmail.com>
2024-11-09 09:34:45 -05:00
shanth96 8af57c0131
Close zookeeper topo connection on disconnect (#17136)
Signed-off-by: shanth96 <shanth.sathiyaseelan@shopify.com>
2024-11-08 14:11:44 -08:00
Florent Poinsard 2d1e96ac46
Fix flakiness in `TestListenerShutdown` (#17024)
Signed-off-by: Florent Poinsard <florent.poinsard@outlook.fr>
2024-11-08 11:52:55 -08:00
Noble Mittal 0eb27b2843
VTAdmin: Support for multiple DataTable accessing same URL (#17036)
Signed-off-by: Noble Mittal <noblemittal@outlook.com>
2024-11-08 17:32:44 +01:00
Harshit Gangal 78f7db2cee
Atomic Transaction `StartCommit` api to return the commit state (#17116)
Signed-off-by: Harshit Gangal <harshit@planetscale.com>
2024-11-08 16:23:17 +01:00
Andrés Taylor de16affb4d
bugfix: Handle CTEs with columns named in the CTE def (#17179)
Signed-off-by: Andres Taylor <andres@planetscale.com>
2024-11-08 18:15:53 +05:30
Harshit Gangal aa69c7c3e3
Fix: Update found rows pool transaction capacity dynamically via vttablet debug/env (#17055)
Signed-off-by: Harshit Gangal <harshit@planetscale.com>
2024-11-08 17:10:15 +05:30
Manan Gupta 469bdcc53a
Add GetTransactionInfo in VTadmin API and page (#17142)
Signed-off-by: Manan Gupta <manan@planetscale.com>
2024-11-08 16:07:23 +05:30
Manan Gupta d9ab9f7a1c
Add RPC to read the statements to be executed in an unresolved prepared transaction (#17131)
Signed-off-by: Manan Gupta <manan@planetscale.com>
2024-11-08 11:38:59 +05:30
Florent Poinsard f6ca94f013
Skip `TestRunFailsToStartTabletManager` for now (#17167)
Signed-off-by: Florent Poinsard <florent.poinsard@outlook.fr>
2024-11-07 14:44:48 -06:00
Matt Lord 31b956b637
VReplication: Qualify and SQL escape tables in created AutoIncrement VSchema definitions (#17174)
Signed-off-by: Matt Lord <mattalord@gmail.com>
2024-11-07 15:29:31 -05:00
Florent Poinsard 9946ce8203
List join predicates used in `GetVExplainKeys` (#17130)
Signed-off-by: Florent Poinsard <florent.poinsard@outlook.fr>
Signed-off-by: Andres Taylor <andres@planetscale.com>
Co-authored-by: Andres Taylor <andres@planetscale.com>
2024-11-07 08:55:13 -06:00
Matt Lord e87457ee24
VReplication: Relax restrictions on Cancel and ReverseTraffic when writes not involved (#17128)
Signed-off-by: Matt Lord <mattalord@gmail.com>
2024-11-06 11:11:05 -08:00
Tim Vaillancourt a5759828ce
Improve efficiency of `vtorc` topo calls (#17071)
Signed-off-by: Tim Vaillancourt <tim@timvaillancourt.com>
Co-authored-by: Matt Lord <mattalord@gmail.com>
2024-11-06 18:34:38 +01:00
Shlomi Noach 5b699d8e08
Parse enum/set values with `sqlparser` (#17133)
Signed-off-by: Shlomi Noach <2607934+shlomi-noach@users.noreply.github.com>
2024-11-06 08:14:41 +02:00
vitess-bot 7dc7e69962
[main] Copy `v20.0.3` release notes (#17159)
Signed-off-by: Rohit Nayak <rohit@planetscale.com>
Co-authored-by: Rohit Nayak <rohit@planetscale.com>
2024-11-06 07:50:47 +02:00
vitess-bot b45d7c91fa
[main] Copy `v19.0.7` release notes (#17157)
Signed-off-by: Rohit Nayak <rohit@planetscale.com>
Co-authored-by: Rohit Nayak <rohit@planetscale.com>
2024-11-06 07:35:42 +02:00
vitess-bot 3402f48cbe
[main] Copy `v18.0.8` release notes (#17155)
Signed-off-by: Rohit Nayak <rohit@planetscale.com>
Co-authored-by: Rohit Nayak <rohit@planetscale.com>
2024-11-06 07:19:15 +02:00
Matt Lord 77da76b1c7
VTAdmin: Upgrade msw package to address security vuln (#17108)
Signed-off-by: Matt Lord <mattalord@gmail.com>
Signed-off-by: Frances Thai <notfelineit@gmail.com>
Signed-off-by: Frances Thai <31225471+notfelineit@users.noreply.github.com>
Co-authored-by: Frances Thai <notfelineit@gmail.com>
Co-authored-by: Frances Thai <31225471+notfelineit@users.noreply.github.com>
2024-11-05 16:18:50 -05:00
Shlomi Noach a9bab82ffb
`schemadiff`: consistent key ordering in table diff (#17141)
Signed-off-by: Shlomi Noach <2607934+shlomi-noach@users.noreply.github.com>
2024-11-05 14:47:03 +02:00
Dirkjan Bussink 9ed8ee2c1b
Move to native sqlite3 queries (#17124)
Signed-off-by: Dirkjan Bussink <d.bussink@gmail.com>
Co-authored-by: Tim Vaillancourt <tim@timvaillancourt.com>
2024-11-04 11:59:25 +01:00
Manan Gupta 1e2f15b0e0
Fix flakiness in `TestDisruptions` for two pc testing (#17106)
Signed-off-by: Manan Gupta <manan@planetscale.com>
2024-11-04 14:46:33 +05:30
Matt Lord fdf529e99d
VReplication: Fixes for generated column handling (#17107)
Signed-off-by: Matt Lord <mattalord@gmail.com>
2024-11-01 11:36:36 -04:00
Noble Mittal 1a4f2b9d6c
refac: Remove duplicate `forAllShards` methods from `vt/vtctl/workflow` (#17025)
Signed-off-by: Noble Mittal <noblemittal@outlook.com>
2024-10-31 19:41:57 +01:00
Matt Lord 1b0a902b97
CI: Correct etcd and ncurses package names for Ubuntu 24.04 (#16966)
Signed-off-by: Matt Lord <mattalord@gmail.com>
2024-10-31 11:39:59 -04:00
Florent Poinsard ffaeba0c5f
Fix panic in vttablet when closing topo server twice (#17094) 2024-10-30 18:59:09 -06:00
Manan Gupta 9c9a893a5d
Fix flaky test `TestShardSync` (#17095)
Signed-off-by: Manan Gupta <manan@planetscale.com>
2024-10-30 20:29:52 +05:30
Florent Poinsard 0beb273786
Add release-21.0 to the Golang Upgrade workflow (#16916)
Signed-off-by: Florent Poinsard <florent.poinsard@outlook.fr>
2024-10-29 13:45:26 -06:00
Florent Poinsard 690bb79db5
Fix unreachable errors when taking a backup (#17062)
Signed-off-by: Florent Poinsard <florent.poinsard@outlook.fr>
Signed-off-by: Florent Poinsard <35779988+frouioui@users.noreply.github.com>
Co-authored-by: Matt Lord <mattalord@gmail.com>
2024-10-29 13:05:55 -06:00
Harshit Gangal d1220c453c
java package updates for grpc and protobuf and release plugins (#17100)
Signed-off-by: Harshit Gangal <harshit@planetscale.com>
2024-10-29 16:49:49 +05:30
vitess-bot c21d1dee4a
[main] Copy `v21.0.0` release notes (#17097)
Signed-off-by: Rohit Nayak <rohit@planetscale.com>
Co-authored-by: Rohit Nayak <rohit@planetscale.com>
2024-10-29 06:46:08 +01:00
Matt Lord 4550640e08
Improve Schema Engine's TablesWithSize80 query (#17066)
Signed-off-by: Matt Lord <mattalord@gmail.com>
Signed-off-by: Shlomi Noach <2607934+shlomi-noach@users.noreply.github.com>
Co-authored-by: Shlomi Noach <2607934+shlomi-noach@users.noreply.github.com>
2024-10-28 17:07:26 +02:00
Harshit Gangal fa5a2c5c68
Delegate Column Availability Checks to MySQL for Single-Route Queries (#17077)
Signed-off-by: Harshit Gangal <harshit@planetscale.com>
Signed-off-by: Andres Taylor <andres@planetscale.com>
Co-authored-by: Andres Taylor <andres@planetscale.com>
2024-10-28 16:53:35 +05:30
Manan Gupta 6b3160537e
Improve errant GTID detection in ERS to handle more cases. (#16926)
Signed-off-by: Manan Gupta <manan@planetscale.com>
2024-10-28 09:29:10 +05:30
Shlomi Noach 4e385ced9c
Online DDL: better error messages in cut-over phase (#17052)
Signed-off-by: Shlomi Noach <2607934+shlomi-noach@users.noreply.github.com>
2024-10-27 09:39:17 +02:00
Harshit Gangal 6ad9898793
fix: flaky test on twopc transaction (#17068)
Signed-off-by: Harshit Gangal <harshit@planetscale.com>
2024-10-25 15:02:33 +05:30
Manan Gupta be0bca33f8
Only run sidecardb change detection on serving primary tablets (#17051)
Signed-off-by: Manan Gupta <manan@planetscale.com>
2024-10-24 07:03:02 +05:30
Andrés Taylor 11a655ca06
bugfix: treat EXPLAIN like SELECT (#17054)
Signed-off-by: Andres Taylor <andres@planetscale.com>
2024-10-23 20:47:43 +05:30
Dirkjan Bussink b0b79813f2
Handle encoding binary data separately (#16988)
Signed-off-by: Dirkjan Bussink <d.bussink@gmail.com>
2024-10-23 14:38:45 +02:00
Matt Lord 17607fa5e3
VReplication: Properly support cancel and delete for multi-tenant MoveTables (#16906)
Signed-off-by: Matt Lord <mattalord@gmail.com>
2024-10-23 11:43:44 +05:30
vitess-bot f8128355d5
[main] Copy `v21.0.0-RC2` release notes (#17048)
Signed-off-by: Rohit Nayak <rohit@planetscale.com>
Co-authored-by: Rohit Nayak <rohit@planetscale.com>
2024-10-23 07:39:49 +02:00
Florent Poinsard dbf2c6ae13
Build `vttestserver` in GHA and send Slack message on Docker Build failure (#16963)
Signed-off-by: Florent Poinsard <florent.poinsard@outlook.fr>
2024-10-22 22:06:36 -06:00
Matt Lord 0f9a985f2f
VDiff: Comment the VDiffCreate proto msg and set reasonable server side defaults (#17026)
Signed-off-by: Matt Lord <mattalord@gmail.com>
2024-10-22 17:08:48 -04:00
Matt Lord 2203cfb6cb
Use proper zstd decoder pool for binlog event compression handling (#17042)
Signed-off-by: Matt Lord <mattalord@gmail.com>
2024-10-22 16:34:35 -04:00
Arthur Schreiber 03b93a1e3b
Add support for `MultiEqual` opcode for lookup vindexes. (#16975)
Signed-off-by: Arthur Schreiber <arthurschreiber@github.com>
2024-10-22 19:21:03 +02:00
Manan Gupta c429d51eec
Fix Errant GTID detection logic in `SetReplicationSource` (#17031)
Signed-off-by: Manan Gupta <manan@planetscale.com>
2024-10-22 21:10:34 +05:30
Manan Gupta e598a879d9
Remove mysql parameters from VTOrc setup (#16996)
Signed-off-by: Manan Gupta <manan@planetscale.com>
2024-10-22 16:16:30 +05:30
Matt Lord ba129c7d04
Flakes: Setup new fake server if it has gone away (#17023)
Signed-off-by: Matt Lord <mattalord@gmail.com>
2024-10-22 08:15:11 +02:00
Florent Poinsard 0e22a3e397
Change the name of the vitess-tester repository (#16917) 2024-10-21 21:57:44 -06:00
Florent Poinsard 4522a0ad89
Fix the release workflow (#16964)
Signed-off-by: Florent Poinsard <florent.poinsard@outlook.fr>
2024-10-21 09:58:01 -06:00
Harshit Gangal d651a4214e
feat: add metrics for atomic distributed transactions (#16939)
Signed-off-by: Harshit Gangal <harshit@planetscale.com>
2024-10-21 17:15:18 +05:30
Shlomi Noach 327142de4a
Online DDL: detect `vreplication` errors via `vreplication_log` history (#16925)
Signed-off-by: Shlomi Noach <2607934+shlomi-noach@users.noreply.github.com>
2024-10-21 08:57:34 +02:00
Matt Lord c5f0c03383
VReplication: Restore previous minimal e2e test behavior (#17016)
Signed-off-by: Matt Lord <mattalord@gmail.com>
2024-10-21 08:28:58 +02:00
Matt Lord 6c6499c9ec
VReplication: Support reversing read-only traffic in vtctldclient (#16920) 2024-10-20 14:14:53 -04:00
Noble Mittal aba477f42a
fix: Infinite logs in case of non-existent stream logs (#17004)
Signed-off-by: Noble Mittal <noblemittal@outlook.com>
2024-10-19 11:46:25 +02:00
Renan Rangel a34e22c014
fix releasing the global read lock when mysqlshell backup fails (#17000)
Signed-off-by: Renan Rangel <rrangel@slack-corp.com>
2024-10-18 16:15:36 -04:00
Noble Mittal b8ba593e76
fix: Avoid creation of workflows with non-empty tables in target keyspace (#16874)
Signed-off-by: Noble Mittal <noblemittal@outlook.com>
2024-10-18 18:01:43 +02:00
Matt Lord eadba7b842
VDiff: Also generate default new UUID in VtctldServer VDiffCreate (#17003)
Signed-off-by: Matt Lord <mattalord@gmail.com>
2024-10-18 11:22:21 -04:00
Manan Gupta c1603c0c66
Fix deadlock between health check and topology watcher (#16995)
Signed-off-by: Manan Gupta <manan@planetscale.com>
2024-10-18 07:27:18 -07:00
Tim Vaillancourt 830ab74fda
Add missing changelog for PR #16852 (#17002)
Signed-off-by: Tim Vaillancourt <tim@timvaillancourt.com>
2024-10-18 08:22:37 -06:00
Matt Lord 3360865a53
Flakes: Address TestServerStats flakiness (#16991)
Signed-off-by: Matt Lord <mattalord@gmail.com>
2024-10-18 10:13:17 -04:00
Manan Gupta e881b9f36d
Support settings changes with atomic transactions (#16974)
Signed-off-by: Manan Gupta <manan@planetscale.com>
2024-10-18 11:19:27 +05:30
Manan Gupta a0f8cde905
Fix `GetUnresolvedTransactions` command for Vtctld (#16961)
Signed-off-by: Manan Gupta <manan@planetscale.com>
2024-10-18 11:19:05 +05:30
Vicent Martí dc692fa98f
grpc: upgrade to 1.66.2 and use Codec v2 (#16790)
Signed-off-by: Vicent Marti <vmg@strn.cat>
Signed-off-by: Matt Lord <mattalord@gmail.com>
Co-authored-by: Matt Lord <mattalord@gmail.com>
2024-10-17 15:21:27 +02:00
Harshit Gangal 0fa7e58928
fix: route engine to handle column truncation for execute after lookup (#16981)
Signed-off-by: Harshit Gangal <harshit@planetscale.com>
2024-10-17 11:04:41 +05:30
Andrés Taylor da49d08771
bugfix: add HAVING columns inside derived tables (#16976)
Signed-off-by: Andres Taylor <andres@planetscale.com>
2024-10-16 08:28:39 -06:00
Manan Gupta c30d5eec27
Change upgrade test to still use the older verion of tests (#16937)
Signed-off-by: Manan Gupta <manan@planetscale.com>
2024-10-15 13:46:11 -07:00
Matt Robenolt 7eaf23646a
go/stats: improve performance of safeJoinLabels (#16953)
Signed-off-by: Matt Robenolt <matt@ydekproductions.com>
2024-10-15 12:06:55 -07:00
Noble Mittal 4e89152485
VTAdmin: Support for `VDiff` create and show last (#16943)
Signed-off-by: Noble Mittal <noblemittal@outlook.com>
2024-10-15 12:36:23 +02:00
Noble Mittal 9414611fbf
VTAdmin: Support for Workflow Actions (#16816)
Signed-off-by: Noble Mittal <noblemittal@outlook.com>
2024-10-15 10:15:16 +02:00
Manan Gupta 19f9c95632
Flaky test fixes (#16940)
Signed-off-by: Manan Gupta <manan@planetscale.com>
2024-10-15 12:59:33 +05:30
vitess-bot 45a806736a
[main] Copy `v21.0.0-RC1` release notes (#16954)
Signed-off-by: Rohit Nayak <rohit@planetscale.com>
Co-authored-by: Rohit Nayak <rohit@planetscale.com>
2024-10-15 08:03:18 +02:00
Noble Mittal 7581a3f7fc
VTAdmin(web): Add refresh compatibility to workflow screen (all tabs) (#16865)
Signed-off-by: Noble Mittal <noblemittal@outlook.com>
2024-10-14 21:20:49 +02:00
Noble Mittal b3579b859c
VTAdmin: Support for `Materialize` Create (#16941)
Signed-off-by: Noble Mittal <noblemittal@outlook.com>
2024-10-14 21:20:04 +02:00
Matt Lord 8b37c52cac
Flakes: Address flakes in TestMoveTables* unit tests (#16942)
Signed-off-by: Matt Lord <mattalord@gmail.com>
2024-10-14 13:07:43 -04:00
Sina Siadat fc72c1c382
Update example operator.yaml to support vtgate HPA (#16805)
Signed-off-by: Sina Siadat <siadat@gmail.com>
2024-10-14 09:54:00 -06:00
Andrés Taylor 0d5aaf31e1
fixes bugs around expression precedence and LIKE (#16934)
Signed-off-by: Andres Taylor <andres@planetscale.com>
Signed-off-by: Manan Gupta <manan@planetscale.com>
Co-authored-by: Manan Gupta <manan@planetscale.com>
2024-10-14 11:01:19 +02:00
Shlomi Noach a4269dde5d
MySQL errors: `ERWrongParamcountToNativeFct` (#16914)
Signed-off-by: Shlomi Noach <2607934+shlomi-noach@users.noreply.github.com>
2024-10-14 12:58:07 +05:30
Rohit Nayak f0062e6daf
VTGate MoveTables Buffering: Fix panic when buffering is disabled (#16922)
Signed-off-by: Rohit Nayak <rohit@planetscale.com>
Signed-off-by: Harshit Gangal <harshit@planetscale.com>
Co-authored-by: Harshit Gangal <harshit@planetscale.com>
2024-10-11 09:38:13 +02:00
Noble Mittal d209847b47
VTAdmin: Add support for Create Reshard (#16903)
Signed-off-by: Noble Mittal <noblemittal@outlook.com>
2024-10-11 09:32:38 +02:00
dependabot[bot] 9d2e450fb4
Bump commons-io:commons-io from 2.7 to 2.14.0 in /java (#16889)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-10-10 12:19:30 -04:00
Harshit Gangal a7b903bb08
Add savepoint support to atomic distributed transaction (#16863)
Signed-off-by: Harshit Gangal <harshit@planetscale.com>
Signed-off-by: Manan Gupta <manan@planetscale.com>
Co-authored-by: Manan Gupta <manan@planetscale.com>
2024-10-10 15:10:23 +05:30
Tim Vaillancourt d75272ce75
Fix flag name typo from #16852 (#16921)
Signed-off-by: Tim Vaillancourt <tim@timvaillancourt.com>
2024-10-10 08:38:56 +02:00
Noble Mittal 0f015c9fc7
VTAdmin: Support for conclude txn and abandon age param (#16834)
Signed-off-by: Noble Mittal <noblemittal@outlook.com>
2024-10-09 15:04:51 +05:30
Andrés Taylor f40e076b4e
fix issue with json unmarshalling of operators with space in them (#16905)
Signed-off-by: Andres Taylor <andres@planetscale.com>
2024-10-08 09:15:57 +02:00
vitess-bot 2cef46e32d
Bump to `v22.0.0-SNAPSHOT` after the `v21.0.0-RC1` release (#16913)
Signed-off-by: Rohit Nayak <rohit@planetscale.com>
Co-authored-by: Rohit Nayak <rohit@planetscale.com>
2024-10-08 08:29:50 +02:00
2033 changed files with 182185 additions and 91761 deletions

8
.clomonitor.yml Normal file
View File

@ -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)

114
.github/CODEOWNERS vendored
View File

@ -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

View File

@ -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"

View File

@ -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 }}

View File

@ -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

View File

@ -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

View File

@ -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'

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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()

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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"

View 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"

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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"

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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: |

View File

@ -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

View File

@ -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

View File

@ -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}"

View File

@ -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

View File

@ -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

View File

@ -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/

View File

@ -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/

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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'

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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: |

View File

@ -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)

View File

@ -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'

View File

@ -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'

View File

@ -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'

View File

@ -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'

View File

@ -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'

View File

@ -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'

View File

@ -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

View 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