Add back new workflow to see ansible-test version

This commit is contained in:
Laurent Indermuehle 2022-10-25 13:19:48 +02:00
commit 53fddfc782
No known key found for this signature in database
GPG key ID: 93FA944C9F34DD09

View file

@ -15,12 +15,12 @@ on:
env: env:
mysql_version_file: "./ansible_collections/community/mysql/tests/integration/targets/setup_mysql/defaults/main.yml" mysql_version_file: "tests/integration/targets/setup_mysql/defaults/main.yml"
connector_version_file: "./ansible_collections/community/mysql/tests/integration/targets/setup_mysql/vars/main.yml" connector_version_file: "tests/integration/targets/setup_mysql/vars/main.yml"
jobs: jobs:
# sanity: # sanity:
# name: "Sanity (Python: ${{ matrix.python }}, Ansible: ${{ matrix.ansible }})" # name: "Sanity (Ansible: ${{ matrix.ansible }})"
# runs-on: ubuntu-latest # runs-on: ubuntu-latest
# strategy: # strategy:
# matrix: # matrix:
@ -30,48 +30,22 @@ jobs:
# - stable-2.13 # - stable-2.13
# - stable-2.14 # - stable-2.14
# - devel # - devel
# python:
# - 3.8
# - 3.9
# exclude:
# - python: 3.8
# ansible: stable-2.13
# - python: 3.8
# ansible: stable-2.14
# - python: 3.8
# ansible: devel
# - python: 3.9
# ansible: stable-2.11
# - python: 3.9
# ansible: stable-2.12
# steps: # steps:
# - name: Perform sanity testing
# - name: Check out code # uses: ansible-community/ansible-test-gh-action@release/v1
# uses: actions/checkout@v2
# with: # with:
# path: ansible_collections/community/mysql # ansible-core-version: ${{ matrix.ansible }}
# testing-type: sanity
# - name: Set up Python
# uses: actions/setup-python@v2
# with:
# python-version: ${{ matrix.python }}
# - name: Install ansible-base (${{ matrix.ansible }})
# run: pip install https://github.com/ansible/ansible/archive/${{ matrix.ansible }}.tar.gz --disable-pip-version-check
# - name: Run sanity tests
# run: ansible-test sanity --docker -v --color
# working-directory: ./ansible_collections/community/mysql
integration: integration:
name: "Integration (Python: ${{ matrix.python }}, Ansible: ${{ matrix.ansible }}, MySQL: ${{ matrix.mysql }}, Connector: ${{ matrix.connector }})" name: "Integration (Python: ${{ matrix.python }}, Ansible: ${{ matrix.ansible }}, MySQL: ${{ matrix.db_engine_version }}, Connector: ${{ matrix.connector }})"
runs-on: ubuntu-latest runs-on: ubuntu-latest
strategy: strategy:
fail-fast: false fail-fast: false
matrix: matrix:
mysql: db_engine_version:
# - 5.7.31 - mysql_5.7.31
- 8.0.22 # - mysql_8.0.22
ansible: ansible:
# - stable-2.11 # - stable-2.11
- stable-2.12 - stable-2.12
@ -87,7 +61,7 @@ jobs:
- pymysql==0.9.3 - pymysql==0.9.3
# - mysqlclient==2.0.1 # - mysqlclient==2.0.1
# exclude: # exclude:
# - mysql: 8.0.22 # - db_engine_version: mysql_8.0.22
# connector: pymysql==0.7.10 # connector: pymysql==0.7.10
# - python: 3.6 # - python: 3.6
# ansible: stable-2.12 # ansible: stable-2.12
@ -112,41 +86,36 @@ jobs:
steps: steps:
- name: Check out code
uses: actions/checkout@v2
with:
path: ansible_collections/community/mysql
- name: Setup tmate session - name: Setup tmate session
uses: mxschmitt/action-tmate@v3 uses: mxschmitt/action-tmate@v3
with: with:
limit-access-to-actor: true limit-access-to-actor: true
- name: Set up Python - name: >-
uses: actions/setup-python@v2 Perform integration testing against
Ansible version ${{ matrix.ansible }}
under Python ${{ matrix.python }}
uses: ansible-community/ansible-test-gh-action@release/v1
with: with:
python-version: ${{ matrix.python }} ansible-core-version: ${{ matrix.ansible }}
pre-test-cmd: >-
- name: Install ansible-base (${{ matrix.ansible }}) DB_ENGINE=$(echo '${{ matrix.db_engine_version }}' | awk -F_ '{print $1}');
run: pip install https://github.com/ansible/ansible/archive/${{ matrix.ansible }}.tar.gz --disable-pip-version-check DB_VERSION=$(echo '${{ matrix.db_engine_version }}' | awk -F_ '{print $2}');
DB_ENGINE_PRETTY=$([[ "${DB_ENGINE}" == 'mysql' ]] && echo 'MySQL' || echo 'MariaDB');
- name: Set MySQL version (${{ matrix.mysql }}) >&2 echo Matrix factor for the DB is ${{ matrix.db_engine_version }}...;
run: "sed -i 's/^mysql_version:.*/mysql_version: \"${{ matrix.mysql }}\"/g' ${{ env.mysql_version_file }}" >&2 echo Setting ${DB_ENGINE_PRETTY} version to ${DB_VERSION}...;
sed -i -e "s/^${DB_ENGINE}_version:.*/${DB_ENGINE}_version: $DB_VERSION/g" -e 's/^mariadb_install: false/mariadb_install: true/g' '${{ env.mysql_version_file }}';
- name: Set Connector version (${{ matrix.connector }}) ${{
run: "sed -i 's/^python_packages:.*/python_packages: [${{ matrix.connector }}]/' ${{ env.connector_version_file }}" matrix.db_engine_version == 'mariadb_10.8.3'
&& format(
- name: Run integration tests '>&2 echo Set MariaDB v10.8.3 URL sub dir...; sed -i -e "s/^mariadb_url_subdir:.*/mariadb_url_subdir: linux-systemd/g" "{0}";', env.connector_version_file
run: ansible-test integration --docker -v --color --retry-on-error --continue-on-error --python ${{ matrix.python }} --diff --coverage )
working-directory: ./ansible_collections/community/mysql || ''
}}
- name: Generate coverage report. >&2 echo Setting Connector version to ${{ matrix.connector }}...;
run: ansible-test coverage xml -v --requirements --group-by command --group-by version sed -i 's/^python_packages:.*/python_packages: [${{ matrix.connector }}]/' ${{ env.connector_version_file }}
working-directory: ./ansible_collections/community/mysql target-python-version: ${{ matrix.python }}
testing-type: integration
- uses: codecov/codecov-action@v1
with:
fail_ci_if_error: false
# units: # units:
# runs-on: ubuntu-latest # runs-on: ubuntu-latest
@ -178,30 +147,11 @@ jobs:
# ansible: stable-2.12 # ansible: stable-2.12
# steps: # steps:
# - name: Check out code # - name: >-
# uses: actions/checkout@v2 # Perform unit testing against
# Ansible version ${{ matrix.ansible }}
# uses: ansible-community/ansible-test-gh-action@release/v1
# with: # with:
# path: ./ansible_collections/community/mysql # ansible-core-version: ${{ matrix.ansible }}
# target-python-version: ${{ matrix.python }}
# - name: Set up Python # testing-type: units
# uses: actions/setup-python@v2
# with:
# python-version: ${{ matrix.python }}
# - name: Install ansible-base (${{matrix.ansible}})
# run: pip install https://github.com/ansible/ansible/archive/${{ matrix.ansible }}.tar.gz --disable-pip-version-check
# # Run the unit tests
# - name: Run unit test
# run: ansible-test units -v --color --docker --coverage
# working-directory: ./ansible_collections/community/mysql
# # ansible-test support producing code coverage date
# - name: Generate coverage report
# run: ansible-test coverage xml -v --requirements --group-by command --group-by version
# working-directory: ./ansible_collections/community/mysql
# # See the reports at https://codecov.io/gh/GITHUBORG/REPONAME
# - uses: codecov/codecov-action@v1
# with:
# fail_ci_if_error: false