Nightly E2E tests Matrix (remote PMM Server) #118
This file contains hidden or 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: "Nightly E2E tests Matrix (remote PMM Server)" | |
| # Triggered by Jenkins (pmm3-ui-tests-nightly-gha.groovy) once the PMM Server | |
| # is up. Fans out one job per (client setup, tag) pair so each worker only | |
| # runs the tests it has data for. | |
| on: | |
| workflow_dispatch: | |
| inputs: | |
| pmm_server_address: | |
| description: "Hostname/IP of the externally-managed PMM Server (no scheme). Example: 12.34.56.78" | |
| required: true | |
| type: string | |
| admin_password: | |
| description: "Admin password configured on the remote PMM Server" | |
| required: false | |
| default: 'admin' | |
| type: string | |
| pmm_qa_branch: | |
| description: "Branch for pmm-qa repository to checkout" | |
| required: false | |
| default: 'main' | |
| type: string | |
| pmm_client_version: | |
| description: "PMM Client version (latest-tarball|pmm3-rc|x.xx.x|https://...)" | |
| required: false | |
| default: 'latest-tarball' | |
| type: string | |
| pmm_server_image: | |
| description: "PMM Server docker container version (image-name:version-tag)" | |
| required: false | |
| default: 'perconalab/pmm-server:3-dev-latest' | |
| type: string | |
| launchable_confidence: | |
| description: "Launchable subset confidence percentage" | |
| required: false | |
| default: '100%' | |
| type: string | |
| workflow_call: | |
| inputs: | |
| pmm_server_address: | |
| required: true | |
| type: string | |
| admin_password: | |
| required: false | |
| default: 'admin' | |
| type: string | |
| pmm_qa_branch: | |
| required: false | |
| default: 'main' | |
| type: string | |
| pmm_client_version: | |
| required: false | |
| default: 'latest-tarball' | |
| type: string | |
| pmm_server_image: | |
| required: false | |
| default: 'perconalab/pmm-server:3-dev-latest' | |
| type: string | |
| launchable_confidence: | |
| required: false | |
| default: '100%' | |
| type: string | |
| secrets: | |
| LAUNCHABLE_TOKEN: | |
| required: false | |
| GH_TOKEN: | |
| required: false | |
| jobs: | |
| setup: | |
| name: "setup / ${{ matrix.shard_name }}" | |
| strategy: | |
| fail-fast: true | |
| matrix: | |
| include: | |
| - shard_name: external | |
| setup_services: '--database external' | |
| - shard_name: haproxy | |
| setup_services: '--database haproxy' | |
| - shard_name: ps-gr | |
| setup_services: '--database ps,SETUP_TYPE=gr' | |
| - shard_name: mysql | |
| setup_services: '--database mysql' | |
| - shard_name: ps-replication | |
| setup_services: '--database ps,SETUP_TYPE=replication' | |
| - shard_name: pxc | |
| setup_services: '--database pxc' | |
| - shard_name: ps-myrocks | |
| setup_services: '--database ps,QUERY_SOURCE=slowlog,MY_ROCKS=true' | |
| - shard_name: psmdb-pss | |
| setup_services: '--database psmdb,SETUP_TYPE=pss' | |
| - shard_name: pdpgsql | |
| setup_services: '--database pdpgsql' | |
| - shard_name: pgsql | |
| setup_services: '--database pgsql' | |
| - shard_name: pdpgsql-patroni | |
| setup_services: '--database pdpgsql,SETUP_TYPE=patroni' | |
| - shard_name: psmdb-sharded | |
| setup_services: '--database psmdb,SETUP_TYPE=sharding' | |
| - shard_name: extra-pxc | |
| setup_services: '--database pxc' | |
| - shard_name: valkey | |
| setup_services: '--database valkey' | |
| uses: ./.github/workflows/runner-e2e-tests-codeceptjs-remote-nightly-setup.yml | |
| secrets: | |
| GH_TOKEN: ${{ secrets.GH_TOKEN }} | |
| with: | |
| pmm_server_address: ${{ inputs.pmm_server_address }} | |
| admin_password: ${{ inputs.admin_password || 'admin' }} | |
| pmm_qa_branch: ${{ inputs.pmm_qa_branch || 'main' }} | |
| pmm_client_version: ${{ inputs.pmm_client_version || 'latest-tarball' }} | |
| pmm_server_image: ${{ inputs.pmm_server_image || 'perconalab/pmm-server:3-dev-latest' }} | |
| setup_services: ${{ matrix.setup_services }} | |
| shard_name: ${{ matrix.shard_name }} | |
| expected_test_jobs: 2 | |
| test_execution: | |
| name: "test execution / ${{ matrix.tags_for_tests }}" | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| include: | |
| - tags_for_tests: '@qan|@menu|@valkey-nightly|@permissions-nightly|@pt-summary-nightly|@pbm-nightly' | |
| - tags_for_tests: '@nightly' | |
| uses: ./.github/workflows/runner-e2e-tests-codeceptjs-remote-nightly-tests.yml | |
| secrets: | |
| LAUNCHABLE_TOKEN: ${{ secrets.LAUNCHABLE_TOKEN }} | |
| GH_TOKEN: ${{ secrets.GH_TOKEN }} | |
| with: | |
| pmm_server_address: ${{ inputs.pmm_server_address }} | |
| admin_password: ${{ inputs.admin_password || 'admin' }} | |
| pmm_qa_branch: ${{ inputs.pmm_qa_branch || 'main' }} | |
| pmm_client_version: ${{ inputs.pmm_client_version || 'latest-tarball' }} | |
| pmm_server_image: ${{ inputs.pmm_server_image || 'perconalab/pmm-server:3-dev-latest' }} | |
| tags_for_tests: ${{ matrix.tags_for_tests }} | |
| expected_setup_jobs: 14 | |
| workers: 1 | |
| launchable_confidence: ${{ inputs.launchable_confidence || '100%' }} |