diff --git a/.circleci/config.yml b/.circleci/config.yml index a1a16b34b762cf539df0fea503ee38ec06819ca3..9695f4be7b00fc4557a293ce10537fd71a356ead 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -27,19 +27,6 @@ executors: docker: - image: metabase/ci:java-17-clj-1.11.0.1100.04-2022-build - mysql-latest: - working_directory: /home/circleci/metabase/metabase/ - docker: - - image: metabase/ci:java-11-clj-1.11.0.1100.04-2022-build - environment: - MB_DB_TYPE: mysql - MB_DB_HOST: localhost - MB_DB_PORT: 3306 - MB_DB_DBNAME: circle_test - MB_DB_USER: root - MB_MYSQL_TEST_USER: root - - image: circleci/mysql:latest - mongo-4-0-ssl: working_directory: /home/circleci/metabase/metabase/ docker: @@ -607,28 +594,6 @@ workflows: MB_MONGO_TEST_USER=metabase MB_MONGO_TEST_PASSWORD=metasample123 - - test-driver: - name: be-tests-mysql-latest-ee - description: "(MySQL latest)" - requires: - - be-deps - e: - name: mysql-latest - driver: mysql - # set up env vars for something named "MYSQL_SSL" to run MySQL SSL tests verifying connectivity with PEM cert - # they are deliberately given a different name to prevent them from affecting the regular test run against - # the configured MySQL instance, but there is one particular test (mysql-connect-with-ssl-and-pem-cert-test) - # that overrides the MB_MYSQL_TEST_* values with them - # the MYSQL_RDS_SSL_INSTANCE vars are secret and/or changeable, so they are defined in the CircleCI settings - timeout: 30m - extra-env: >- - MB_MYSQL_SSL_TEST_HOST=$MYSQL_RDS_SSL_INSTANCE_HOST - MB_MYSQL_SSL_TEST_SSL=true - MB_MYSQL_SSL_TEST_ADDITIONAL_OPTIONS='verifyServerCertificate=true' - MB_MYSQL_SSL_TEST_SSL_CERT="$(cat /home/circleci/metabase/metabase/resources/certificates/rds-combined-ca-bundle.pem)" - MB_MYSQL_SSL_TEST_USER=metabase - MB_MYSQL_SSL_TEST_PASSWORD=$MYSQL_RDS_SSL_INSTANCE_PASSWORD - - test-driver: name: be-tests-oracle-ee requires: diff --git a/.github/workflows/drivers.yml b/.github/workflows/drivers.yml index 28544a976f1103a962fd846c716de424ad0d0623..944411267ec039f051e24016aac3f6ade101f01d 100644 --- a/.github/workflows/drivers.yml +++ b/.github/workflows/drivers.yml @@ -24,7 +24,7 @@ jobs: be-tests-druid-ee: runs-on: buildjet-2vcpu-ubuntu-2004 - timeout-minutes: 30 + timeout-minutes: 60 env: CI: 'true' DRIVERS: druid @@ -44,7 +44,7 @@ jobs: be-tests-mariadb-10-2-ee: runs-on: ubuntu-20.04 - timeout-minutes: 30 + timeout-minutes: 60 env: CI: 'true' DRIVERS: mysql @@ -68,7 +68,7 @@ jobs: be-tests-mariadb-latest-ee: runs-on: ubuntu-20.04 - timeout-minutes: 30 + timeout-minutes: 60 env: CI: 'true' DRIVERS: mysql @@ -92,7 +92,7 @@ jobs: be-tests-mongo-4-0-ee: runs-on: ubuntu-20.04 - timeout-minutes: 30 + timeout-minutes: 60 env: CI: 'true' DRIVERS: mongo @@ -112,7 +112,7 @@ jobs: be-tests-mongo-5-0-ee: runs-on: ubuntu-20.04 - timeout-minutes: 30 + timeout-minutes: 60 env: CI: 'true' DRIVERS: mongo @@ -132,7 +132,7 @@ jobs: be-tests-mongo-latest-ee: runs-on: ubuntu-20.04 - timeout-minutes: 30 + timeout-minutes: 60 env: CI: 'true' DRIVERS: mongo @@ -155,7 +155,7 @@ jobs: be-tests-mysql-5-7-ee: runs-on: ubuntu-20.04 - timeout-minutes: 30 + timeout-minutes: 60 env: CI: 'true' DRIVERS: mysql @@ -177,9 +177,45 @@ jobs: with: junit-name: 'be-tests-mysql-5-7-ee' + be-tests-mysql-latest-ee: + runs-on: ubuntu-20.04 + timeout-minutes: 60 + env: + CI: 'true' + DRIVERS: mysql + MB_DB_TYPE: mysql + MB_DB_HOST: localhost + MB_DB_PORT: 3306 + MB_DB_DBNAME: circle_test + MB_DB_USER: root + MB_MYSQL_TEST_USER: root + # set up env vars for something named "MYSQL_SSL" to run MySQL SSL tests verifying connectivity with PEM cert + # they are deliberately given a different name to prevent them from affecting the regular test run against + # the configured MySQL instance, but there is one particular test (mysql-connect-with-ssl-and-pem-cert-test) + # that overrides the MB_MYSQL_TEST_* values with them + # the MYSQL_RDS_SSL_INSTANCE vars are defined as secrets and can be altered + MB_MYSQL_SSL_TEST_HOST: ${{ secrets.MYSQL_RDS_SSL_INSTANCE_HOST }} + MB_MYSQL_SSL_TEST_SSL: true + MB_MYSQL_SSL_TEST_ADDITIONAL_OPTIONS: 'verifyServerCertificate=true' + # the contents of the ./resources/certificates/rds-combined-ca-bundle.pem file + MB_MYSQL_SSL_TEST_SSL_CERT: ${{ secrets.MB_MYSQL_SSL_TEST_SSL_CERT }} + MB_MYSQL_SSL_TEST_USER: metabase + MB_MYSQL_SSL_TEST_PASSWORD: ${{ secrets.MYSQL_RDS_SSL_INSTANCE_PASSWORD }} + services: + mysql: + image: circleci/mysql:latest + ports: + - "3306:3306" + steps: + - uses: actions/checkout@v3 + - name: Test MySQL driver (latest) + uses: ./.github/actions/test-driver + with: + junit-name: 'be-tests-mysql-latest-ee' + be-tests-postgres-ee: runs-on: ubuntu-20.04 - timeout-minutes: 30 + timeout-minutes: 60 env: CI: 'true' DRIVERS: postgres @@ -206,7 +242,7 @@ jobs: be-tests-postgres-latest-ee: runs-on: ubuntu-20.04 - timeout-minutes: 30 + timeout-minutes: 60 env: CI: 'true' DRIVERS: postgres @@ -237,7 +273,7 @@ jobs: be-tests-presto-186-ee: runs-on: ubuntu-20.04 - timeout-minutes: 30 + timeout-minutes: 60 env: CI: 'true' DRIVERS: presto @@ -257,7 +293,7 @@ jobs: be-tests-sparksql-ee: runs-on: buildjet-2vcpu-ubuntu-2004 - timeout-minutes: 30 + timeout-minutes: 60 env: CI: 'true' DRIVERS: sparksql @@ -275,7 +311,7 @@ jobs: be-tests-sqlite-ee: runs-on: ubuntu-20.04 - timeout-minutes: 30 + timeout-minutes: 60 env: CI: 'true' DRIVERS: sqlite @@ -288,7 +324,7 @@ jobs: be-tests-sqlserver-ee: runs-on: ubuntu-20.04 - timeout-minutes: 30 + timeout-minutes: 60 env: CI: 'true' DRIVERS: sqlserver