diff --git a/.github/workflows/replica-tests.yml b/.github/workflows/replica-tests.yml index 31e2052..bbc53a5 100644 --- a/.github/workflows/replica-tests.yml +++ b/.github/workflows/replica-tests.yml @@ -6,6 +6,9 @@ jobs: build: runs-on: ubuntu-latest + strategy: + matrix: + version: [mysql-5.5.62,mysql-5.6.43,mysql-5.7.25,mysql-8.0.16] steps: - uses: actions/checkout@v2 @@ -16,4 +19,6 @@ jobs: go-version: 1.14 - name: migration tests + env: + TEST_MYSQL_VERSION: ${{ matrix.version }} run: script/cibuild-gh-ost-replica-tests diff --git a/script/cibuild-gh-ost-replica-tests b/script/cibuild-gh-ost-replica-tests index b886fa0..c4dbfd2 100755 --- a/script/cibuild-gh-ost-replica-tests +++ b/script/cibuild-gh-ost-replica-tests @@ -72,13 +72,20 @@ main() { echo "Building..." . script/build - # Test all versions: - find gh-ost-ci-env/mysql-tarballs/ -name "*.tar.xz" | while read f ; do basename $f ".tar.xz" ; done | sort -r | while read mysql_version ; do - echo "found MySQL version: $mysql_version" - done - find gh-ost-ci-env/mysql-tarballs/ -name "*.tar.xz" | while read f ; do basename $f ".tar.xz" ; done | sort -r | while read mysql_version ; do - test_mysql_version "$mysql_version" - done + + # TEST_MYSQL_VERSION is set by the replica-tests CI job + if [ -z "$TEST_MYSQL_VERSION" ]; then + # Test all versions: + find gh-ost-ci-env/mysql-tarballs/ -name "*.tar.xz" | while read f ; do basename $f ".tar.xz" ; done | sort -r | while read mysql_version ; do + echo "found MySQL version: $mysql_version" + done + find gh-ost-ci-env/mysql-tarballs/ -name "*.tar.xz" | while read f ; do basename $f ".tar.xz" ; done | sort -r | while read mysql_version ; do + test_mysql_version "$mysql_version" + done + else + echo "found MySQL version: $TEST_MYSQL_VERSION" + test_mysql_version "$TEST_MYSQL_VERSION" + fi } main