[v7r3] Fix: reintroducing Staging to Checking transition #10072
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Integration tests | |
on: | |
push: | |
paths-ignore: | |
# Docs | |
- 'docs/**' | |
- 'README.rst' | |
# When push new release | |
- 'release.notes' | |
- 'src/DIRAC/__init__.py' # It is expected that only the version number will change here | |
- 'releases.cfg' | |
pull_request: | |
paths-ignore: | |
# RPs with docs | |
- 'docs/**' | |
- 'README.rst' | |
- 'release.notes' | |
jobs: | |
Integration: | |
runs-on: ubuntu-latest | |
if: github.event_name != 'push' || github.repository == 'DIRACGrid/DIRAC' | |
timeout-minutes: 45 | |
defaults: | |
run: | |
shell: bash -l {0} | |
strategy: | |
fail-fast: False | |
matrix: | |
# TEST_NAME is a dummy variable used to make it easier to read the web interface | |
include: | |
- TEST_NAME: "MySQL 5.7" | |
ARGS: CLIENT_USE_PYTHON3=Yes MYSQL_VER=mysql:5.7 | |
- TEST_NAME: "MariaDB 10.6, opensearch:1.0.0" | |
ARGS: CLIENT_USE_PYTHON3=Yes MYSQL_VER=mariadb:10.6.3 ES_VER=opensearchproject/opensearch:1.0.0 | |
- TEST_NAME: "HTTPS" | |
ARGS: CLIENT_USE_PYTHON3=Yes TEST_HTTPS=Yes | |
- TEST_NAME: "Py3 client, py3 server + HTTPS" | |
ARGS: CLIENT_USE_PYTHON3=Yes SERVER_USE_PYTHON3=Yes TEST_HTTPS=Yes | |
- TEST_NAME: "Py2 client, py3 server" | |
ARGS: SERVER_USE_PYTHON3=Yes | |
- TEST_NAME: "Py2 client, py2 server, elasticsearch:6.6.0" | |
ARGS: ES_VER=elasticsearch:6.6.0 | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Fail-fast for outdated pipelines | |
run: .github/workflows/fail-fast.sh | |
- run: | | |
git fetch --prune --unshallow | |
- uses: actions/setup-python@v2 | |
with: | |
python-version: '3.9' | |
- name: Installing dependencies | |
run: | | |
python -m pip install \ | |
gitpython \ | |
packaging \ | |
pyyaml \ | |
typer | |
- name: Prepare environment | |
run: ./integration_tests.py prepare-environment ${{ matrix.ARGS }} | |
- name: Install server | |
run: ./integration_tests.py install-server | |
- name: Install client | |
run: ./integration_tests.py install-client | |
- name: Server tests | |
run: ./integration_tests.py test-server || touch server-tests-failed | |
- name: Client tests | |
run: ./integration_tests.py test-client || touch client-tests-failed | |
- name: Elasticsearch logs | |
run: docker logs elasticsearch | |
- name: Check test status | |
run: | | |
has_error=0 | |
if [ -f server-tests-failed ]; then has_error=1; echo "Server tests failed"; fi | |
if [ -f client-tests-failed ]; then has_error=1; echo "Client tests failed"; fi | |
if [ ${has_error} = 1 ]; then exit 1; fi |