diff --git a/.github/workflows/ansible-test-plugins.yml b/.github/workflows/ansible-test-plugins.yml index fd9422e..ff2a4e3 100644 --- a/.github/workflows/ansible-test-plugins.yml +++ b/.github/workflows/ansible-test-plugins.yml @@ -82,40 +82,47 @@ jobs: - python: 3.9 ansible: stable-2.12 - services: - db_primary: - image: ${{ matrix.db_engine_version }} - env: - MARIADB_ROOT_PASSWORD: msandbox - MYSQL_ROOT_PASSWORD: msandbox - ports: - - 3307:3306 + # services: + # db_primary: + # image: ${{ matrix.db_engine_version }} + # env: + # MARIADB_ROOT_PASSWORD: msandbox + # MYSQL_ROOT_PASSWORD: msandbox + # ports: + # - 3307:3306 - db_replica1: - image: ${{ matrix.db_engine_version }} - env: - MARIADB_ROOT_PASSWORD: msandbox - MYSQL_ROOT_PASSWORD: msandbox - ports: - - 3308:3306 - volumes: - - ${{ github.workspace }}/tests/integration/setup_mysql/replica1/:/etc/mysql/conf.d/ + # db_replica1: + # image: ${{ matrix.db_engine_version }} + # env: + # MARIADB_ROOT_PASSWORD: msandbox + # MYSQL_ROOT_PASSWORD: msandbox + # ports: + # - 3308:3306 + # volumes: + # - ${{ github.workspace }}/tests/integration/setup_mysql/replica1/:/etc/mysql/conf.d/ - db_replica2: - image: ${{ matrix.db_engine_version }} - env: - MARIADB_ROOT_PASSWORD: msandbox - MYSQL_ROOT_PASSWORD: msandbox - ports: - - 3309:3306 - volumes: - - ${{ github.workspace }}/tests/integration/setup_mysql/replica2/:/etc/mysql/conf.d/ + # db_replica2: + # image: ${{ matrix.db_engine_version }} + # env: + # MARIADB_ROOT_PASSWORD: msandbox + # MYSQL_ROOT_PASSWORD: msandbox + # ports: + # - 3309:3306 + # volumes: + # - ${{ github.workspace }}/tests/integration/setup_mysql/replica2/:/etc/mysql/conf.d/ steps: - name: 'Wait 20s for the service containers to be healthy' run: sleep 20; + - name: Send Matrix variables to the virtual machine using text files + run: >- + echo Setting db_engine_version to ${{ matrix.db_engine_version }}...; + echo -n "${{ matrix.db_engine_version }}" > tests/integration/db_engine_version; + echo Setting Connector version to ${{ matrix.connector }}...; + echo -n "${{ matrix.connector }}" > tests/integration/connector + - name: >- Perform integration testing against Ansible version ${{ matrix.ansible }} @@ -123,13 +130,9 @@ jobs: uses: ansible-community/ansible-test-gh-action@release/v1 with: ansible-core-version: ${{ matrix.ansible }} - pre-test-cmd: >- - >&2 echo Setting db_engine_version to ${{ matrix.db_engine_version }}...; - echo -n "${{ matrix.db_engine_version }}" > tests/integration/db_engine_version; - >&2 echo Setting Connector version to ${{ matrix.connector }}...; - echo -n "${{ matrix.connector }}" > tests/integration/connector target-python-version: ${{ matrix.python }} testing-type: integration + target: test_mysql_info # units: # runs-on: ubuntu-20.04 diff --git a/Makefile b/Makefile index d7e8e45..de06d11 100644 --- a/Makefile +++ b/Makefile @@ -1,45 +1,46 @@ .PHONY: test-integration test-integration: - echo -n "mysql:8.0.22" > tests/integration/db_engine_version - echo -n "pymysql==0.9.3" > tests/integration/connector - podman run \ - --detach \ - --name primary \ - --env MARIADB_ROOT_PASSWORD=msandbox \ - --env MYSQL_ROOT_PASSWORD=msandbox \ - --network podman \ - --publish 3307:3306 \ - --health-cmd 'mysqladmin ping -P 3306 -pmsandbox | grep alive || exit 1' \ - mysql:8.0.22 - podman run \ - --detach \ - --name replica1 \ - --env MARIADB_ROOT_PASSWORD=msandbox \ - --env MYSQL_ROOT_PASSWORD=msandbox \ - --network podman \ - --publish 3308:3306 \ - --health-cmd 'mysqladmin ping -P 3306 -pmsandbox | grep alive || exit 1' \ - --security-opt label=disable \ - --volume ./tests/integration/targets/setup_mysql/replica1/:/etc/mysql/conf.d/ \ - mysql:8.0.22 - podman run \ - --detach \ - --name replica2 \ - --env MARIADB_ROOT_PASSWORD=msandbox \ - --env MYSQL_ROOT_PASSWORD=msandbox \ - --network podman \ - --publish 3309:3306 \ - --health-cmd 'mysqladmin ping -P 3306 -pmsandbox | grep alive || exit 1' \ - --security-opt label=disable \ - --volume ./tests/integration/targets/setup_mysql/replica2/:/etc/mysql/conf.d/ \ - mysql:8.0.22 - while ! podman healthcheck run primary && [[ "$$SECONDS" -lt 120 ]]; do sleep 1; done - -set -x; ansible-test integration -v --color --coverage --retry-on-error --continue-on-error --diff --docker --docker-network podman --python 3.8; set +x - rm tests/integration/db_engine_version - rm tests/integration/connector - podman stop --time 0 --ignore primary - podman stop --time 0 --ignore replica1 - podman stop --time 0 --ignore replica2 - podman rm --ignore primary - podman rm --ignore replica1 - podman rm --ignore replica2 + echo -n mysql:8.0.22 > tests/integration/db_engine_version + echo -n pymysql==0.9.3 > tests/integration/connector + # podman run \ + # --detach \ + # --name primary \ + # --env MARIADB_ROOT_PASSWORD=msandbox \ + # --env MYSQL_ROOT_PASSWORD=msandbox \ + # --network podman \ + # --publish 3307:3306 \ + # --health-cmd 'mysqladmin ping -P 3306 -pmsandbox | grep alive || exit 1' \ + # mysql:8.0.22 + # podman run \ + # --detach \ + # --name replica1 \ + # --env MARIADB_ROOT_PASSWORD=msandbox \ + # --env MYSQL_ROOT_PASSWORD=msandbox \ + # --network podman \ + # --publish 3308:3306 \ + # --health-cmd 'mysqladmin ping -P 3306 -pmsandbox | grep alive || exit 1' \ + # --security-opt label=disable \ + # --volume ./tests/integration/targets/setup_mysql/replica1/:/etc/mysql/conf.d/ \ + # mysql:8.0.22 + # podman run \ + # --detach \ + # --name replica2 \ + # --env MARIADB_ROOT_PASSWORD=msandbox \ + # --env MYSQL_ROOT_PASSWORD=msandbox \ + # --network podman \ + # --publish 3309:3306 \ + # --health-cmd 'mysqladmin ping -P 3306 -pmsandbox | grep alive || exit 1' \ + # --security-opt label=disable \ + # --volume ./tests/integration/targets/setup_mysql/replica2/:/etc/mysql/conf.d/ \ + # mysql:8.0.22 + # while ! podman healthcheck run primary && [[ "$$SECONDS" -lt 120 ]]; do sleep 1; done + # -set -x; ansible-test integration -v --color --coverage --retry-on-error --continue-on-error --diff --docker --docker-network podman --python 3.8; set +x + -set -x; ansible-test integration test_mysql_info -v --color --coverage --diff --docker --docker-network podman --docker-terminate never --python 3.8; set +x +# rm tests/integration/db_engine_version +# rm tests/integration/connector +# podman stop --time 0 --ignore primary +# podman stop --time 0 --ignore replica1 +# podman stop --time 0 --ignore replica2 +# podman rm --ignore primary +# podman rm --ignore replica1 +# podman rm --ignore replica2