Skip to content
Snippets Groups Projects
Unverified Commit 69bac4a8 authored by Nemanja Glumac's avatar Nemanja Glumac Committed by GitHub
Browse files

Migrate Mongo 4.0 and 5.0 driver tests to GitHub Actions (#27147)

* Migrate Mongo 5 ssl driver test to GitHub Actions

* Migrate Mongo 4 ssl driver test to GitHub Actions

* Make Mongo certificates available

* Try `docker exec` for Mongo 4.0

* Remove `TTY` from the `exec`

* Try overriding the entrypoint

* Include `mongod` in entrypoint

* Quote entrypoint command

* Quote only the command

* Omit `--dbpath`

* Try running the docker container manually

* Detach containers

* Reduce the timeout
parent 682ed04b
No related branches found
No related tags found
No related merge requests found
......@@ -27,24 +27,6 @@ executors:
docker:
- image: metabase/ci:java-17-clj-1.11.0.1100.04-2022-build
mongo-4-0-ssl:
working_directory: /home/circleci/metabase/metabase/
docker:
- image: metabase/ci:java-11-clj-1.11.0.1100.04-2022-build
environment:
MB_TEST_MONGO_REQUIRES_SSL: true
- image: metabase/qa-databases:mongo-sample-4.0
command: mongod --dbpath /data/db2/ --sslMode requireSSL --sslPEMKeyFile /etc/mongo/metamongo.pem --sslCAFile /etc/mongo/metaca.crt
mongo-5-0-ssl:
working_directory: /home/circleci/metabase/metabase/
docker:
- image: metabase/ci:java-11-clj-1.11.0.1100.04-2022-build
environment:
MB_TEST_MONGO_REQUIRES_SSL: true
- image: metabase/qa-databases:mongo-sample-5.0
command: mongod --dbpath /data/db2/ --tlsMode requireTLS --tlsCertificateKeyFile /etc/mongo/metamongo.pem --tlsCAFile /etc/mongo/metaca.crt
########################################################################################################################
# MAP FRAGMENTS AND CACHE KEYS #
########################################################################################################################
......@@ -332,15 +314,6 @@ jobs:
echo 'This is a release or master branch; using cache-busting prefix'
echo '<< pipeline.id >>' > .CACHE-PREFIX
fi
- run:
name: Make SSL certificates for Mongo available
command: >-
curl https://raw.githubusercontent.com/metabase/metabase-qa/master/dbs/mongo/certificates/metabase.crt
-o /home/circleci/metabase/metabase/test_resources/ssl/mongo/metabase.crt
https://raw.githubusercontent.com/metabase/metabase-qa/master/dbs/mongo/certificates/metabase.key
-o /home/circleci/metabase/metabase/test_resources/ssl/mongo/metabase.key
https://raw.githubusercontent.com/metabase/metabase-qa/master/dbs/mongo/certificates/metaca.crt
-o /home/circleci/metabase/metabase/test_resources/ssl/mongo/metaca.crt
- persist_to_workspace:
root: /home/circleci/
paths:
......@@ -525,20 +498,6 @@ workflows:
skip-when-no-change: true
- test-driver:
matrix:
parameters:
version: ["mongo-4-0-ssl", "mongo-5-0-ssl"]
name: be-tests-<< matrix.version >>-ee
description: "(<< matrix.version >>)"
requires:
- be-deps
e: << matrix.version >>
driver: mongo
extra-env: >-
MB_MONGO_TEST_USER=metabase
MB_MONGO_TEST_PASSWORD=metasample123
- test-driver:
name: be-tests-oracle-ee
requires:
......
......@@ -190,6 +190,39 @@ jobs:
with:
junit-name: 'be-tests-mongo-4-0-ee'
be-tests-mongo-4-0-ssl-ee:
if: github.event.pull_request.draft == false
runs-on: ubuntu-20.04
timeout-minutes: 60
env:
CI: 'true'
DRIVERS: mongo
MB_MONGO_TEST_USER: metabase
MB_MONGO_TEST_PASSWORD: metasample123
MB_TEST_MONGO_REQUIRES_SSL: true
steps:
- uses: actions/checkout@v3
- name: Spin up Mongo docker container
run: docker run -d -p 27017:27017 --name metamongo metabase/qa-databases:mongo-sample-4.0 mongod --dbpath /data/db2/ --sslMode requireSSL --sslPEMKeyFile /etc/mongo/metamongo.pem --sslCAFile /etc/mongo/metaca.crt
- name: Wait until the port 27017 is ready
run: while ! nc -z localhost 27017; do sleep 1; done
timeout-minutes: 5
- name: Make SSL certificates for Mongo available
run: |
curl https://raw.githubusercontent.com/metabase/metabase-qa/master/dbs/mongo/certificates/metabase.crt \
-o ./test_resources/ssl/mongo/metabase.crt
curl https://raw.githubusercontent.com/metabase/metabase-qa/master/dbs/mongo/certificates/metabase.key \
-o ./test_resources/ssl/mongo/metabase.key
curl https://raw.githubusercontent.com/metabase/metabase-qa/master/dbs/mongo/certificates/metaca.crt \
-o ./test_resources/ssl/mongo/metaca.crt
- name: Test MongoDB SSL driver (4.0)
uses: ./.github/actions/test-driver
with:
junit-name: 'be-tests-mongo-4-0-ee'
be-tests-mongo-5-0-ee:
if: github.event.pull_request.draft == false
runs-on: ubuntu-20.04
......@@ -211,6 +244,39 @@ jobs:
with:
junit-name: 'be-tests-mongo-5-0-ee'
be-tests-mongo-5-0-ssl-ee:
if: github.event.pull_request.draft == false
runs-on: ubuntu-20.04
timeout-minutes: 60
env:
CI: 'true'
DRIVERS: mongo
MB_MONGO_TEST_USER: metabase
MB_MONGO_TEST_PASSWORD: metasample123
MB_TEST_MONGO_REQUIRES_SSL: true
steps:
- uses: actions/checkout@v3
- name: Spin up Mongo docker container
run: docker run -d -p 27017:27017 --name metamongo metabase/qa-databases:mongo-sample-5.0 mongod --dbpath /data/db2/ --tlsMode requireTLS --tlsCertificateKeyFile /etc/mongo/metamongo.pem --tlsCAFile /etc/mongo/metaca.crt
- name: Wait until the port 27017 is ready
run: while ! nc -z localhost 27017; do sleep 1; done
timeout-minutes: 5
- name: Make SSL certificates for Mongo available
run: |
curl https://raw.githubusercontent.com/metabase/metabase-qa/master/dbs/mongo/certificates/metabase.crt \
-o ./test_resources/ssl/mongo/metabase.crt
curl https://raw.githubusercontent.com/metabase/metabase-qa/master/dbs/mongo/certificates/metabase.key \
-o ./test_resources/ssl/mongo/metabase.key
curl https://raw.githubusercontent.com/metabase/metabase-qa/master/dbs/mongo/certificates/metaca.crt \
-o ./test_resources/ssl/mongo/metaca.crt
- name: Test MongoDB SSL driver (5.0)
uses: ./.github/actions/test-driver
with:
junit-name: 'be-tests-mongo-5-0-ee'
be-tests-mongo-latest-ee:
if: github.event.pull_request.draft == false
runs-on: ubuntu-20.04
......@@ -261,6 +327,7 @@ jobs:
junit-name: 'be-tests-mysql-5-7-ee'
be-tests-mysql-latest-ee:
if: github.event.pull_request.draft == false
runs-on: ubuntu-20.04
timeout-minutes: 60
env:
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment