From 1bbd925c0a9994ed66a56d6b113480c031f3b362 Mon Sep 17 00:00:00 2001 From: "vitess-bot[bot]" <108069721+vitess-bot[bot]@users.noreply.github.com> Date: Wed, 29 Oct 2025 11:24:30 +0100 Subject: [PATCH] Cherry-pick 885917d5cbb55489747c2f0e368fc05c08659d52 with conflicts --- .github/actions/setup-mysql/action.yml | 64 +++++++++++++++++++ .github/workflows/cluster_endtoend_12.yml | 30 ++++----- .github/workflows/cluster_endtoend_13.yml | 30 ++++----- .github/workflows/cluster_endtoend_15.yml | 30 ++++----- .github/workflows/cluster_endtoend_18.yml | 30 ++++----- .github/workflows/cluster_endtoend_21.yml | 30 ++++----- .../cluster_endtoend_backup_pitr.yml | 30 ++++----- ...luster_endtoend_backup_pitr_mysqlshell.yml | 30 ++++----- ...luster_endtoend_backup_pitr_xtrabackup.yml | 18 ++++-- ...ter_endtoend_ers_prs_newfeatures_heavy.yml | 30 ++++----- .../workflows/cluster_endtoend_mysql84.yml | 30 ++++----- .../cluster_endtoend_mysql_server_vault.yml | 30 ++++----- .../cluster_endtoend_onlineddl_revert.yml | 30 ++++----- .../cluster_endtoend_onlineddl_scheduler.yml | 30 ++++----- .../cluster_endtoend_onlineddl_vrepl.yml | 30 ++++----- ...luster_endtoend_onlineddl_vrepl_stress.yml | 30 ++++----- ..._endtoend_onlineddl_vrepl_stress_suite.yml | 30 ++++----- ...cluster_endtoend_onlineddl_vrepl_suite.yml | 30 ++++----- .../cluster_endtoend_schemadiff_vrepl.yml | 30 ++++----- .../cluster_endtoend_tabletmanager_consul.yml | 30 ++++----- ...cluster_endtoend_tabletmanager_tablegc.yml | 30 ++++----- ..._endtoend_tabletmanager_throttler_topo.yml | 30 ++++----- ...cluster_endtoend_topo_connection_cache.yml | 30 ++++----- ...dtoend_vreplication_across_db_versions.yml | 30 ++++----- .../cluster_endtoend_vreplication_basic.yml | 30 ++++----- ...luster_endtoend_vreplication_cellalias.yml | 30 ++++----- ...er_endtoend_vreplication_copy_parallel.yml | 30 ++++----- ...dtoend_vreplication_foreign_key_stress.yml | 30 ++++----- ...endtoend_vreplication_mariadb_to_mysql.yml | 30 ++++----- .../cluster_endtoend_vreplication_migrate.yml | 30 ++++----- ...ter_endtoend_vreplication_multi_tenant.yml | 30 ++++----- ...ion_partial_movetables_and_materialize.yml | 30 ++++----- .../cluster_endtoend_vreplication_v2.yml | 30 ++++----- .../cluster_endtoend_vreplication_vdiff2.yml | 30 ++++----- ...replication_vtctldclient_movetables_tz.yml | 30 ++++----- .../workflows/cluster_endtoend_vstream.yml | 30 ++++----- .../workflows/cluster_endtoend_vtbackup.yml | 30 ++++----- ..._vtctlbackup_sharded_clustertest_heavy.yml | 30 ++++----- .../cluster_endtoend_vtgate_concurrentdml.yml | 30 ++++----- ...ster_endtoend_vtgate_foreignkey_stress.yml | 30 ++++----- .../cluster_endtoend_vtgate_gen4.yml | 30 ++++----- .../cluster_endtoend_vtgate_general_heavy.yml | 30 ++++----- .../cluster_endtoend_vtgate_godriver.yml | 30 ++++----- ...uster_endtoend_vtgate_partial_keyspace.yml | 30 ++++----- .../cluster_endtoend_vtgate_plantests.yml | 30 ++++----- .../cluster_endtoend_vtgate_queries.yml | 30 ++++----- ...cluster_endtoend_vtgate_readafterwrite.yml | 30 ++++----- .../cluster_endtoend_vtgate_reservedconn.yml | 30 ++++----- .../cluster_endtoend_vtgate_schema.yml | 30 ++++----- ...cluster_endtoend_vtgate_schema_tracker.yml | 30 ++++----- ...dtoend_vtgate_tablet_healthcheck_cache.yml | 30 ++++----- .../cluster_endtoend_vtgate_topo.yml | 30 ++++----- .../cluster_endtoend_vtgate_topo_consul.yml | 30 ++++----- .../cluster_endtoend_vtgate_topo_etcd.yml | 30 ++++----- .../cluster_endtoend_vtgate_transaction.yml | 30 ++++----- .../cluster_endtoend_vtgate_unsharded.yml | 30 ++++----- .../cluster_endtoend_vtgate_vindex_heavy.yml | 30 ++++----- .../cluster_endtoend_vtgate_vschema.yml | 30 ++++----- .github/workflows/cluster_endtoend_vtorc.yml | 32 ++++------ .../cluster_endtoend_vttablet_prscomplex.yml | 30 ++++----- .../workflows/cluster_endtoend_xb_backup.yml | 18 ++++-- .../cluster_endtoend_xb_recovery.yml | 18 ++++-- .github/workflows/codecov.yml | 15 +++-- .github/workflows/codeql_analysis.yml | 25 ++------ .github/workflows/e2e_race.yml | 20 +++--- .github/workflows/endtoend.yml | 12 ++-- .github/workflows/unit_race.yml | 15 +++-- .github/workflows/unit_race_evalengine.yml | 15 +++-- .../unit_test_evalengine_mysql57.yml | 17 ++++- .../unit_test_evalengine_mysql80.yml | 17 ++++- .../unit_test_evalengine_mysql84.yml | 17 ++++- .github/workflows/unit_test_mysql57.yml | 17 ++++- .github/workflows/unit_test_mysql80.yml | 17 ++++- .github/workflows/unit_test_mysql84.yml | 17 ++++- .../upgrade_downgrade_test_backups_e2e.yml | 26 ++------ ...owngrade_test_backups_e2e_next_release.yml | 26 ++------ .../upgrade_downgrade_test_backups_manual.yml | 26 ++------ ...grade_test_backups_manual_next_release.yml | 26 ++------ .../upgrade_downgrade_test_onlineddl_flow.yml | 26 ++------ ...e_downgrade_test_query_serving_queries.yml | 26 ++------ ...downgrade_test_query_serving_queries_2.yml | 26 ++------ ...t_query_serving_queries_2_next_release.yml | 26 ++------ ...est_query_serving_queries_next_release.yml | 26 ++------ ...de_downgrade_test_query_serving_schema.yml | 26 ++------ ...test_query_serving_schema_next_release.yml | 26 ++------ ...rade_downgrade_test_reparent_new_vtctl.yml | 26 ++------ ...e_downgrade_test_reparent_new_vttablet.yml | 26 ++------ ...rade_downgrade_test_reparent_old_vtctl.yml | 26 ++------ ...e_downgrade_test_reparent_old_vttablet.yml | 26 ++------ .../upgrade_downgrade_test_semi_sync.yml | 26 ++------ .github/workflows/vitess_tester_vtgate.yml | 22 ++++--- test/templates/cluster_endtoend_test.tpl | 38 ++++++++--- .../cluster_endtoend_test_mysql57.tpl | 13 +++- test/templates/cluster_vitess_tester.tpl | 22 ++++--- test/templates/unit_test.tpl | 25 +++++++- 95 files changed, 1150 insertions(+), 1450 deletions(-) create mode 100644 .github/actions/setup-mysql/action.yml diff --git a/.github/actions/setup-mysql/action.yml b/.github/actions/setup-mysql/action.yml new file mode 100644 index 00000000000..444c2133a82 --- /dev/null +++ b/.github/actions/setup-mysql/action.yml @@ -0,0 +1,64 @@ +name: 'Setup MySQL' +description: 'Set up MySQL server for use in GitHub Actions workflows' +inputs: + flavor: + description: 'The flavor of MySQL to use (e.g. mysql-5.7, mysql-8.0, mysql-8.4)' + required: true +runs: + using: "composite" + steps: + - name: Setup MySQL + shell: bash + run: | + export DEBIAN_FRONTEND="noninteractive" + sudo 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 + + # We have to install this old version of libaio1. See also: + # https://bugs.launchpad.net/ubuntu/+source/libaio/+bug/2067501 + wget 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 && \ + rm libaio1_0.3.112-13build1_amd64.deb + + # 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.35-1_all.deb + + if [[ "${{ inputs.flavor }}" == "mysql-5.7" ]]; then + # 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 update + # 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 + elif [[ "${{ inputs.flavor }}" == "mysql-8.0" ]]; then + 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 + elif [[ "${{ inputs.flavor }}" == "mysql-8.4" ]]; then + 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 update + sudo DEBIAN_FRONTEND="noninteractive" apt-get install -y mysql-server mysql-client + else + echo "Unsupported MySQL flavor: ${{ inputs.flavor }}" + exit 1 + fi + + 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" diff --git a/.github/workflows/cluster_endtoend_12.yml b/.github/workflows/cluster_endtoend_12.yml index 642db8ff5ff..8f1b5091b89 100644 --- a/.github/workflows/cluster_endtoend_12.yml +++ b/.github/workflows/cluster_endtoend_12.yml @@ -86,34 +86,28 @@ jobs: echo "set man-db/auto-update false" | sudo debconf-communicate sudo dpkg-reconfigure man-db + - name: Setup MySQL + if: steps.changes.outputs.end_to_end == 'true' + uses: ./.github/actions/setup-mysql + with: + flavor: mysql-8.4 + - name: Get dependencies if: 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.4 - wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.35-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 - - # 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 + sudo apt-get -qq install -y mysql-shell # Install everything else we need, and configure +<<<<<<< HEAD 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 apt-get -qq install -y make unzip g++ etcd-client etcd-server curl git wget xz-utils libncurses6 +>>>>>>> 885917d5cb (ci: DRY up MySQL Setup (#18815)) - 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 diff --git a/.github/workflows/cluster_endtoend_13.yml b/.github/workflows/cluster_endtoend_13.yml index 8ba0c3cec6a..0e7a203b220 100644 --- a/.github/workflows/cluster_endtoend_13.yml +++ b/.github/workflows/cluster_endtoend_13.yml @@ -86,34 +86,28 @@ jobs: echo "set man-db/auto-update false" | sudo debconf-communicate sudo dpkg-reconfigure man-db + - name: Setup MySQL + if: steps.changes.outputs.end_to_end == 'true' + uses: ./.github/actions/setup-mysql + with: + flavor: mysql-8.4 + - name: Get dependencies if: 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.4 - wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.35-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 - - # 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 + sudo apt-get -qq install -y mysql-shell # Install everything else we need, and configure +<<<<<<< HEAD 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 apt-get -qq install -y make unzip g++ etcd-client etcd-server curl git wget xz-utils libncurses6 +>>>>>>> 885917d5cb (ci: DRY up MySQL Setup (#18815)) - 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 diff --git a/.github/workflows/cluster_endtoend_15.yml b/.github/workflows/cluster_endtoend_15.yml index fbc9d18bae6..6b137ea2eef 100644 --- a/.github/workflows/cluster_endtoend_15.yml +++ b/.github/workflows/cluster_endtoend_15.yml @@ -86,34 +86,28 @@ jobs: echo "set man-db/auto-update false" | sudo debconf-communicate sudo dpkg-reconfigure man-db + - name: Setup MySQL + if: steps.changes.outputs.end_to_end == 'true' + uses: ./.github/actions/setup-mysql + with: + flavor: mysql-8.4 + - name: Get dependencies if: 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.4 - wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.35-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 - - # 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 + sudo apt-get -qq install -y mysql-shell # Install everything else we need, and configure +<<<<<<< HEAD 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 apt-get -qq install -y make unzip g++ etcd-client etcd-server curl git wget xz-utils libncurses6 +>>>>>>> 885917d5cb (ci: DRY up MySQL Setup (#18815)) - 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 diff --git a/.github/workflows/cluster_endtoend_18.yml b/.github/workflows/cluster_endtoend_18.yml index 63f05159e0b..5c062db2cd8 100644 --- a/.github/workflows/cluster_endtoend_18.yml +++ b/.github/workflows/cluster_endtoend_18.yml @@ -86,34 +86,28 @@ jobs: echo "set man-db/auto-update false" | sudo debconf-communicate sudo dpkg-reconfigure man-db + - name: Setup MySQL + if: steps.changes.outputs.end_to_end == 'true' + uses: ./.github/actions/setup-mysql + with: + flavor: mysql-8.4 + - name: Get dependencies if: 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.4 - wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.35-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 - - # 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 + sudo apt-get -qq install -y mysql-shell # Install everything else we need, and configure +<<<<<<< HEAD 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 apt-get -qq install -y make unzip g++ etcd-client etcd-server curl git wget xz-utils libncurses6 +>>>>>>> 885917d5cb (ci: DRY up MySQL Setup (#18815)) - 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 diff --git a/.github/workflows/cluster_endtoend_21.yml b/.github/workflows/cluster_endtoend_21.yml index 10afce57135..8169f0e87a4 100644 --- a/.github/workflows/cluster_endtoend_21.yml +++ b/.github/workflows/cluster_endtoend_21.yml @@ -86,34 +86,28 @@ jobs: echo "set man-db/auto-update false" | sudo debconf-communicate sudo dpkg-reconfigure man-db + - name: Setup MySQL + if: steps.changes.outputs.end_to_end == 'true' + uses: ./.github/actions/setup-mysql + with: + flavor: mysql-8.4 + - name: Get dependencies if: 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.4 - wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.35-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 - - # 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 + sudo apt-get -qq install -y mysql-shell # Install everything else we need, and configure +<<<<<<< HEAD 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 apt-get -qq install -y make unzip g++ etcd-client etcd-server curl git wget xz-utils libncurses6 +>>>>>>> 885917d5cb (ci: DRY up MySQL Setup (#18815)) - 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 diff --git a/.github/workflows/cluster_endtoend_backup_pitr.yml b/.github/workflows/cluster_endtoend_backup_pitr.yml index 29d00422bd5..f2b0c9478db 100644 --- a/.github/workflows/cluster_endtoend_backup_pitr.yml +++ b/.github/workflows/cluster_endtoend_backup_pitr.yml @@ -86,34 +86,28 @@ jobs: echo "set man-db/auto-update false" | sudo debconf-communicate sudo dpkg-reconfigure man-db + - name: Setup MySQL + if: steps.changes.outputs.end_to_end == 'true' + uses: ./.github/actions/setup-mysql + with: + flavor: mysql-8.4 + - name: Get dependencies if: 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.4 - wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.35-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 - - # 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 + sudo apt-get -qq install -y mysql-shell # Install everything else we need, and configure +<<<<<<< HEAD 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 apt-get -qq install -y make unzip g++ etcd-client etcd-server curl git wget xz-utils libncurses6 +>>>>>>> 885917d5cb (ci: DRY up MySQL Setup (#18815)) - 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 diff --git a/.github/workflows/cluster_endtoend_backup_pitr_mysqlshell.yml b/.github/workflows/cluster_endtoend_backup_pitr_mysqlshell.yml index 92a1007a6dc..6cbdde08eb0 100644 --- a/.github/workflows/cluster_endtoend_backup_pitr_mysqlshell.yml +++ b/.github/workflows/cluster_endtoend_backup_pitr_mysqlshell.yml @@ -86,34 +86,28 @@ jobs: echo "set man-db/auto-update false" | sudo debconf-communicate sudo dpkg-reconfigure man-db + - name: Setup MySQL + if: steps.changes.outputs.end_to_end == 'true' + uses: ./.github/actions/setup-mysql + with: + flavor: mysql-8.4 + - name: Get dependencies if: 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.4 - wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.35-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 - - # 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 + sudo apt-get -qq install -y mysql-shell # Install everything else we need, and configure +<<<<<<< HEAD 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 apt-get -qq install -y make unzip g++ etcd-client etcd-server curl git wget xz-utils libncurses6 +>>>>>>> 885917d5cb (ci: DRY up MySQL Setup (#18815)) - 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 diff --git a/.github/workflows/cluster_endtoend_backup_pitr_xtrabackup.yml b/.github/workflows/cluster_endtoend_backup_pitr_xtrabackup.yml index aca94d79ec0..10c78bc5525 100644 --- a/.github/workflows/cluster_endtoend_backup_pitr_xtrabackup.yml +++ b/.github/workflows/cluster_endtoend_backup_pitr_xtrabackup.yml @@ -93,26 +93,36 @@ jobs: # Setup Percona Server for MySQL 8.0 sudo apt-get -qq update - sudo apt-get -qq install -y lsb-release gnupg2 curl + sudo apt-get -qq install -y lsb-release gnupg2 wget https://repo.percona.com/apt/percona-release_latest.$(lsb_release -sc)_all.deb sudo DEBIAN_FRONTEND="noninteractive" dpkg -i percona-release_latest.$(lsb_release -sc)_all.deb sudo percona-release setup ps80 sudo apt-get -qq update +<<<<<<< HEAD # Install everything else we need, and configure 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 apt-get -qq install -y percona-server-server percona-server-client +>>>>>>> 885917d5cb (ci: DRY up MySQL Setup (#18815)) 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 + + sudo apt-get -qq install -y percona-xtrabackup-80 lz4 + + # Install everything else we need, and configure + sudo apt-get -qq install -y make unzip g++ etcd-client etcd-server curl git wget xz-utils libncurses6 + + sudo service etcd stop + go mod download # install JUnit report formatter go install github.com/vitessio/go-junit-report@HEAD - sudo apt-get -qq install -y percona-xtrabackup-80 lz4 - - name: Setup launchable dependencies if: github.event_name == 'pull_request' && github.event.pull_request.draft == 'false' && steps.changes.outputs.end_to_end == 'true' && github.base_ref == 'main' run: | diff --git a/.github/workflows/cluster_endtoend_ers_prs_newfeatures_heavy.yml b/.github/workflows/cluster_endtoend_ers_prs_newfeatures_heavy.yml index 1beff5ac0f2..9a996ef685e 100644 --- a/.github/workflows/cluster_endtoend_ers_prs_newfeatures_heavy.yml +++ b/.github/workflows/cluster_endtoend_ers_prs_newfeatures_heavy.yml @@ -86,34 +86,28 @@ jobs: echo "set man-db/auto-update false" | sudo debconf-communicate sudo dpkg-reconfigure man-db + - name: Setup MySQL + if: steps.changes.outputs.end_to_end == 'true' + uses: ./.github/actions/setup-mysql + with: + flavor: mysql-8.4 + - name: Get dependencies if: 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.4 - wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.35-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 - - # 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 + sudo apt-get -qq install -y mysql-shell # Install everything else we need, and configure +<<<<<<< HEAD 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 apt-get -qq install -y make unzip g++ etcd-client etcd-server curl git wget xz-utils libncurses6 +>>>>>>> 885917d5cb (ci: DRY up MySQL Setup (#18815)) - 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 diff --git a/.github/workflows/cluster_endtoend_mysql84.yml b/.github/workflows/cluster_endtoend_mysql84.yml index e86d664bb01..674e867e854 100644 --- a/.github/workflows/cluster_endtoend_mysql84.yml +++ b/.github/workflows/cluster_endtoend_mysql84.yml @@ -86,34 +86,28 @@ jobs: echo "set man-db/auto-update false" | sudo debconf-communicate sudo dpkg-reconfigure man-db + - name: Setup MySQL + if: steps.changes.outputs.end_to_end == 'true' + uses: ./.github/actions/setup-mysql + with: + flavor: mysql-8.4 + - name: Get dependencies if: 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.4 - wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.35-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 - - # 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 + sudo apt-get -qq install -y mysql-shell # Install everything else we need, and configure +<<<<<<< HEAD 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 apt-get -qq install -y make unzip g++ etcd-client etcd-server curl git wget xz-utils libncurses6 +>>>>>>> 885917d5cb (ci: DRY up MySQL Setup (#18815)) - 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 diff --git a/.github/workflows/cluster_endtoend_mysql_server_vault.yml b/.github/workflows/cluster_endtoend_mysql_server_vault.yml index 762ad819f49..80cb0d255ad 100644 --- a/.github/workflows/cluster_endtoend_mysql_server_vault.yml +++ b/.github/workflows/cluster_endtoend_mysql_server_vault.yml @@ -86,34 +86,28 @@ jobs: echo "set man-db/auto-update false" | sudo debconf-communicate sudo dpkg-reconfigure man-db + - name: Setup MySQL + if: steps.changes.outputs.end_to_end == 'true' + uses: ./.github/actions/setup-mysql + with: + flavor: mysql-8.4 + - name: Get dependencies if: 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.4 - wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.35-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 - - # 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 + sudo apt-get -qq install -y mysql-shell # Install everything else we need, and configure +<<<<<<< HEAD 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 apt-get -qq install -y make unzip g++ etcd-client etcd-server curl git wget xz-utils libncurses6 +>>>>>>> 885917d5cb (ci: DRY up MySQL Setup (#18815)) - 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 diff --git a/.github/workflows/cluster_endtoend_onlineddl_revert.yml b/.github/workflows/cluster_endtoend_onlineddl_revert.yml index 99fb005c6fc..299a33adae2 100644 --- a/.github/workflows/cluster_endtoend_onlineddl_revert.yml +++ b/.github/workflows/cluster_endtoend_onlineddl_revert.yml @@ -87,34 +87,28 @@ jobs: echo "set man-db/auto-update false" | sudo debconf-communicate sudo dpkg-reconfigure man-db + - name: Setup MySQL + if: steps.changes.outputs.end_to_end == 'true' + uses: ./.github/actions/setup-mysql + with: + flavor: mysql-8.4 + - name: Get dependencies if: 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.4 - wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.35-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 - - # 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 + sudo apt-get -qq install -y mysql-shell # Install everything else we need, and configure +<<<<<<< HEAD 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 apt-get -qq install -y make unzip g++ etcd-client etcd-server curl git wget xz-utils libncurses6 +>>>>>>> 885917d5cb (ci: DRY up MySQL Setup (#18815)) - 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 diff --git a/.github/workflows/cluster_endtoend_onlineddl_scheduler.yml b/.github/workflows/cluster_endtoend_onlineddl_scheduler.yml index f4c3a0b755d..0a4edf426d1 100644 --- a/.github/workflows/cluster_endtoend_onlineddl_scheduler.yml +++ b/.github/workflows/cluster_endtoend_onlineddl_scheduler.yml @@ -87,34 +87,28 @@ jobs: echo "set man-db/auto-update false" | sudo debconf-communicate sudo dpkg-reconfigure man-db + - name: Setup MySQL + if: steps.changes.outputs.end_to_end == 'true' + uses: ./.github/actions/setup-mysql + with: + flavor: mysql-8.4 + - name: Get dependencies if: 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.4 - wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.35-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 - - # 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 + sudo apt-get -qq install -y mysql-shell # Install everything else we need, and configure +<<<<<<< HEAD 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 apt-get -qq install -y make unzip g++ etcd-client etcd-server curl git wget xz-utils libncurses6 +>>>>>>> 885917d5cb (ci: DRY up MySQL Setup (#18815)) - 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 diff --git a/.github/workflows/cluster_endtoend_onlineddl_vrepl.yml b/.github/workflows/cluster_endtoend_onlineddl_vrepl.yml index 994cd7f0b75..e740a09b537 100644 --- a/.github/workflows/cluster_endtoend_onlineddl_vrepl.yml +++ b/.github/workflows/cluster_endtoend_onlineddl_vrepl.yml @@ -87,34 +87,28 @@ jobs: echo "set man-db/auto-update false" | sudo debconf-communicate sudo dpkg-reconfigure man-db + - name: Setup MySQL + if: steps.changes.outputs.end_to_end == 'true' + uses: ./.github/actions/setup-mysql + with: + flavor: mysql-8.4 + - name: Get dependencies if: 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.4 - wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.35-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 - - # 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 + sudo apt-get -qq install -y mysql-shell # Install everything else we need, and configure +<<<<<<< HEAD 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 apt-get -qq install -y make unzip g++ etcd-client etcd-server curl git wget xz-utils libncurses6 +>>>>>>> 885917d5cb (ci: DRY up MySQL Setup (#18815)) - 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 diff --git a/.github/workflows/cluster_endtoend_onlineddl_vrepl_stress.yml b/.github/workflows/cluster_endtoend_onlineddl_vrepl_stress.yml index dd181fd933c..df4ceba0802 100644 --- a/.github/workflows/cluster_endtoend_onlineddl_vrepl_stress.yml +++ b/.github/workflows/cluster_endtoend_onlineddl_vrepl_stress.yml @@ -87,34 +87,28 @@ jobs: echo "set man-db/auto-update false" | sudo debconf-communicate sudo dpkg-reconfigure man-db + - name: Setup MySQL + if: steps.changes.outputs.end_to_end == 'true' + uses: ./.github/actions/setup-mysql + with: + flavor: mysql-8.4 + - name: Get dependencies if: 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.4 - wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.35-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 - - # 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 + sudo apt-get -qq install -y mysql-shell # Install everything else we need, and configure +<<<<<<< HEAD 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 apt-get -qq install -y make unzip g++ etcd-client etcd-server curl git wget xz-utils libncurses6 +>>>>>>> 885917d5cb (ci: DRY up MySQL Setup (#18815)) - 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 diff --git a/.github/workflows/cluster_endtoend_onlineddl_vrepl_stress_suite.yml b/.github/workflows/cluster_endtoend_onlineddl_vrepl_stress_suite.yml index 190dd47597a..75123e209c7 100644 --- a/.github/workflows/cluster_endtoend_onlineddl_vrepl_stress_suite.yml +++ b/.github/workflows/cluster_endtoend_onlineddl_vrepl_stress_suite.yml @@ -87,34 +87,28 @@ jobs: echo "set man-db/auto-update false" | sudo debconf-communicate sudo dpkg-reconfigure man-db + - name: Setup MySQL + if: steps.changes.outputs.end_to_end == 'true' + uses: ./.github/actions/setup-mysql + with: + flavor: mysql-8.4 + - name: Get dependencies if: 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.4 - wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.35-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 - - # 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 + sudo apt-get -qq install -y mysql-shell # Install everything else we need, and configure +<<<<<<< HEAD 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 apt-get -qq install -y make unzip g++ etcd-client etcd-server curl git wget xz-utils libncurses6 +>>>>>>> 885917d5cb (ci: DRY up MySQL Setup (#18815)) - 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 diff --git a/.github/workflows/cluster_endtoend_onlineddl_vrepl_suite.yml b/.github/workflows/cluster_endtoend_onlineddl_vrepl_suite.yml index b0a4171b62c..46dc5b77132 100644 --- a/.github/workflows/cluster_endtoend_onlineddl_vrepl_suite.yml +++ b/.github/workflows/cluster_endtoend_onlineddl_vrepl_suite.yml @@ -87,34 +87,28 @@ jobs: echo "set man-db/auto-update false" | sudo debconf-communicate sudo dpkg-reconfigure man-db + - name: Setup MySQL + if: steps.changes.outputs.end_to_end == 'true' + uses: ./.github/actions/setup-mysql + with: + flavor: mysql-8.4 + - name: Get dependencies if: 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.4 - wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.35-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 - - # 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 + sudo apt-get -qq install -y mysql-shell # Install everything else we need, and configure +<<<<<<< HEAD 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 apt-get -qq install -y make unzip g++ etcd-client etcd-server curl git wget xz-utils libncurses6 +>>>>>>> 885917d5cb (ci: DRY up MySQL Setup (#18815)) - 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 diff --git a/.github/workflows/cluster_endtoend_schemadiff_vrepl.yml b/.github/workflows/cluster_endtoend_schemadiff_vrepl.yml index 25e5be464b3..ed96148ad84 100644 --- a/.github/workflows/cluster_endtoend_schemadiff_vrepl.yml +++ b/.github/workflows/cluster_endtoend_schemadiff_vrepl.yml @@ -87,34 +87,28 @@ jobs: echo "set man-db/auto-update false" | sudo debconf-communicate sudo dpkg-reconfigure man-db + - name: Setup MySQL + if: steps.changes.outputs.end_to_end == 'true' + uses: ./.github/actions/setup-mysql + with: + flavor: mysql-8.4 + - name: Get dependencies if: 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.4 - wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.35-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 - - # 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 + sudo apt-get -qq install -y mysql-shell # Install everything else we need, and configure +<<<<<<< HEAD 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 apt-get -qq install -y make unzip g++ etcd-client etcd-server curl git wget xz-utils libncurses6 +>>>>>>> 885917d5cb (ci: DRY up MySQL Setup (#18815)) - 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 diff --git a/.github/workflows/cluster_endtoend_tabletmanager_consul.yml b/.github/workflows/cluster_endtoend_tabletmanager_consul.yml index 5b5d0cc2bef..d18aa220635 100644 --- a/.github/workflows/cluster_endtoend_tabletmanager_consul.yml +++ b/.github/workflows/cluster_endtoend_tabletmanager_consul.yml @@ -86,34 +86,28 @@ jobs: echo "set man-db/auto-update false" | sudo debconf-communicate sudo dpkg-reconfigure man-db + - name: Setup MySQL + if: steps.changes.outputs.end_to_end == 'true' + uses: ./.github/actions/setup-mysql + with: + flavor: mysql-8.4 + - name: Get dependencies if: 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.4 - wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.35-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 - - # 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 + sudo apt-get -qq install -y mysql-shell # Install everything else we need, and configure +<<<<<<< HEAD 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 apt-get -qq install -y make unzip g++ etcd-client etcd-server curl git wget xz-utils libncurses6 +>>>>>>> 885917d5cb (ci: DRY up MySQL Setup (#18815)) - 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 diff --git a/.github/workflows/cluster_endtoend_tabletmanager_tablegc.yml b/.github/workflows/cluster_endtoend_tabletmanager_tablegc.yml index daa0124de99..7a099ca310e 100644 --- a/.github/workflows/cluster_endtoend_tabletmanager_tablegc.yml +++ b/.github/workflows/cluster_endtoend_tabletmanager_tablegc.yml @@ -86,34 +86,28 @@ jobs: echo "set man-db/auto-update false" | sudo debconf-communicate sudo dpkg-reconfigure man-db + - name: Setup MySQL + if: steps.changes.outputs.end_to_end == 'true' + uses: ./.github/actions/setup-mysql + with: + flavor: mysql-8.4 + - name: Get dependencies if: 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.4 - wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.35-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 - - # 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 + sudo apt-get -qq install -y mysql-shell # Install everything else we need, and configure +<<<<<<< HEAD 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 apt-get -qq install -y make unzip g++ etcd-client etcd-server curl git wget xz-utils libncurses6 +>>>>>>> 885917d5cb (ci: DRY up MySQL Setup (#18815)) - 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 diff --git a/.github/workflows/cluster_endtoend_tabletmanager_throttler_topo.yml b/.github/workflows/cluster_endtoend_tabletmanager_throttler_topo.yml index 83ce3e8beaf..0c7017487ce 100644 --- a/.github/workflows/cluster_endtoend_tabletmanager_throttler_topo.yml +++ b/.github/workflows/cluster_endtoend_tabletmanager_throttler_topo.yml @@ -86,34 +86,28 @@ jobs: echo "set man-db/auto-update false" | sudo debconf-communicate sudo dpkg-reconfigure man-db + - name: Setup MySQL + if: steps.changes.outputs.end_to_end == 'true' + uses: ./.github/actions/setup-mysql + with: + flavor: mysql-8.4 + - name: Get dependencies if: 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.4 - wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.35-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 - - # 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 + sudo apt-get -qq install -y mysql-shell # Install everything else we need, and configure +<<<<<<< HEAD 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 apt-get -qq install -y make unzip g++ etcd-client etcd-server curl git wget xz-utils libncurses6 +>>>>>>> 885917d5cb (ci: DRY up MySQL Setup (#18815)) - 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 diff --git a/.github/workflows/cluster_endtoend_topo_connection_cache.yml b/.github/workflows/cluster_endtoend_topo_connection_cache.yml index 9f36bb82340..856cccb119a 100644 --- a/.github/workflows/cluster_endtoend_topo_connection_cache.yml +++ b/.github/workflows/cluster_endtoend_topo_connection_cache.yml @@ -86,34 +86,28 @@ jobs: echo "set man-db/auto-update false" | sudo debconf-communicate sudo dpkg-reconfigure man-db + - name: Setup MySQL + if: steps.changes.outputs.end_to_end == 'true' + uses: ./.github/actions/setup-mysql + with: + flavor: mysql-8.4 + - name: Get dependencies if: 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.4 - wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.35-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 - - # 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 + sudo apt-get -qq install -y mysql-shell # Install everything else we need, and configure +<<<<<<< HEAD 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 apt-get -qq install -y make unzip g++ etcd-client etcd-server curl git wget xz-utils libncurses6 +>>>>>>> 885917d5cb (ci: DRY up MySQL Setup (#18815)) - 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 diff --git a/.github/workflows/cluster_endtoend_vreplication_across_db_versions.yml b/.github/workflows/cluster_endtoend_vreplication_across_db_versions.yml index 72ca348e4cc..7595df25f9f 100644 --- a/.github/workflows/cluster_endtoend_vreplication_across_db_versions.yml +++ b/.github/workflows/cluster_endtoend_vreplication_across_db_versions.yml @@ -86,34 +86,28 @@ jobs: echo "set man-db/auto-update false" | sudo debconf-communicate sudo dpkg-reconfigure man-db + - name: Setup MySQL + if: steps.changes.outputs.end_to_end == 'true' + uses: ./.github/actions/setup-mysql + with: + flavor: mysql-8.4 + - name: Get dependencies if: 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.4 - wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.35-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 - - # 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 + sudo apt-get -qq install -y mysql-shell # Install everything else we need, and configure +<<<<<<< HEAD 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 apt-get -qq install -y make unzip g++ etcd-client etcd-server curl git wget xz-utils libncurses6 +>>>>>>> 885917d5cb (ci: DRY up MySQL Setup (#18815)) - 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 diff --git a/.github/workflows/cluster_endtoend_vreplication_basic.yml b/.github/workflows/cluster_endtoend_vreplication_basic.yml index c0bb1654101..aae1f36103b 100644 --- a/.github/workflows/cluster_endtoend_vreplication_basic.yml +++ b/.github/workflows/cluster_endtoend_vreplication_basic.yml @@ -86,34 +86,28 @@ jobs: echo "set man-db/auto-update false" | sudo debconf-communicate sudo dpkg-reconfigure man-db + - name: Setup MySQL + if: steps.changes.outputs.end_to_end == 'true' + uses: ./.github/actions/setup-mysql + with: + flavor: mysql-8.4 + - name: Get dependencies if: 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.4 - wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.35-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 - - # 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 + sudo apt-get -qq install -y mysql-shell # Install everything else we need, and configure +<<<<<<< HEAD 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 apt-get -qq install -y make unzip g++ etcd-client etcd-server curl git wget xz-utils libncurses6 +>>>>>>> 885917d5cb (ci: DRY up MySQL Setup (#18815)) - 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 diff --git a/.github/workflows/cluster_endtoend_vreplication_cellalias.yml b/.github/workflows/cluster_endtoend_vreplication_cellalias.yml index 9a630625e57..5c41684f788 100644 --- a/.github/workflows/cluster_endtoend_vreplication_cellalias.yml +++ b/.github/workflows/cluster_endtoend_vreplication_cellalias.yml @@ -86,34 +86,28 @@ jobs: echo "set man-db/auto-update false" | sudo debconf-communicate sudo dpkg-reconfigure man-db + - name: Setup MySQL + if: steps.changes.outputs.end_to_end == 'true' + uses: ./.github/actions/setup-mysql + with: + flavor: mysql-8.4 + - name: Get dependencies if: 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.4 - wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.35-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 - - # 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 + sudo apt-get -qq install -y mysql-shell # Install everything else we need, and configure +<<<<<<< HEAD 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 apt-get -qq install -y make unzip g++ etcd-client etcd-server curl git wget xz-utils libncurses6 +>>>>>>> 885917d5cb (ci: DRY up MySQL Setup (#18815)) - 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 diff --git a/.github/workflows/cluster_endtoend_vreplication_copy_parallel.yml b/.github/workflows/cluster_endtoend_vreplication_copy_parallel.yml index 53ff5e286ee..4ad60000695 100644 --- a/.github/workflows/cluster_endtoend_vreplication_copy_parallel.yml +++ b/.github/workflows/cluster_endtoend_vreplication_copy_parallel.yml @@ -86,34 +86,28 @@ jobs: echo "set man-db/auto-update false" | sudo debconf-communicate sudo dpkg-reconfigure man-db + - name: Setup MySQL + if: steps.changes.outputs.end_to_end == 'true' + uses: ./.github/actions/setup-mysql + with: + flavor: mysql-8.4 + - name: Get dependencies if: 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.4 - wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.35-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 - - # 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 + sudo apt-get -qq install -y mysql-shell # Install everything else we need, and configure +<<<<<<< HEAD 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 apt-get -qq install -y make unzip g++ etcd-client etcd-server curl git wget xz-utils libncurses6 +>>>>>>> 885917d5cb (ci: DRY up MySQL Setup (#18815)) - 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 diff --git a/.github/workflows/cluster_endtoend_vreplication_foreign_key_stress.yml b/.github/workflows/cluster_endtoend_vreplication_foreign_key_stress.yml index 492b3b70393..4c9c058997a 100644 --- a/.github/workflows/cluster_endtoend_vreplication_foreign_key_stress.yml +++ b/.github/workflows/cluster_endtoend_vreplication_foreign_key_stress.yml @@ -86,34 +86,28 @@ jobs: echo "set man-db/auto-update false" | sudo debconf-communicate sudo dpkg-reconfigure man-db + - name: Setup MySQL + if: steps.changes.outputs.end_to_end == 'true' + uses: ./.github/actions/setup-mysql + with: + flavor: mysql-8.4 + - name: Get dependencies if: 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.4 - wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.35-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 - - # 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 + sudo apt-get -qq install -y mysql-shell # Install everything else we need, and configure +<<<<<<< HEAD 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 apt-get -qq install -y make unzip g++ etcd-client etcd-server curl git wget xz-utils libncurses6 +>>>>>>> 885917d5cb (ci: DRY up MySQL Setup (#18815)) - 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 diff --git a/.github/workflows/cluster_endtoend_vreplication_mariadb_to_mysql.yml b/.github/workflows/cluster_endtoend_vreplication_mariadb_to_mysql.yml index d27b9835aad..5bf1bf1e00d 100644 --- a/.github/workflows/cluster_endtoend_vreplication_mariadb_to_mysql.yml +++ b/.github/workflows/cluster_endtoend_vreplication_mariadb_to_mysql.yml @@ -86,34 +86,28 @@ jobs: echo "set man-db/auto-update false" | sudo debconf-communicate sudo dpkg-reconfigure man-db + - name: Setup MySQL + if: steps.changes.outputs.end_to_end == 'true' + uses: ./.github/actions/setup-mysql + with: + flavor: mysql-8.4 + - name: Get dependencies if: 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.4 - wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.35-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 - - # 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 + sudo apt-get -qq install -y mysql-shell # Install everything else we need, and configure +<<<<<<< HEAD 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 apt-get -qq install -y make unzip g++ etcd-client etcd-server curl git wget xz-utils libncurses6 +>>>>>>> 885917d5cb (ci: DRY up MySQL Setup (#18815)) - 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 diff --git a/.github/workflows/cluster_endtoend_vreplication_migrate.yml b/.github/workflows/cluster_endtoend_vreplication_migrate.yml index 40d8d9e4dba..653b9d99bc1 100644 --- a/.github/workflows/cluster_endtoend_vreplication_migrate.yml +++ b/.github/workflows/cluster_endtoend_vreplication_migrate.yml @@ -86,34 +86,28 @@ jobs: echo "set man-db/auto-update false" | sudo debconf-communicate sudo dpkg-reconfigure man-db + - name: Setup MySQL + if: steps.changes.outputs.end_to_end == 'true' + uses: ./.github/actions/setup-mysql + with: + flavor: mysql-8.4 + - name: Get dependencies if: 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.4 - wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.35-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 - - # 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 + sudo apt-get -qq install -y mysql-shell # Install everything else we need, and configure +<<<<<<< HEAD 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 apt-get -qq install -y make unzip g++ etcd-client etcd-server curl git wget xz-utils libncurses6 +>>>>>>> 885917d5cb (ci: DRY up MySQL Setup (#18815)) - 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 diff --git a/.github/workflows/cluster_endtoend_vreplication_multi_tenant.yml b/.github/workflows/cluster_endtoend_vreplication_multi_tenant.yml index e183ceea577..20271e458a6 100644 --- a/.github/workflows/cluster_endtoend_vreplication_multi_tenant.yml +++ b/.github/workflows/cluster_endtoend_vreplication_multi_tenant.yml @@ -86,34 +86,28 @@ jobs: echo "set man-db/auto-update false" | sudo debconf-communicate sudo dpkg-reconfigure man-db + - name: Setup MySQL + if: steps.changes.outputs.end_to_end == 'true' + uses: ./.github/actions/setup-mysql + with: + flavor: mysql-8.4 + - name: Get dependencies if: 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.4 - wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.35-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 - - # 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 + sudo apt-get -qq install -y mysql-shell # Install everything else we need, and configure +<<<<<<< HEAD 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 apt-get -qq install -y make unzip g++ etcd-client etcd-server curl git wget xz-utils libncurses6 +>>>>>>> 885917d5cb (ci: DRY up MySQL Setup (#18815)) - 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 diff --git a/.github/workflows/cluster_endtoend_vreplication_partial_movetables_and_materialize.yml b/.github/workflows/cluster_endtoend_vreplication_partial_movetables_and_materialize.yml index 00c854cad39..e15afeec19f 100644 --- a/.github/workflows/cluster_endtoend_vreplication_partial_movetables_and_materialize.yml +++ b/.github/workflows/cluster_endtoend_vreplication_partial_movetables_and_materialize.yml @@ -86,34 +86,28 @@ jobs: echo "set man-db/auto-update false" | sudo debconf-communicate sudo dpkg-reconfigure man-db + - name: Setup MySQL + if: steps.changes.outputs.end_to_end == 'true' + uses: ./.github/actions/setup-mysql + with: + flavor: mysql-8.4 + - name: Get dependencies if: 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.4 - wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.35-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 - - # 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 + sudo apt-get -qq install -y mysql-shell # Install everything else we need, and configure +<<<<<<< HEAD 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 apt-get -qq install -y make unzip g++ etcd-client etcd-server curl git wget xz-utils libncurses6 +>>>>>>> 885917d5cb (ci: DRY up MySQL Setup (#18815)) - 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 diff --git a/.github/workflows/cluster_endtoend_vreplication_v2.yml b/.github/workflows/cluster_endtoend_vreplication_v2.yml index 5b12231aca6..35b946f34e8 100644 --- a/.github/workflows/cluster_endtoend_vreplication_v2.yml +++ b/.github/workflows/cluster_endtoend_vreplication_v2.yml @@ -86,34 +86,28 @@ jobs: echo "set man-db/auto-update false" | sudo debconf-communicate sudo dpkg-reconfigure man-db + - name: Setup MySQL + if: steps.changes.outputs.end_to_end == 'true' + uses: ./.github/actions/setup-mysql + with: + flavor: mysql-8.4 + - name: Get dependencies if: 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.4 - wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.35-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 - - # 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 + sudo apt-get -qq install -y mysql-shell # Install everything else we need, and configure +<<<<<<< HEAD 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 apt-get -qq install -y make unzip g++ etcd-client etcd-server curl git wget xz-utils libncurses6 +>>>>>>> 885917d5cb (ci: DRY up MySQL Setup (#18815)) - 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 diff --git a/.github/workflows/cluster_endtoend_vreplication_vdiff2.yml b/.github/workflows/cluster_endtoend_vreplication_vdiff2.yml index ef85932bf68..f0de6842619 100644 --- a/.github/workflows/cluster_endtoend_vreplication_vdiff2.yml +++ b/.github/workflows/cluster_endtoend_vreplication_vdiff2.yml @@ -86,34 +86,28 @@ jobs: echo "set man-db/auto-update false" | sudo debconf-communicate sudo dpkg-reconfigure man-db + - name: Setup MySQL + if: steps.changes.outputs.end_to_end == 'true' + uses: ./.github/actions/setup-mysql + with: + flavor: mysql-8.4 + - name: Get dependencies if: 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.4 - wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.35-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 - - # 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 + sudo apt-get -qq install -y mysql-shell # Install everything else we need, and configure +<<<<<<< HEAD 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 apt-get -qq install -y make unzip g++ etcd-client etcd-server curl git wget xz-utils libncurses6 +>>>>>>> 885917d5cb (ci: DRY up MySQL Setup (#18815)) - 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 diff --git a/.github/workflows/cluster_endtoend_vreplication_vtctldclient_movetables_tz.yml b/.github/workflows/cluster_endtoend_vreplication_vtctldclient_movetables_tz.yml index 9ec5180c490..407eef1bc1e 100644 --- a/.github/workflows/cluster_endtoend_vreplication_vtctldclient_movetables_tz.yml +++ b/.github/workflows/cluster_endtoend_vreplication_vtctldclient_movetables_tz.yml @@ -86,34 +86,28 @@ jobs: echo "set man-db/auto-update false" | sudo debconf-communicate sudo dpkg-reconfigure man-db + - name: Setup MySQL + if: steps.changes.outputs.end_to_end == 'true' + uses: ./.github/actions/setup-mysql + with: + flavor: mysql-8.4 + - name: Get dependencies if: 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.4 - wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.35-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 - - # 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 + sudo apt-get -qq install -y mysql-shell # Install everything else we need, and configure +<<<<<<< HEAD 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 apt-get -qq install -y make unzip g++ etcd-client etcd-server curl git wget xz-utils libncurses6 +>>>>>>> 885917d5cb (ci: DRY up MySQL Setup (#18815)) - 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 diff --git a/.github/workflows/cluster_endtoend_vstream.yml b/.github/workflows/cluster_endtoend_vstream.yml index 792e2ae22f9..77d85f5f639 100644 --- a/.github/workflows/cluster_endtoend_vstream.yml +++ b/.github/workflows/cluster_endtoend_vstream.yml @@ -86,34 +86,28 @@ jobs: echo "set man-db/auto-update false" | sudo debconf-communicate sudo dpkg-reconfigure man-db + - name: Setup MySQL + if: steps.changes.outputs.end_to_end == 'true' + uses: ./.github/actions/setup-mysql + with: + flavor: mysql-8.4 + - name: Get dependencies if: 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.4 - wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.35-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 - - # 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 + sudo apt-get -qq install -y mysql-shell # Install everything else we need, and configure +<<<<<<< HEAD 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 apt-get -qq install -y make unzip g++ etcd-client etcd-server curl git wget xz-utils libncurses6 +>>>>>>> 885917d5cb (ci: DRY up MySQL Setup (#18815)) - 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 diff --git a/.github/workflows/cluster_endtoend_vtbackup.yml b/.github/workflows/cluster_endtoend_vtbackup.yml index f7401265101..73d88f75cd7 100644 --- a/.github/workflows/cluster_endtoend_vtbackup.yml +++ b/.github/workflows/cluster_endtoend_vtbackup.yml @@ -86,34 +86,28 @@ jobs: echo "set man-db/auto-update false" | sudo debconf-communicate sudo dpkg-reconfigure man-db + - name: Setup MySQL + if: steps.changes.outputs.end_to_end == 'true' + uses: ./.github/actions/setup-mysql + with: + flavor: mysql-8.4 + - name: Get dependencies if: 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.4 - wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.35-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 - - # 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 + sudo apt-get -qq install -y mysql-shell # Install everything else we need, and configure +<<<<<<< HEAD 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 apt-get -qq install -y make unzip g++ etcd-client etcd-server curl git wget xz-utils libncurses6 +>>>>>>> 885917d5cb (ci: DRY up MySQL Setup (#18815)) - 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 diff --git a/.github/workflows/cluster_endtoend_vtctlbackup_sharded_clustertest_heavy.yml b/.github/workflows/cluster_endtoend_vtctlbackup_sharded_clustertest_heavy.yml index 706473e7e80..3fac6dd984c 100644 --- a/.github/workflows/cluster_endtoend_vtctlbackup_sharded_clustertest_heavy.yml +++ b/.github/workflows/cluster_endtoend_vtctlbackup_sharded_clustertest_heavy.yml @@ -86,34 +86,28 @@ jobs: echo "set man-db/auto-update false" | sudo debconf-communicate sudo dpkg-reconfigure man-db + - name: Setup MySQL + if: steps.changes.outputs.end_to_end == 'true' + uses: ./.github/actions/setup-mysql + with: + flavor: mysql-8.4 + - name: Get dependencies if: 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.4 - wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.35-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 - - # 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 + sudo apt-get -qq install -y mysql-shell # Install everything else we need, and configure +<<<<<<< HEAD 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 apt-get -qq install -y make unzip g++ etcd-client etcd-server curl git wget xz-utils libncurses6 +>>>>>>> 885917d5cb (ci: DRY up MySQL Setup (#18815)) - 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 diff --git a/.github/workflows/cluster_endtoend_vtgate_concurrentdml.yml b/.github/workflows/cluster_endtoend_vtgate_concurrentdml.yml index e45159a6816..825c6878176 100644 --- a/.github/workflows/cluster_endtoend_vtgate_concurrentdml.yml +++ b/.github/workflows/cluster_endtoend_vtgate_concurrentdml.yml @@ -86,34 +86,28 @@ jobs: echo "set man-db/auto-update false" | sudo debconf-communicate sudo dpkg-reconfigure man-db + - name: Setup MySQL + if: steps.changes.outputs.end_to_end == 'true' + uses: ./.github/actions/setup-mysql + with: + flavor: mysql-8.4 + - name: Get dependencies if: 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.4 - wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.35-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 - - # 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 + sudo apt-get -qq install -y mysql-shell # Install everything else we need, and configure +<<<<<<< HEAD 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 apt-get -qq install -y make unzip g++ etcd-client etcd-server curl git wget xz-utils libncurses6 +>>>>>>> 885917d5cb (ci: DRY up MySQL Setup (#18815)) - 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 diff --git a/.github/workflows/cluster_endtoend_vtgate_foreignkey_stress.yml b/.github/workflows/cluster_endtoend_vtgate_foreignkey_stress.yml index 941b0c6cc66..d07df6138a7 100644 --- a/.github/workflows/cluster_endtoend_vtgate_foreignkey_stress.yml +++ b/.github/workflows/cluster_endtoend_vtgate_foreignkey_stress.yml @@ -86,34 +86,28 @@ jobs: echo "set man-db/auto-update false" | sudo debconf-communicate sudo dpkg-reconfigure man-db + - name: Setup MySQL + if: steps.changes.outputs.end_to_end == 'true' + uses: ./.github/actions/setup-mysql + with: + flavor: mysql-8.4 + - name: Get dependencies if: 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.4 - wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.35-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 - - # 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 + sudo apt-get -qq install -y mysql-shell # Install everything else we need, and configure +<<<<<<< HEAD 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 apt-get -qq install -y make unzip g++ etcd-client etcd-server curl git wget xz-utils libncurses6 +>>>>>>> 885917d5cb (ci: DRY up MySQL Setup (#18815)) - 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 diff --git a/.github/workflows/cluster_endtoend_vtgate_gen4.yml b/.github/workflows/cluster_endtoend_vtgate_gen4.yml index 96e7ed676eb..75a7cd70580 100644 --- a/.github/workflows/cluster_endtoend_vtgate_gen4.yml +++ b/.github/workflows/cluster_endtoend_vtgate_gen4.yml @@ -86,34 +86,28 @@ jobs: echo "set man-db/auto-update false" | sudo debconf-communicate sudo dpkg-reconfigure man-db + - name: Setup MySQL + if: steps.changes.outputs.end_to_end == 'true' + uses: ./.github/actions/setup-mysql + with: + flavor: mysql-8.4 + - name: Get dependencies if: 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.4 - wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.35-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 - - # 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 + sudo apt-get -qq install -y mysql-shell # Install everything else we need, and configure +<<<<<<< HEAD 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 apt-get -qq install -y make unzip g++ etcd-client etcd-server curl git wget xz-utils libncurses6 +>>>>>>> 885917d5cb (ci: DRY up MySQL Setup (#18815)) - 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 diff --git a/.github/workflows/cluster_endtoend_vtgate_general_heavy.yml b/.github/workflows/cluster_endtoend_vtgate_general_heavy.yml index 75ce8f74abe..e49f65dd952 100644 --- a/.github/workflows/cluster_endtoend_vtgate_general_heavy.yml +++ b/.github/workflows/cluster_endtoend_vtgate_general_heavy.yml @@ -86,34 +86,28 @@ jobs: echo "set man-db/auto-update false" | sudo debconf-communicate sudo dpkg-reconfigure man-db + - name: Setup MySQL + if: steps.changes.outputs.end_to_end == 'true' + uses: ./.github/actions/setup-mysql + with: + flavor: mysql-8.4 + - name: Get dependencies if: 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.4 - wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.35-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 - - # 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 + sudo apt-get -qq install -y mysql-shell # Install everything else we need, and configure +<<<<<<< HEAD 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 apt-get -qq install -y make unzip g++ etcd-client etcd-server curl git wget xz-utils libncurses6 +>>>>>>> 885917d5cb (ci: DRY up MySQL Setup (#18815)) - 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 diff --git a/.github/workflows/cluster_endtoend_vtgate_godriver.yml b/.github/workflows/cluster_endtoend_vtgate_godriver.yml index 28aa7cfae09..2b6a469e1bb 100644 --- a/.github/workflows/cluster_endtoend_vtgate_godriver.yml +++ b/.github/workflows/cluster_endtoend_vtgate_godriver.yml @@ -86,34 +86,28 @@ jobs: echo "set man-db/auto-update false" | sudo debconf-communicate sudo dpkg-reconfigure man-db + - name: Setup MySQL + if: steps.changes.outputs.end_to_end == 'true' + uses: ./.github/actions/setup-mysql + with: + flavor: mysql-8.4 + - name: Get dependencies if: 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.4 - wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.35-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 - - # 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 + sudo apt-get -qq install -y mysql-shell # Install everything else we need, and configure +<<<<<<< HEAD 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 apt-get -qq install -y make unzip g++ etcd-client etcd-server curl git wget xz-utils libncurses6 +>>>>>>> 885917d5cb (ci: DRY up MySQL Setup (#18815)) - 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 diff --git a/.github/workflows/cluster_endtoend_vtgate_partial_keyspace.yml b/.github/workflows/cluster_endtoend_vtgate_partial_keyspace.yml index 46fec3aefe7..08e5e9ea796 100644 --- a/.github/workflows/cluster_endtoend_vtgate_partial_keyspace.yml +++ b/.github/workflows/cluster_endtoend_vtgate_partial_keyspace.yml @@ -86,34 +86,28 @@ jobs: echo "set man-db/auto-update false" | sudo debconf-communicate sudo dpkg-reconfigure man-db + - name: Setup MySQL + if: steps.changes.outputs.end_to_end == 'true' + uses: ./.github/actions/setup-mysql + with: + flavor: mysql-8.4 + - name: Get dependencies if: 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.4 - wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.35-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 - - # 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 + sudo apt-get -qq install -y mysql-shell # Install everything else we need, and configure +<<<<<<< HEAD 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 apt-get -qq install -y make unzip g++ etcd-client etcd-server curl git wget xz-utils libncurses6 +>>>>>>> 885917d5cb (ci: DRY up MySQL Setup (#18815)) - 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 diff --git a/.github/workflows/cluster_endtoend_vtgate_plantests.yml b/.github/workflows/cluster_endtoend_vtgate_plantests.yml index 3370b5958dc..2e044e28d19 100644 --- a/.github/workflows/cluster_endtoend_vtgate_plantests.yml +++ b/.github/workflows/cluster_endtoend_vtgate_plantests.yml @@ -86,34 +86,28 @@ jobs: echo "set man-db/auto-update false" | sudo debconf-communicate sudo dpkg-reconfigure man-db + - name: Setup MySQL + if: steps.changes.outputs.end_to_end == 'true' + uses: ./.github/actions/setup-mysql + with: + flavor: mysql-8.4 + - name: Get dependencies if: 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.4 - wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.35-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 - - # 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 + sudo apt-get -qq install -y mysql-shell # Install everything else we need, and configure +<<<<<<< HEAD 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 apt-get -qq install -y make unzip g++ etcd-client etcd-server curl git wget xz-utils libncurses6 +>>>>>>> 885917d5cb (ci: DRY up MySQL Setup (#18815)) - 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 diff --git a/.github/workflows/cluster_endtoend_vtgate_queries.yml b/.github/workflows/cluster_endtoend_vtgate_queries.yml index 3f71659d133..33fd16738ee 100644 --- a/.github/workflows/cluster_endtoend_vtgate_queries.yml +++ b/.github/workflows/cluster_endtoend_vtgate_queries.yml @@ -86,34 +86,28 @@ jobs: echo "set man-db/auto-update false" | sudo debconf-communicate sudo dpkg-reconfigure man-db + - name: Setup MySQL + if: steps.changes.outputs.end_to_end == 'true' + uses: ./.github/actions/setup-mysql + with: + flavor: mysql-8.4 + - name: Get dependencies if: 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.4 - wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.35-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 - - # 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 + sudo apt-get -qq install -y mysql-shell # Install everything else we need, and configure +<<<<<<< HEAD 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 apt-get -qq install -y make unzip g++ etcd-client etcd-server curl git wget xz-utils libncurses6 +>>>>>>> 885917d5cb (ci: DRY up MySQL Setup (#18815)) - 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 diff --git a/.github/workflows/cluster_endtoend_vtgate_readafterwrite.yml b/.github/workflows/cluster_endtoend_vtgate_readafterwrite.yml index 7502e00e100..32bb7773821 100644 --- a/.github/workflows/cluster_endtoend_vtgate_readafterwrite.yml +++ b/.github/workflows/cluster_endtoend_vtgate_readafterwrite.yml @@ -86,34 +86,28 @@ jobs: echo "set man-db/auto-update false" | sudo debconf-communicate sudo dpkg-reconfigure man-db + - name: Setup MySQL + if: steps.changes.outputs.end_to_end == 'true' + uses: ./.github/actions/setup-mysql + with: + flavor: mysql-8.4 + - name: Get dependencies if: 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.4 - wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.35-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 - - # 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 + sudo apt-get -qq install -y mysql-shell # Install everything else we need, and configure +<<<<<<< HEAD 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 apt-get -qq install -y make unzip g++ etcd-client etcd-server curl git wget xz-utils libncurses6 +>>>>>>> 885917d5cb (ci: DRY up MySQL Setup (#18815)) - 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 diff --git a/.github/workflows/cluster_endtoend_vtgate_reservedconn.yml b/.github/workflows/cluster_endtoend_vtgate_reservedconn.yml index f75de58a122..e8b3ee1c4a5 100644 --- a/.github/workflows/cluster_endtoend_vtgate_reservedconn.yml +++ b/.github/workflows/cluster_endtoend_vtgate_reservedconn.yml @@ -86,34 +86,28 @@ jobs: echo "set man-db/auto-update false" | sudo debconf-communicate sudo dpkg-reconfigure man-db + - name: Setup MySQL + if: steps.changes.outputs.end_to_end == 'true' + uses: ./.github/actions/setup-mysql + with: + flavor: mysql-8.4 + - name: Get dependencies if: 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.4 - wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.35-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 - - # 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 + sudo apt-get -qq install -y mysql-shell # Install everything else we need, and configure +<<<<<<< HEAD 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 apt-get -qq install -y make unzip g++ etcd-client etcd-server curl git wget xz-utils libncurses6 +>>>>>>> 885917d5cb (ci: DRY up MySQL Setup (#18815)) - 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 diff --git a/.github/workflows/cluster_endtoend_vtgate_schema.yml b/.github/workflows/cluster_endtoend_vtgate_schema.yml index 97194a13a40..9f351c74550 100644 --- a/.github/workflows/cluster_endtoend_vtgate_schema.yml +++ b/.github/workflows/cluster_endtoend_vtgate_schema.yml @@ -86,34 +86,28 @@ jobs: echo "set man-db/auto-update false" | sudo debconf-communicate sudo dpkg-reconfigure man-db + - name: Setup MySQL + if: steps.changes.outputs.end_to_end == 'true' + uses: ./.github/actions/setup-mysql + with: + flavor: mysql-8.4 + - name: Get dependencies if: 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.4 - wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.35-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 - - # 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 + sudo apt-get -qq install -y mysql-shell # Install everything else we need, and configure +<<<<<<< HEAD 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 apt-get -qq install -y make unzip g++ etcd-client etcd-server curl git wget xz-utils libncurses6 +>>>>>>> 885917d5cb (ci: DRY up MySQL Setup (#18815)) - 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 diff --git a/.github/workflows/cluster_endtoend_vtgate_schema_tracker.yml b/.github/workflows/cluster_endtoend_vtgate_schema_tracker.yml index 6500761ec6f..228596f2314 100644 --- a/.github/workflows/cluster_endtoend_vtgate_schema_tracker.yml +++ b/.github/workflows/cluster_endtoend_vtgate_schema_tracker.yml @@ -86,34 +86,28 @@ jobs: echo "set man-db/auto-update false" | sudo debconf-communicate sudo dpkg-reconfigure man-db + - name: Setup MySQL + if: steps.changes.outputs.end_to_end == 'true' + uses: ./.github/actions/setup-mysql + with: + flavor: mysql-8.4 + - name: Get dependencies if: 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.4 - wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.35-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 - - # 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 + sudo apt-get -qq install -y mysql-shell # Install everything else we need, and configure +<<<<<<< HEAD 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 apt-get -qq install -y make unzip g++ etcd-client etcd-server curl git wget xz-utils libncurses6 +>>>>>>> 885917d5cb (ci: DRY up MySQL Setup (#18815)) - 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 diff --git a/.github/workflows/cluster_endtoend_vtgate_tablet_healthcheck_cache.yml b/.github/workflows/cluster_endtoend_vtgate_tablet_healthcheck_cache.yml index d2881beeab1..0cfcf033987 100644 --- a/.github/workflows/cluster_endtoend_vtgate_tablet_healthcheck_cache.yml +++ b/.github/workflows/cluster_endtoend_vtgate_tablet_healthcheck_cache.yml @@ -86,34 +86,28 @@ jobs: echo "set man-db/auto-update false" | sudo debconf-communicate sudo dpkg-reconfigure man-db + - name: Setup MySQL + if: steps.changes.outputs.end_to_end == 'true' + uses: ./.github/actions/setup-mysql + with: + flavor: mysql-8.4 + - name: Get dependencies if: 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.4 - wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.35-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 - - # 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 + sudo apt-get -qq install -y mysql-shell # Install everything else we need, and configure +<<<<<<< HEAD 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 apt-get -qq install -y make unzip g++ etcd-client etcd-server curl git wget xz-utils libncurses6 +>>>>>>> 885917d5cb (ci: DRY up MySQL Setup (#18815)) - 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 diff --git a/.github/workflows/cluster_endtoend_vtgate_topo.yml b/.github/workflows/cluster_endtoend_vtgate_topo.yml index b67091912ba..5e22a57ffd3 100644 --- a/.github/workflows/cluster_endtoend_vtgate_topo.yml +++ b/.github/workflows/cluster_endtoend_vtgate_topo.yml @@ -86,34 +86,28 @@ jobs: echo "set man-db/auto-update false" | sudo debconf-communicate sudo dpkg-reconfigure man-db + - name: Setup MySQL + if: steps.changes.outputs.end_to_end == 'true' + uses: ./.github/actions/setup-mysql + with: + flavor: mysql-8.4 + - name: Get dependencies if: 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.4 - wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.35-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 - - # 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 + sudo apt-get -qq install -y mysql-shell # Install everything else we need, and configure +<<<<<<< HEAD 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 apt-get -qq install -y make unzip g++ etcd-client etcd-server curl git wget xz-utils libncurses6 +>>>>>>> 885917d5cb (ci: DRY up MySQL Setup (#18815)) - 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 diff --git a/.github/workflows/cluster_endtoend_vtgate_topo_consul.yml b/.github/workflows/cluster_endtoend_vtgate_topo_consul.yml index 7b88d15982f..30be8e81bc6 100644 --- a/.github/workflows/cluster_endtoend_vtgate_topo_consul.yml +++ b/.github/workflows/cluster_endtoend_vtgate_topo_consul.yml @@ -86,34 +86,28 @@ jobs: echo "set man-db/auto-update false" | sudo debconf-communicate sudo dpkg-reconfigure man-db + - name: Setup MySQL + if: steps.changes.outputs.end_to_end == 'true' + uses: ./.github/actions/setup-mysql + with: + flavor: mysql-8.4 + - name: Get dependencies if: 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.4 - wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.35-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 - - # 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 + sudo apt-get -qq install -y mysql-shell # Install everything else we need, and configure +<<<<<<< HEAD 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 apt-get -qq install -y make unzip g++ etcd-client etcd-server curl git wget xz-utils libncurses6 +>>>>>>> 885917d5cb (ci: DRY up MySQL Setup (#18815)) - 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 diff --git a/.github/workflows/cluster_endtoend_vtgate_topo_etcd.yml b/.github/workflows/cluster_endtoend_vtgate_topo_etcd.yml index 18b5cb41621..276a97fd1d1 100644 --- a/.github/workflows/cluster_endtoend_vtgate_topo_etcd.yml +++ b/.github/workflows/cluster_endtoend_vtgate_topo_etcd.yml @@ -86,34 +86,28 @@ jobs: echo "set man-db/auto-update false" | sudo debconf-communicate sudo dpkg-reconfigure man-db + - name: Setup MySQL + if: steps.changes.outputs.end_to_end == 'true' + uses: ./.github/actions/setup-mysql + with: + flavor: mysql-8.4 + - name: Get dependencies if: 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.4 - wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.35-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 - - # 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 + sudo apt-get -qq install -y mysql-shell # Install everything else we need, and configure +<<<<<<< HEAD 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 apt-get -qq install -y make unzip g++ etcd-client etcd-server curl git wget xz-utils libncurses6 +>>>>>>> 885917d5cb (ci: DRY up MySQL Setup (#18815)) - 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 diff --git a/.github/workflows/cluster_endtoend_vtgate_transaction.yml b/.github/workflows/cluster_endtoend_vtgate_transaction.yml index 028b3eca5f3..c971cea5bc0 100644 --- a/.github/workflows/cluster_endtoend_vtgate_transaction.yml +++ b/.github/workflows/cluster_endtoend_vtgate_transaction.yml @@ -86,34 +86,28 @@ jobs: echo "set man-db/auto-update false" | sudo debconf-communicate sudo dpkg-reconfigure man-db + - name: Setup MySQL + if: steps.changes.outputs.end_to_end == 'true' + uses: ./.github/actions/setup-mysql + with: + flavor: mysql-8.4 + - name: Get dependencies if: 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.4 - wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.35-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 - - # 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 + sudo apt-get -qq install -y mysql-shell # Install everything else we need, and configure +<<<<<<< HEAD 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 apt-get -qq install -y make unzip g++ etcd-client etcd-server curl git wget xz-utils libncurses6 +>>>>>>> 885917d5cb (ci: DRY up MySQL Setup (#18815)) - 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 diff --git a/.github/workflows/cluster_endtoend_vtgate_unsharded.yml b/.github/workflows/cluster_endtoend_vtgate_unsharded.yml index e1441cc5c6e..c9a20603ba2 100644 --- a/.github/workflows/cluster_endtoend_vtgate_unsharded.yml +++ b/.github/workflows/cluster_endtoend_vtgate_unsharded.yml @@ -86,34 +86,28 @@ jobs: echo "set man-db/auto-update false" | sudo debconf-communicate sudo dpkg-reconfigure man-db + - name: Setup MySQL + if: steps.changes.outputs.end_to_end == 'true' + uses: ./.github/actions/setup-mysql + with: + flavor: mysql-8.4 + - name: Get dependencies if: 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.4 - wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.35-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 - - # 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 + sudo apt-get -qq install -y mysql-shell # Install everything else we need, and configure +<<<<<<< HEAD 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 apt-get -qq install -y make unzip g++ etcd-client etcd-server curl git wget xz-utils libncurses6 +>>>>>>> 885917d5cb (ci: DRY up MySQL Setup (#18815)) - 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 diff --git a/.github/workflows/cluster_endtoend_vtgate_vindex_heavy.yml b/.github/workflows/cluster_endtoend_vtgate_vindex_heavy.yml index 6a90bf30987..19eca78d1e7 100644 --- a/.github/workflows/cluster_endtoend_vtgate_vindex_heavy.yml +++ b/.github/workflows/cluster_endtoend_vtgate_vindex_heavy.yml @@ -86,34 +86,28 @@ jobs: echo "set man-db/auto-update false" | sudo debconf-communicate sudo dpkg-reconfigure man-db + - name: Setup MySQL + if: steps.changes.outputs.end_to_end == 'true' + uses: ./.github/actions/setup-mysql + with: + flavor: mysql-8.4 + - name: Get dependencies if: 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.4 - wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.35-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 - - # 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 + sudo apt-get -qq install -y mysql-shell # Install everything else we need, and configure +<<<<<<< HEAD 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 apt-get -qq install -y make unzip g++ etcd-client etcd-server curl git wget xz-utils libncurses6 +>>>>>>> 885917d5cb (ci: DRY up MySQL Setup (#18815)) - 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 diff --git a/.github/workflows/cluster_endtoend_vtgate_vschema.yml b/.github/workflows/cluster_endtoend_vtgate_vschema.yml index 0bd326713cc..8762064d53e 100644 --- a/.github/workflows/cluster_endtoend_vtgate_vschema.yml +++ b/.github/workflows/cluster_endtoend_vtgate_vschema.yml @@ -86,34 +86,28 @@ jobs: echo "set man-db/auto-update false" | sudo debconf-communicate sudo dpkg-reconfigure man-db + - name: Setup MySQL + if: steps.changes.outputs.end_to_end == 'true' + uses: ./.github/actions/setup-mysql + with: + flavor: mysql-8.4 + - name: Get dependencies if: 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.4 - wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.35-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 - - # 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 + sudo apt-get -qq install -y mysql-shell # Install everything else we need, and configure +<<<<<<< HEAD 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 apt-get -qq install -y make unzip g++ etcd-client etcd-server curl git wget xz-utils libncurses6 +>>>>>>> 885917d5cb (ci: DRY up MySQL Setup (#18815)) - 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 diff --git a/.github/workflows/cluster_endtoend_vtorc.yml b/.github/workflows/cluster_endtoend_vtorc.yml index 32e459827bf..d4b88c0819c 100644 --- a/.github/workflows/cluster_endtoend_vtorc.yml +++ b/.github/workflows/cluster_endtoend_vtorc.yml @@ -38,7 +38,7 @@ jobs: run: | totalMem=$(free -g | awk 'NR==2 {print $2}') echo "total memory $totalMem GB" - if [[ "$totalMem" -lt 15 ]]; then + if [[ "$totalMem" -lt 15 ]]; then echo "Less memory than required" exit 1 fi @@ -95,34 +95,28 @@ jobs: echo "set man-db/auto-update false" | sudo debconf-communicate sudo dpkg-reconfigure man-db + - name: Setup MySQL + if: steps.changes.outputs.end_to_end == 'true' + uses: ./.github/actions/setup-mysql + with: + flavor: mysql-8.4 + - name: Get dependencies if: 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.4 - wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.35-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 - - # 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 + sudo apt-get -qq install -y mysql-shell # Install everything else we need, and configure +<<<<<<< HEAD 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 apt-get -qq install -y make unzip g++ etcd-client etcd-server curl git wget xz-utils libncurses6 +>>>>>>> 885917d5cb (ci: DRY up MySQL Setup (#18815)) - 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 diff --git a/.github/workflows/cluster_endtoend_vttablet_prscomplex.yml b/.github/workflows/cluster_endtoend_vttablet_prscomplex.yml index 575c6248d2f..ed295a1c83a 100644 --- a/.github/workflows/cluster_endtoend_vttablet_prscomplex.yml +++ b/.github/workflows/cluster_endtoend_vttablet_prscomplex.yml @@ -86,34 +86,28 @@ jobs: echo "set man-db/auto-update false" | sudo debconf-communicate sudo dpkg-reconfigure man-db + - name: Setup MySQL + if: steps.changes.outputs.end_to_end == 'true' + uses: ./.github/actions/setup-mysql + with: + flavor: mysql-8.4 + - name: Get dependencies if: 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.4 - wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.35-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 - - # 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 + sudo apt-get -qq install -y mysql-shell # Install everything else we need, and configure +<<<<<<< HEAD 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 apt-get -qq install -y make unzip g++ etcd-client etcd-server curl git wget xz-utils libncurses6 +>>>>>>> 885917d5cb (ci: DRY up MySQL Setup (#18815)) - 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 diff --git a/.github/workflows/cluster_endtoend_xb_backup.yml b/.github/workflows/cluster_endtoend_xb_backup.yml index dc0cb6b07de..019a0188c14 100644 --- a/.github/workflows/cluster_endtoend_xb_backup.yml +++ b/.github/workflows/cluster_endtoend_xb_backup.yml @@ -93,26 +93,36 @@ jobs: # Setup Percona Server for MySQL 8.0 sudo apt-get -qq update - sudo apt-get -qq install -y lsb-release gnupg2 curl + sudo apt-get -qq install -y lsb-release gnupg2 wget https://repo.percona.com/apt/percona-release_latest.$(lsb_release -sc)_all.deb sudo DEBIAN_FRONTEND="noninteractive" dpkg -i percona-release_latest.$(lsb_release -sc)_all.deb sudo percona-release setup ps80 sudo apt-get -qq update +<<<<<<< HEAD # Install everything else we need, and configure 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 apt-get -qq install -y percona-server-server percona-server-client +>>>>>>> 885917d5cb (ci: DRY up MySQL Setup (#18815)) 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 + + sudo apt-get -qq install -y percona-xtrabackup-80 lz4 + + # Install everything else we need, and configure + sudo apt-get -qq install -y make unzip g++ etcd-client etcd-server curl git wget xz-utils libncurses6 + + sudo service etcd stop + go mod download # install JUnit report formatter go install github.com/vitessio/go-junit-report@HEAD - sudo apt-get -qq install -y percona-xtrabackup-80 lz4 - - name: Setup launchable dependencies if: github.event_name == 'pull_request' && github.event.pull_request.draft == 'false' && steps.changes.outputs.end_to_end == 'true' && github.base_ref == 'main' run: | diff --git a/.github/workflows/cluster_endtoend_xb_recovery.yml b/.github/workflows/cluster_endtoend_xb_recovery.yml index e2fe96dfce2..9a54461f4ce 100644 --- a/.github/workflows/cluster_endtoend_xb_recovery.yml +++ b/.github/workflows/cluster_endtoend_xb_recovery.yml @@ -93,26 +93,36 @@ jobs: # Setup Percona Server for MySQL 8.0 sudo apt-get -qq update - sudo apt-get -qq install -y lsb-release gnupg2 curl + sudo apt-get -qq install -y lsb-release gnupg2 wget https://repo.percona.com/apt/percona-release_latest.$(lsb_release -sc)_all.deb sudo DEBIAN_FRONTEND="noninteractive" dpkg -i percona-release_latest.$(lsb_release -sc)_all.deb sudo percona-release setup ps80 sudo apt-get -qq update +<<<<<<< HEAD # Install everything else we need, and configure 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 apt-get -qq install -y percona-server-server percona-server-client +>>>>>>> 885917d5cb (ci: DRY up MySQL Setup (#18815)) 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 + + sudo apt-get -qq install -y percona-xtrabackup-80 lz4 + + # Install everything else we need, and configure + sudo apt-get -qq install -y make unzip g++ etcd-client etcd-server curl git wget xz-utils libncurses6 + + sudo service etcd stop + go mod download # install JUnit report formatter go install github.com/vitessio/go-junit-report@HEAD - sudo apt-get -qq install -y percona-xtrabackup-80 lz4 - - name: Setup launchable dependencies if: github.event_name == 'pull_request' && github.event.pull_request.draft == 'false' && steps.changes.outputs.end_to_end == 'true' && github.base_ref == 'main' run: | diff --git a/.github/workflows/codecov.yml b/.github/workflows/codecov.yml index b0ae77e2b43..2a28e0a3679 100644 --- a/.github/workflows/codecov.yml +++ b/.github/workflows/codecov.yml @@ -59,12 +59,19 @@ jobs: echo "set man-db/auto-update false" | sudo debconf-communicate sudo dpkg-reconfigure man-db + - name: Setup MySQL + if: steps.changes.outputs.changed_files == 'true' + uses: ./.github/actions/setup-mysql + with: + flavor: mysql-8.4 + - name: Get dependencies if: steps.changes.outputs.changed_files == 'true' run: | export DEBIAN_FRONTEND="noninteractive" sudo apt-get update +<<<<<<< HEAD # 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 @@ -85,11 +92,9 @@ 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" +======= + sudo apt-get install -y make unzip g++ curl git wget ant openjdk-11-jdk +>>>>>>> 885917d5cb (ci: DRY up MySQL Setup (#18815)) mkdir -p dist 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 diff --git a/.github/workflows/codeql_analysis.yml b/.github/workflows/codeql_analysis.yml index a02ed409322..45b03d003ba 100644 --- a/.github/workflows/codeql_analysis.yml +++ b/.github/workflows/codeql_analysis.yml @@ -48,33 +48,20 @@ jobs: # Details on CodeQL's query packs refer to : https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning#using-queries-in-ql-packs # queries: security-extended,security-and-quality + - name: Setup MySQL + uses: ./.github/actions/setup-mysql + with: + flavor: mysql-8.4 + - 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 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.35-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 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 diff --git a/.github/workflows/e2e_race.yml b/.github/workflows/e2e_race.yml index 1d39f0169fe..c394a44a87e 100644 --- a/.github/workflows/e2e_race.yml +++ b/.github/workflows/e2e_race.yml @@ -60,24 +60,26 @@ jobs: echo "set man-db/auto-update false" | sudo debconf-communicate sudo dpkg-reconfigure man-db + - name: Setup MySQL + if: steps.changes.outputs.end_to_end == 'true' + uses: ./.github/actions/setup-mysql + with: + flavor: mysql-8.4 + - name: Get dependencies if: steps.changes.outputs.end_to_end == 'true' run: | - # Get key to latest MySQL repo - sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys A8D3785C - # Setup MySQL 8.4 - wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.35-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 update # Install everything else we need, and configure +<<<<<<< HEAD sudo apt-get install -y mysql-server mysql-client make unzip g++ etcd-client etcd-server curl git wget eatmydata xz-utils +======= + sudo apt-get install -y make unzip g++ etcd-client etcd-server curl git wget xz-utils +>>>>>>> 885917d5cb (ci: DRY up MySQL Setup (#18815)) - 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 - name: Run make minimaltools diff --git a/.github/workflows/endtoend.yml b/.github/workflows/endtoend.yml index 415c0305159..ef83dc82090 100644 --- a/.github/workflows/endtoend.yml +++ b/.github/workflows/endtoend.yml @@ -60,16 +60,20 @@ jobs: echo "set man-db/auto-update false" | sudo debconf-communicate sudo dpkg-reconfigure man-db + - name: Setup MySQL + if: steps.changes.outputs.end_to_end == 'true' + uses: ./.github/actions/setup-mysql + with: + flavor: mysql-8.0 + - name: Get dependencies if: 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-client etcd-server curl git wget + sudo apt-get install -y 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/ - sudo apparmor_parser -R /etc/apparmor.d/usr.sbin.mysqld + go mod download - name: Run make minimaltools diff --git a/.github/workflows/unit_race.yml b/.github/workflows/unit_race.yml index 31dcfd0accf..dc8e8bf6b68 100644 --- a/.github/workflows/unit_race.yml +++ b/.github/workflows/unit_race.yml @@ -75,22 +75,27 @@ jobs: echo "set man-db/auto-update false" | sudo debconf-communicate sudo dpkg-reconfigure man-db + - name: Setup MySQL + if: steps.changes.outputs.unit_tests == 'true' + uses: ./.github/actions/setup-mysql + with: + flavor: mysql-8.0 + - name: Get dependencies if: steps.changes.outputs.unit_tests == 'true' run: | export DEBIAN_FRONTEND="noninteractive" sudo apt-get -qq update +<<<<<<< HEAD # mysql80 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 apt-get -qq install -y make unzip g++ curl git wget ant openjdk-11-jdk +>>>>>>> 885917d5cb (ci: DRY up MySQL Setup (#18815)) - 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.5.17/etcd-v3.5.17-linux-amd64.tar.gz | tar -zxC dist mv dist/etcd-v3.5.17-linux-amd64/{etcd,etcdctl} bin/ diff --git a/.github/workflows/unit_race_evalengine.yml b/.github/workflows/unit_race_evalengine.yml index 4b699d5809e..93712b0da3e 100644 --- a/.github/workflows/unit_race_evalengine.yml +++ b/.github/workflows/unit_race_evalengine.yml @@ -75,22 +75,27 @@ jobs: echo "set man-db/auto-update false" | sudo debconf-communicate sudo dpkg-reconfigure man-db + - name: Setup MySQL + if: steps.changes.outputs.unit_tests == 'true' + uses: ./.github/actions/setup-mysql + with: + flavor: mysql-8.0 + - name: Get dependencies if: steps.changes.outputs.unit_tests == 'true' run: | export DEBIAN_FRONTEND="noninteractive" sudo apt-get -qq update +<<<<<<< HEAD # mysql80 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 apt-get -qq install -y make unzip g++ curl git wget ant openjdk-11-jdk +>>>>>>> 885917d5cb (ci: DRY up MySQL Setup (#18815)) - 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.5.17/etcd-v3.5.17-linux-amd64.tar.gz | tar -zxC dist mv dist/etcd-v3.5.17-linux-amd64/{etcd,etcdctl} bin/ diff --git a/.github/workflows/unit_test_evalengine_mysql57.yml b/.github/workflows/unit_test_evalengine_mysql57.yml index ce8f94e1c5f..3713a2ee459 100644 --- a/.github/workflows/unit_test_evalengine_mysql57.yml +++ b/.github/workflows/unit_test_evalengine_mysql57.yml @@ -81,10 +81,17 @@ jobs: echo "set man-db/auto-update false" | sudo debconf-communicate sudo dpkg-reconfigure man-db + - name: Setup MySQL + if: steps.changes.outputs.unit_tests == 'true' + uses: ./.github/actions/setup-mysql + with: + flavor: mysql-5.7 + - name: Get dependencies if: steps.changes.outputs.unit_tests == 'true' run: | export DEBIAN_FRONTEND="noninteractive" +<<<<<<< HEAD sudo apt-get update # Uninstall any previously installed MySQL first @@ -121,6 +128,9 @@ jobs: 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" +======= + sudo apt-get install -y make unzip g++ curl git wget ant openjdk-11-jdk +>>>>>>> 885917d5cb (ci: DRY up MySQL Setup (#18815)) mkdir -p dist 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 @@ -128,7 +138,7 @@ jobs: go mod download go install golang.org/x/tools/cmd/goimports@latest - + # install JUnit report formatter go install github.com/vitessio/go-junit-report@HEAD @@ -164,8 +174,13 @@ jobs: # 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" +<<<<<<< HEAD eatmydata -- make unit_test | tee -a output.txt | go-junit-report -set-exit-code > report.xml +======= + + make unit_test | tee -a output.txt | go-junit-report -set-exit-code > report.xml +>>>>>>> 885917d5cb (ci: DRY up MySQL Setup (#18815)) - name: Record test results in launchable if PR is not a draft if: github.event_name == 'pull_request' && github.event.pull_request.draft == 'false' && steps.changes.outputs.unit_tests == 'true' && github.base_ref == 'main' && !cancelled() diff --git a/.github/workflows/unit_test_evalengine_mysql80.yml b/.github/workflows/unit_test_evalengine_mysql80.yml index 1d2a1066c64..b4f3990f7f1 100644 --- a/.github/workflows/unit_test_evalengine_mysql80.yml +++ b/.github/workflows/unit_test_evalengine_mysql80.yml @@ -81,10 +81,17 @@ jobs: echo "set man-db/auto-update false" | sudo debconf-communicate sudo dpkg-reconfigure man-db + - name: Setup MySQL + if: steps.changes.outputs.unit_tests == 'true' + uses: ./.github/actions/setup-mysql + with: + flavor: mysql-8.0 + - name: Get dependencies if: steps.changes.outputs.unit_tests == 'true' run: | export DEBIAN_FRONTEND="noninteractive" +<<<<<<< HEAD sudo apt-get update # Uninstall any previously installed MySQL first @@ -109,6 +116,9 @@ jobs: 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" +======= + sudo apt-get install -y make unzip g++ curl git wget ant openjdk-11-jdk +>>>>>>> 885917d5cb (ci: DRY up MySQL Setup (#18815)) mkdir -p dist 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 @@ -116,7 +126,7 @@ jobs: go mod download go install golang.org/x/tools/cmd/goimports@latest - + # install JUnit report formatter go install github.com/vitessio/go-junit-report@HEAD @@ -152,8 +162,13 @@ jobs: # 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" +<<<<<<< HEAD eatmydata -- make unit_test | tee -a output.txt | go-junit-report -set-exit-code > report.xml +======= + + make unit_test | tee -a output.txt | go-junit-report -set-exit-code > report.xml +>>>>>>> 885917d5cb (ci: DRY up MySQL Setup (#18815)) - name: Record test results in launchable if PR is not a draft if: github.event_name == 'pull_request' && github.event.pull_request.draft == 'false' && steps.changes.outputs.unit_tests == 'true' && github.base_ref == 'main' && !cancelled() diff --git a/.github/workflows/unit_test_evalengine_mysql84.yml b/.github/workflows/unit_test_evalengine_mysql84.yml index b38556a43af..26f6afebe5c 100644 --- a/.github/workflows/unit_test_evalengine_mysql84.yml +++ b/.github/workflows/unit_test_evalengine_mysql84.yml @@ -81,10 +81,17 @@ jobs: echo "set man-db/auto-update false" | sudo debconf-communicate sudo dpkg-reconfigure man-db + - name: Setup MySQL + if: steps.changes.outputs.unit_tests == 'true' + uses: ./.github/actions/setup-mysql + with: + flavor: mysql-8.4 + - name: Get dependencies if: steps.changes.outputs.unit_tests == 'true' run: | export DEBIAN_FRONTEND="noninteractive" +<<<<<<< HEAD sudo apt-get update # Uninstall any previously installed MySQL first @@ -111,6 +118,9 @@ jobs: 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" +======= + sudo apt-get install -y make unzip g++ curl git wget ant openjdk-11-jdk +>>>>>>> 885917d5cb (ci: DRY up MySQL Setup (#18815)) mkdir -p dist 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 @@ -118,7 +128,7 @@ jobs: go mod download go install golang.org/x/tools/cmd/goimports@latest - + # install JUnit report formatter go install github.com/vitessio/go-junit-report@HEAD @@ -154,8 +164,13 @@ jobs: # 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" +<<<<<<< HEAD eatmydata -- make unit_test | tee -a output.txt | go-junit-report -set-exit-code > report.xml +======= + + make unit_test | tee -a output.txt | go-junit-report -set-exit-code > report.xml +>>>>>>> 885917d5cb (ci: DRY up MySQL Setup (#18815)) - name: Record test results in launchable if PR is not a draft if: github.event_name == 'pull_request' && github.event.pull_request.draft == 'false' && steps.changes.outputs.unit_tests == 'true' && github.base_ref == 'main' && !cancelled() diff --git a/.github/workflows/unit_test_mysql57.yml b/.github/workflows/unit_test_mysql57.yml index 478b83feb09..1df770939f6 100644 --- a/.github/workflows/unit_test_mysql57.yml +++ b/.github/workflows/unit_test_mysql57.yml @@ -81,10 +81,17 @@ jobs: echo "set man-db/auto-update false" | sudo debconf-communicate sudo dpkg-reconfigure man-db + - name: Setup MySQL + if: steps.changes.outputs.unit_tests == 'true' + uses: ./.github/actions/setup-mysql + with: + flavor: mysql-5.7 + - name: Get dependencies if: steps.changes.outputs.unit_tests == 'true' run: | export DEBIAN_FRONTEND="noninteractive" +<<<<<<< HEAD sudo apt-get update # Uninstall any previously installed MySQL first @@ -121,6 +128,9 @@ jobs: 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" +======= + sudo apt-get install -y make unzip g++ curl git wget ant openjdk-11-jdk +>>>>>>> 885917d5cb (ci: DRY up MySQL Setup (#18815)) mkdir -p dist 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 @@ -128,7 +138,7 @@ jobs: go mod download go install golang.org/x/tools/cmd/goimports@latest - + # install JUnit report formatter go install github.com/vitessio/go-junit-report@HEAD @@ -164,8 +174,13 @@ jobs: # 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" +<<<<<<< HEAD eatmydata -- make unit_test | tee -a output.txt | go-junit-report -set-exit-code > report.xml +======= + + make unit_test | tee -a output.txt | go-junit-report -set-exit-code > report.xml +>>>>>>> 885917d5cb (ci: DRY up MySQL Setup (#18815)) - name: Record test results in launchable if PR is not a draft if: github.event_name == 'pull_request' && github.event.pull_request.draft == 'false' && steps.changes.outputs.unit_tests == 'true' && github.base_ref == 'main' && !cancelled() diff --git a/.github/workflows/unit_test_mysql80.yml b/.github/workflows/unit_test_mysql80.yml index 9458e256c83..effd5d8e9f1 100644 --- a/.github/workflows/unit_test_mysql80.yml +++ b/.github/workflows/unit_test_mysql80.yml @@ -81,10 +81,17 @@ jobs: echo "set man-db/auto-update false" | sudo debconf-communicate sudo dpkg-reconfigure man-db + - name: Setup MySQL + if: steps.changes.outputs.unit_tests == 'true' + uses: ./.github/actions/setup-mysql + with: + flavor: mysql-8.0 + - name: Get dependencies if: steps.changes.outputs.unit_tests == 'true' run: | export DEBIAN_FRONTEND="noninteractive" +<<<<<<< HEAD sudo apt-get update # Uninstall any previously installed MySQL first @@ -109,6 +116,9 @@ jobs: 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" +======= + sudo apt-get install -y make unzip g++ curl git wget ant openjdk-11-jdk +>>>>>>> 885917d5cb (ci: DRY up MySQL Setup (#18815)) mkdir -p dist 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 @@ -116,7 +126,7 @@ jobs: go mod download go install golang.org/x/tools/cmd/goimports@latest - + # install JUnit report formatter go install github.com/vitessio/go-junit-report@HEAD @@ -152,8 +162,13 @@ jobs: # 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" +<<<<<<< HEAD eatmydata -- make unit_test | tee -a output.txt | go-junit-report -set-exit-code > report.xml +======= + + make unit_test | tee -a output.txt | go-junit-report -set-exit-code > report.xml +>>>>>>> 885917d5cb (ci: DRY up MySQL Setup (#18815)) - name: Record test results in launchable if PR is not a draft if: github.event_name == 'pull_request' && github.event.pull_request.draft == 'false' && steps.changes.outputs.unit_tests == 'true' && github.base_ref == 'main' && !cancelled() diff --git a/.github/workflows/unit_test_mysql84.yml b/.github/workflows/unit_test_mysql84.yml index 88192cba54a..d1aff42f7e2 100644 --- a/.github/workflows/unit_test_mysql84.yml +++ b/.github/workflows/unit_test_mysql84.yml @@ -81,10 +81,17 @@ jobs: echo "set man-db/auto-update false" | sudo debconf-communicate sudo dpkg-reconfigure man-db + - name: Setup MySQL + if: steps.changes.outputs.unit_tests == 'true' + uses: ./.github/actions/setup-mysql + with: + flavor: mysql-8.4 + - name: Get dependencies if: steps.changes.outputs.unit_tests == 'true' run: | export DEBIAN_FRONTEND="noninteractive" +<<<<<<< HEAD sudo apt-get update # Uninstall any previously installed MySQL first @@ -111,6 +118,9 @@ jobs: 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" +======= + sudo apt-get install -y make unzip g++ curl git wget ant openjdk-11-jdk +>>>>>>> 885917d5cb (ci: DRY up MySQL Setup (#18815)) mkdir -p dist 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 @@ -118,7 +128,7 @@ jobs: go mod download go install golang.org/x/tools/cmd/goimports@latest - + # install JUnit report formatter go install github.com/vitessio/go-junit-report@HEAD @@ -154,8 +164,13 @@ jobs: # 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" +<<<<<<< HEAD eatmydata -- make unit_test | tee -a output.txt | go-junit-report -set-exit-code > report.xml +======= + + make unit_test | tee -a output.txt | go-junit-report -set-exit-code > report.xml +>>>>>>> 885917d5cb (ci: DRY up MySQL Setup (#18815)) - name: Record test results in launchable if PR is not a draft if: github.event_name == 'pull_request' && github.event.pull_request.draft == 'false' && steps.changes.outputs.unit_tests == 'true' && github.base_ref == 'main' && !cancelled() diff --git a/.github/workflows/upgrade_downgrade_test_backups_e2e.yml b/.github/workflows/upgrade_downgrade_test_backups_e2e.yml index 44053c8b3ee..1d277925498 100644 --- a/.github/workflows/upgrade_downgrade_test_backups_e2e.yml +++ b/.github/workflows/upgrade_downgrade_test_backups_e2e.yml @@ -81,36 +81,22 @@ jobs: echo "set man-db/auto-update false" | sudo debconf-communicate sudo dpkg-reconfigure man-db + - name: Setup MySQL + if: steps.changes.outputs.end_to_end == 'true' + uses: ./.github/actions/setup-mysql + with: + flavor: mysql-8.4 + - name: Get base dependencies timeout-minutes: 10 if: 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 MySQL 8.4 - sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys A8D3785C - wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.35-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 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 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 - 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" go mod download diff --git a/.github/workflows/upgrade_downgrade_test_backups_e2e_next_release.yml b/.github/workflows/upgrade_downgrade_test_backups_e2e_next_release.yml index 777e3e90d4a..46b457f2655 100644 --- a/.github/workflows/upgrade_downgrade_test_backups_e2e_next_release.yml +++ b/.github/workflows/upgrade_downgrade_test_backups_e2e_next_release.yml @@ -83,36 +83,22 @@ jobs: echo "set man-db/auto-update false" | sudo debconf-communicate sudo dpkg-reconfigure man-db + - name: Setup MySQL + if: steps.output-next-release-ref.outputs.next_release_ref != '' && steps.changes.outputs.end_to_end == 'true' + uses: ./.github/actions/setup-mysql + with: + flavor: mysql-8.4 + - name: Get base dependencies timeout-minutes: 10 if: steps.output-next-release-ref.outputs.next_release_ref != '' && 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 MySQL 8.4 - sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys A8D3785C - wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.35-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 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 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 - 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" go mod download diff --git a/.github/workflows/upgrade_downgrade_test_backups_manual.yml b/.github/workflows/upgrade_downgrade_test_backups_manual.yml index c4fffe00ed9..1b1d9367275 100644 --- a/.github/workflows/upgrade_downgrade_test_backups_manual.yml +++ b/.github/workflows/upgrade_downgrade_test_backups_manual.yml @@ -85,36 +85,22 @@ jobs: echo "set man-db/auto-update false" | sudo debconf-communicate sudo dpkg-reconfigure man-db + - name: Setup MySQL + if: steps.changes.outputs.end_to_end == 'true' + uses: ./.github/actions/setup-mysql + with: + flavor: mysql-8.4 + - name: Get base dependencies timeout-minutes: 10 if: 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 MySQL 8.4 - sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys A8D3785C - wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.35-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 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 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 - 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 diff --git a/.github/workflows/upgrade_downgrade_test_backups_manual_next_release.yml b/.github/workflows/upgrade_downgrade_test_backups_manual_next_release.yml index a348f859d4f..b7eb5f20759 100644 --- a/.github/workflows/upgrade_downgrade_test_backups_manual_next_release.yml +++ b/.github/workflows/upgrade_downgrade_test_backups_manual_next_release.yml @@ -86,36 +86,22 @@ jobs: echo "set man-db/auto-update false" | sudo debconf-communicate sudo dpkg-reconfigure man-db + - name: Setup MySQL + if: steps.output-next-release-ref.outputs.next_release_ref != '' && steps.changes.outputs.end_to_end == 'true' + uses: ./.github/actions/setup-mysql + with: + flavor: mysql-8.4 + - name: Get base dependencies timeout-minutes: 10 if: steps.output-next-release-ref.outputs.next_release_ref != '' && 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 MySQL 8.4 - sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys A8D3785C - wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.35-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 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 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 - 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 diff --git a/.github/workflows/upgrade_downgrade_test_onlineddl_flow.yml b/.github/workflows/upgrade_downgrade_test_onlineddl_flow.yml index f87ac2b0ef2..8c68f4958ef 100644 --- a/.github/workflows/upgrade_downgrade_test_onlineddl_flow.yml +++ b/.github/workflows/upgrade_downgrade_test_onlineddl_flow.yml @@ -92,34 +92,22 @@ jobs: echo "set man-db/auto-update false" | sudo debconf-communicate sudo dpkg-reconfigure man-db + - name: Setup MySQL + if: steps.changes.outputs.end_to_end == 'true' + uses: ./.github/actions/setup-mysql + with: + flavor: mysql-8.4 + - name: Get base dependencies timeout-minutes: 10 if: 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.35-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 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 diff --git a/.github/workflows/upgrade_downgrade_test_query_serving_queries.yml b/.github/workflows/upgrade_downgrade_test_query_serving_queries.yml index 6b97b45f206..6b74d5418b7 100644 --- a/.github/workflows/upgrade_downgrade_test_query_serving_queries.yml +++ b/.github/workflows/upgrade_downgrade_test_query_serving_queries.yml @@ -85,34 +85,22 @@ jobs: echo "set man-db/auto-update false" | sudo debconf-communicate sudo dpkg-reconfigure man-db + - name: Setup MySQL + if: steps.changes.outputs.end_to_end == 'true' + uses: ./.github/actions/setup-mysql + with: + flavor: mysql-8.4 + - name: Get base dependencies timeout-minutes: 10 if: 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.35-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 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 diff --git a/.github/workflows/upgrade_downgrade_test_query_serving_queries_2.yml b/.github/workflows/upgrade_downgrade_test_query_serving_queries_2.yml index 5e50346ffa2..70784bde544 100644 --- a/.github/workflows/upgrade_downgrade_test_query_serving_queries_2.yml +++ b/.github/workflows/upgrade_downgrade_test_query_serving_queries_2.yml @@ -85,34 +85,22 @@ jobs: echo "set man-db/auto-update false" | sudo debconf-communicate sudo dpkg-reconfigure man-db + - name: Setup MySQL + if: steps.changes.outputs.end_to_end == 'true' + uses: ./.github/actions/setup-mysql + with: + flavor: mysql-8.4 + - name: Get base dependencies timeout-minutes: 10 if: 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.35-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 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 diff --git a/.github/workflows/upgrade_downgrade_test_query_serving_queries_2_next_release.yml b/.github/workflows/upgrade_downgrade_test_query_serving_queries_2_next_release.yml index 6b8ff764da6..8bfc978dd57 100644 --- a/.github/workflows/upgrade_downgrade_test_query_serving_queries_2_next_release.yml +++ b/.github/workflows/upgrade_downgrade_test_query_serving_queries_2_next_release.yml @@ -86,34 +86,22 @@ jobs: echo "set man-db/auto-update false" | sudo debconf-communicate sudo dpkg-reconfigure man-db + - name: Setup MySQL + if: steps.output-next-release-ref.outputs.next_release_ref != '' && steps.changes.outputs.end_to_end == 'true' + uses: ./.github/actions/setup-mysql + with: + flavor: mysql-8.4 + - name: Get base dependencies timeout-minutes: 10 if: steps.output-next-release-ref.outputs.next_release_ref != '' && 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.35-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 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 diff --git a/.github/workflows/upgrade_downgrade_test_query_serving_queries_next_release.yml b/.github/workflows/upgrade_downgrade_test_query_serving_queries_next_release.yml index 43167e08bd5..399e87edbcc 100644 --- a/.github/workflows/upgrade_downgrade_test_query_serving_queries_next_release.yml +++ b/.github/workflows/upgrade_downgrade_test_query_serving_queries_next_release.yml @@ -86,34 +86,22 @@ jobs: echo "set man-db/auto-update false" | sudo debconf-communicate sudo dpkg-reconfigure man-db + - name: Setup MySQL + if: steps.output-next-release-ref.outputs.next_release_ref != '' && steps.changes.outputs.end_to_end == 'true' + uses: ./.github/actions/setup-mysql + with: + flavor: mysql-8.4 + - name: Get base dependencies timeout-minutes: 10 if: steps.output-next-release-ref.outputs.next_release_ref != '' && 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.35-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 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 diff --git a/.github/workflows/upgrade_downgrade_test_query_serving_schema.yml b/.github/workflows/upgrade_downgrade_test_query_serving_schema.yml index b55ff13c7c0..10758deeb6f 100644 --- a/.github/workflows/upgrade_downgrade_test_query_serving_schema.yml +++ b/.github/workflows/upgrade_downgrade_test_query_serving_schema.yml @@ -85,34 +85,22 @@ jobs: echo "set man-db/auto-update false" | sudo debconf-communicate sudo dpkg-reconfigure man-db + - name: Setup MySQL + if: steps.changes.outputs.end_to_end == 'true' + uses: ./.github/actions/setup-mysql + with: + flavor: mysql-8.4 + - name: Get base dependencies timeout-minutes: 10 if: 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.35-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 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 diff --git a/.github/workflows/upgrade_downgrade_test_query_serving_schema_next_release.yml b/.github/workflows/upgrade_downgrade_test_query_serving_schema_next_release.yml index 369844a7127..ee795711ff0 100644 --- a/.github/workflows/upgrade_downgrade_test_query_serving_schema_next_release.yml +++ b/.github/workflows/upgrade_downgrade_test_query_serving_schema_next_release.yml @@ -86,34 +86,22 @@ jobs: echo "set man-db/auto-update false" | sudo debconf-communicate sudo dpkg-reconfigure man-db + - name: Setup MySQL + if: steps.output-next-release-ref.outputs.next_release_ref != '' && steps.changes.outputs.end_to_end == 'true' + uses: ./.github/actions/setup-mysql + with: + flavor: mysql-8.4 + - name: Get base dependencies timeout-minutes: 10 if: steps.output-next-release-ref.outputs.next_release_ref != '' && 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.35-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 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 diff --git a/.github/workflows/upgrade_downgrade_test_reparent_new_vtctl.yml b/.github/workflows/upgrade_downgrade_test_reparent_new_vtctl.yml index 7e9ea490177..c01178feb8e 100644 --- a/.github/workflows/upgrade_downgrade_test_reparent_new_vtctl.yml +++ b/.github/workflows/upgrade_downgrade_test_reparent_new_vtctl.yml @@ -86,34 +86,22 @@ jobs: echo "set man-db/auto-update false" | sudo debconf-communicate sudo dpkg-reconfigure man-db + - name: Setup MySQL + if: steps.output-next-release-ref.outputs.next_release_ref != '' && steps.changes.outputs.end_to_end == 'true' + uses: ./.github/actions/setup-mysql + with: + flavor: mysql-8.4 + - name: Get base dependencies timeout-minutes: 10 if: steps.output-next-release-ref.outputs.next_release_ref != '' && 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.35-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 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 diff --git a/.github/workflows/upgrade_downgrade_test_reparent_new_vttablet.yml b/.github/workflows/upgrade_downgrade_test_reparent_new_vttablet.yml index b49f7fb5d78..1ec46c1fb06 100644 --- a/.github/workflows/upgrade_downgrade_test_reparent_new_vttablet.yml +++ b/.github/workflows/upgrade_downgrade_test_reparent_new_vttablet.yml @@ -86,34 +86,22 @@ jobs: echo "set man-db/auto-update false" | sudo debconf-communicate sudo dpkg-reconfigure man-db + - name: Setup MySQL + if: steps.output-next-release-ref.outputs.next_release_ref != '' && steps.changes.outputs.end_to_end == 'true' + uses: ./.github/actions/setup-mysql + with: + flavor: mysql-8.4 + - name: Get base dependencies timeout-minutes: 10 if: steps.output-next-release-ref.outputs.next_release_ref != '' && 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.35-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 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 diff --git a/.github/workflows/upgrade_downgrade_test_reparent_old_vtctl.yml b/.github/workflows/upgrade_downgrade_test_reparent_old_vtctl.yml index 4c9377bfa3e..ed27e9b16b1 100644 --- a/.github/workflows/upgrade_downgrade_test_reparent_old_vtctl.yml +++ b/.github/workflows/upgrade_downgrade_test_reparent_old_vtctl.yml @@ -85,34 +85,22 @@ jobs: echo "set man-db/auto-update false" | sudo debconf-communicate sudo dpkg-reconfigure man-db + - name: Setup MySQL + if: steps.changes.outputs.end_to_end == 'true' + uses: ./.github/actions/setup-mysql + with: + flavor: mysql-8.4 + - name: Get base dependencies timeout-minutes: 10 if: 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.35-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 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 diff --git a/.github/workflows/upgrade_downgrade_test_reparent_old_vttablet.yml b/.github/workflows/upgrade_downgrade_test_reparent_old_vttablet.yml index 23bb9337423..19ba1ff3ab0 100644 --- a/.github/workflows/upgrade_downgrade_test_reparent_old_vttablet.yml +++ b/.github/workflows/upgrade_downgrade_test_reparent_old_vttablet.yml @@ -85,34 +85,22 @@ jobs: echo "set man-db/auto-update false" | sudo debconf-communicate sudo dpkg-reconfigure man-db + - name: Setup MySQL + if: steps.changes.outputs.end_to_end == 'true' + uses: ./.github/actions/setup-mysql + with: + flavor: mysql-8.4 + - name: Get base dependencies timeout-minutes: 10 if: 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.35-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 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 diff --git a/.github/workflows/upgrade_downgrade_test_semi_sync.yml b/.github/workflows/upgrade_downgrade_test_semi_sync.yml index 729ae019fe1..e6b92aff63c 100644 --- a/.github/workflows/upgrade_downgrade_test_semi_sync.yml +++ b/.github/workflows/upgrade_downgrade_test_semi_sync.yml @@ -81,36 +81,22 @@ jobs: echo "set man-db/auto-update false" | sudo debconf-communicate sudo dpkg-reconfigure man-db + - name: Setup MySQL + if: steps.changes.outputs.end_to_end == 'true' + uses: ./.github/actions/setup-mysql + with: + flavor: mysql-8.4 + - name: Get base dependencies timeout-minutes: 10 if: 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 MySQL 8.4 - sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys A8D3785C - wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.35-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 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 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 - 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" go mod download diff --git a/.github/workflows/vitess_tester_vtgate.yml b/.github/workflows/vitess_tester_vtgate.yml index bf04e0d2f42..9032fff1521 100644 --- a/.github/workflows/vitess_tester_vtgate.yml +++ b/.github/workflows/vitess_tester_vtgate.yml @@ -85,23 +85,27 @@ jobs: echo "set man-db/auto-update false" | sudo debconf-communicate sudo dpkg-reconfigure man-db + - name: Setup MySQL + if: steps.changes.outputs.end_to_end == 'true' + uses: ./.github/actions/setup-mysql + with: + flavor: mysql-8.4 + - name: Get dependencies if: steps.changes.outputs.end_to_end == 'true' run: | - # Get key to latest MySQL repo - sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys A8D3785C - # Setup MySQL 8.4 - wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.35-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 +<<<<<<< HEAD # Install everything else we need, and configure sudo apt-get -qq install -y mysql-server mysql-client make unzip g++ etcd-client etcd-server curl git wget eatmydata xz-utils libncurses6 +======= +>>>>>>> 885917d5cb (ci: DRY up MySQL Setup (#18815)) + + # Install everything else we need, and configure + sudo apt-get -qq install -y make unzip g++ etcd-client etcd-server curl git wget 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 diff --git a/test/templates/cluster_endtoend_test.tpl b/test/templates/cluster_endtoend_test.tpl index b7e45a5595c..864474c28d4 100644 --- a/test/templates/cluster_endtoend_test.tpl +++ b/test/templates/cluster_endtoend_test.tpl @@ -39,7 +39,7 @@ jobs: run: | totalMem=$(free -g | awk 'NR==2 {print $2}') echo "total memory $totalMem GB" - if [[ "$totalMem" -lt 15 ]]; then + if [[ "$totalMem" -lt 15 ]]; then echo "Less memory than required" exit 1 fi @@ -108,6 +108,14 @@ jobs: sudo dpkg-reconfigure man-db + {{if not .InstallXtraBackup}} + - name: Setup MySQL + if: steps.changes.outputs.end_to_end == 'true' + uses: ./.github/actions/setup-mysql + with: + flavor: mysql-8.4 + {{ end }} + - name: Get dependencies if: steps.changes.outputs.end_to_end == 'true' timeout-minutes: 10 @@ -116,12 +124,13 @@ jobs: # Setup Percona Server for MySQL 8.0 sudo apt-get -qq update - sudo apt-get -qq install -y lsb-release gnupg2 curl + sudo apt-get -qq install -y lsb-release gnupg2 wget https://repo.percona.com/apt/percona-release_latest.$(lsb_release -sc)_all.deb sudo DEBIAN_FRONTEND="noninteractive" dpkg -i percona-release_latest.$(lsb_release -sc)_all.deb sudo percona-release setup ps80 sudo apt-get -qq update +<<<<<<< HEAD # Install everything else we need, and configure 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 @@ -145,24 +154,33 @@ jobs: # 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 - - {{end}} +======= + sudo apt-get -qq install -y percona-server-server percona-server-client 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 + sudo apt-get -qq install -y percona-xtrabackup-80 lz4 - {{if .InstallXtraBackup}} + {{else}} - sudo apt-get -qq install -y percona-xtrabackup-80 lz4 + sudo apt-get -qq install -y mysql-shell +>>>>>>> 885917d5cb (ci: DRY up MySQL Setup (#18815)) {{end}} + # Install everything else we need, and configure + sudo apt-get -qq install -y make unzip g++ etcd-client etcd-server curl git wget xz-utils libncurses6 + + sudo service etcd stop + + go mod download + + # install JUnit report formatter + go install github.com/vitessio/go-junit-report@HEAD + {{if .NeedsMinio }} - name: Install Minio run: | diff --git a/test/templates/cluster_endtoend_test_mysql57.tpl b/test/templates/cluster_endtoend_test_mysql57.tpl index 977c587ac96..7c65b0c76df 100644 --- a/test/templates/cluster_endtoend_test_mysql57.tpl +++ b/test/templates/cluster_endtoend_test_mysql57.tpl @@ -43,7 +43,7 @@ jobs: run: | totalMem=$(free -g | awk 'NR==2 {print $2}') echo "total memory $totalMem GB" - if [[ "$totalMem" -lt 15 ]]; then + if [[ "$totalMem" -lt 15 ]]; then echo "Less memory than required" exit 1 fi @@ -110,11 +110,18 @@ jobs: sudo dpkg-reconfigure man-db + - name: Setup MySQL + if: steps.changes.outputs.end_to_end == 'true' + uses: ./.github/actions/setup-mysql + with: + flavor: mysql-5.7 + - name: Get dependencies if: steps.changes.outputs.end_to_end == 'true' run: | sudo apt-get update +<<<<<<< HEAD sudo ln -s /etc/apparmor.d/usr.sbin.mysqld /etc/apparmor.d/disable/ sudo apparmor_parser -R /etc/apparmor.d/usr.sbin.mysqld @@ -143,8 +150,10 @@ jobs: 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++ etcd-client etcd-server curl git wget eatmydata +======= + sudo apt-get install -y make unzip g++ etcd-client etcd-server curl git wget +>>>>>>> 885917d5cb (ci: DRY up MySQL Setup (#18815)) - sudo service mysql stop sudo service etcd stop # install JUnit report formatter diff --git a/test/templates/cluster_vitess_tester.tpl b/test/templates/cluster_vitess_tester.tpl index 89b9a052233..3da10be1aef 100644 --- a/test/templates/cluster_vitess_tester.tpl +++ b/test/templates/cluster_vitess_tester.tpl @@ -90,23 +90,27 @@ jobs: echo "set man-db/auto-update false" | sudo debconf-communicate sudo dpkg-reconfigure man-db + - name: Setup MySQL + if: steps.changes.outputs.end_to_end == 'true' + uses: ./.github/actions/setup-mysql + with: + flavor: mysql-8.4 + - name: Get dependencies if: steps.changes.outputs.end_to_end == 'true' run: | - # Get key to latest MySQL repo - sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys A8D3785C - # Setup MySQL 8.4 - wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.35-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 +<<<<<<< HEAD # Install everything else we need, and configure sudo apt-get -qq install -y mysql-server mysql-client make unzip g++ etcd-client etcd-server curl git wget eatmydata xz-utils libncurses6 +======= +>>>>>>> 885917d5cb (ci: DRY up MySQL Setup (#18815)) + + # Install everything else we need, and configure + sudo apt-get -qq install -y make unzip g++ etcd-client etcd-server curl git wget 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 diff --git a/test/templates/unit_test.tpl b/test/templates/unit_test.tpl index d2f915a136d..d46661b56d2 100644 --- a/test/templates/unit_test.tpl +++ b/test/templates/unit_test.tpl @@ -87,10 +87,25 @@ jobs: sudo dpkg-reconfigure man-db + - name: Setup MySQL + if: steps.changes.outputs.unit_tests == 'true' + uses: ./.github/actions/setup-mysql + with: + {{ if (eq .Platform "mysql57") -}} + flavor: mysql-5.7 + {{ end }} + {{- if (eq .Platform "mysql80") -}} + flavor: mysql-8.0 + {{ end }} + {{- if (eq .Platform "mysql84") -}} + flavor: mysql-8.4 + {{ end }} + - name: Get dependencies if: steps.changes.outputs.unit_tests == 'true' run: | export DEBIAN_FRONTEND="noninteractive" +<<<<<<< HEAD sudo apt-get update # Uninstall any previously installed MySQL first @@ -141,6 +156,9 @@ jobs: 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" +======= + sudo apt-get install -y make unzip g++ curl git wget ant openjdk-11-jdk +>>>>>>> 885917d5cb (ci: DRY up MySQL Setup (#18815)) mkdir -p dist 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 @@ -148,7 +166,7 @@ jobs: go mod download go install golang.org/x/tools/cmd/goimports@latest - + # install JUnit report formatter go install github.com/vitessio/go-junit-report@HEAD @@ -184,8 +202,13 @@ jobs: # 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="{{.Platform}}" +<<<<<<< HEAD eatmydata -- make unit_test | tee -a output.txt | go-junit-report -set-exit-code > report.xml +======= + + make unit_test | tee -a output.txt | go-junit-report -set-exit-code > report.xml +>>>>>>> 885917d5cb (ci: DRY up MySQL Setup (#18815)) - name: Record test results in launchable if PR is not a draft if: github.event_name == 'pull_request' && github.event.pull_request.draft == 'false' && steps.changes.outputs.unit_tests == 'true' && github.base_ref == 'main' && !cancelled()