Skip to content

E2E tests Matrix

E2E tests Matrix #841

name: "E2E tests Matrix"
on:
pull_request:
branches:
- main
schedule:
- cron: '0 2 * * *'
workflow_dispatch:
inputs:
pmm_qa_branch:
description: 'pmm-qa repository branch'
default: 'main'
required: false
type: string
pmm_server_image:
description: 'PMM Server docker image'
default: 'perconalab/pmm-server:3-dev-latest'
required: true
type: string
pmm_client_image:
description: 'pmm-client docker image'
default: 'perconalab/pmm-client:3-dev-latest'
required: false
type: string
pmm_client_version:
description: 'PMM Client version (latest-tarball|pmm3-rc|x.xx.x|https...)'
default: 'latest-tarball'
required: false
type: string
sha:
description: "SHA (leave default if running manually)"
default: 'null'
required: false
type: string
workflow_call:
inputs:
pmm_qa_branch:
required: false
type: string
pmm_server_image:
required: true
type: string
pmm_client_image:
required: false
type: string
pmm_client_version:
required: false
type: string
sha:
required: false
type: string
jobs:
settings_and_cli:
name: Settings and cli UI tests
uses: ./.github/workflows/runner-e2e-tests-codeceptjs.yml
secrets: inherit
with:
pmm_server_image: ${{ inputs.pmm_server_image || github.event.inputs.pmm_server_image || 'perconalab/pmm-server:3-dev-latest' }}
pmm_client_version: ${{ inputs.pmm_client_version || github.event.inputs.pmm_client_version || 'latest-tarball' }}
pmm_client_image: ${{ inputs.pmm_client_image || github.event.inputs.pmm_client_image || 'perconalab/pmm-client:3-dev-latest' }}
pmm_qa_branch: ${{ github.event_name == 'pull_request' && github.head_ref || (inputs.pmm_qa_branch || github.event.inputs.pmm_qa_branch || 'main') }}
sha: ${{ inputs.sha || github.event.pull_request.head.sha || github.event.inputs.sha || 'null' }}
setup_services: '--database pgsql'
tags_for_tests: '@settings|@cli'
ssl_mysql:
name: MySQL SSL tests
uses: ./.github/workflows/runner-e2e-tests-codeceptjs.yml
secrets: inherit
with:
pmm_server_image: ${{ inputs.pmm_server_image || github.event.inputs.pmm_server_image || 'perconalab/pmm-server:3-dev-latest' }}
pmm_client_image: ${{ inputs.pmm_client_image || github.event.inputs.pmm_client_image || 'perconalab/pmm-client:3-dev-latest' }}
pmm_client_version: ${{ inputs.pmm_client_version || github.event.inputs.pmm_client_version || 'latest-tarball' }}
pmm_qa_branch: ${{ github.event_name == 'pull_request' && github.head_ref || (inputs.pmm_qa_branch || github.event.inputs.pmm_qa_branch || 'main') }}
sha: ${{ inputs.sha || github.event.pull_request.head.sha || github.event.inputs.sha || 'null' }}
setup_services: '--database ssl_mysql'
tags_for_tests: '@ssl-mysql'
ssl_mongo:
name: MongoDB SSL tests
uses: ./.github/workflows/runner-e2e-tests-codeceptjs.yml
secrets: inherit
with:
pmm_server_image: ${{ inputs.pmm_server_image || github.event.inputs.pmm_server_image || 'perconalab/pmm-server:3-dev-latest' }}
pmm_client_image: ${{ inputs.pmm_client_image || github.event.inputs.pmm_client_image || 'perconalab/pmm-client:3-dev-latest' }}
pmm_client_version: ${{ inputs.pmm_client_version || github.event.inputs.pmm_client_version || 'latest-tarball' }}
pmm_qa_branch: ${{ github.event_name == 'pull_request' && github.head_ref || (inputs.pmm_qa_branch || github.event.inputs.pmm_qa_branch || 'main') }}
sha: ${{ inputs.sha || github.event.pull_request.head.sha || github.event.inputs.sha || 'null' }}
setup_services: '--database ssl_psmdb'
tags_for_tests: '@ssl-mongo'
ssl_postgres:
name: PDPGSQL SSL tests
uses: ./.github/workflows/runner-e2e-tests-codeceptjs.yml
secrets: inherit
with:
pmm_server_image: ${{ inputs.pmm_server_image || github.event.inputs.pmm_server_image || 'perconalab/pmm-server:3-dev-latest' }}
pmm_client_version: ${{ inputs.pmm_client_version || 'latest-tarball' }}
pmm_client_image: ${{ inputs.pmm_client_image || github.event.inputs.pmm_client_image || 'perconalab/pmm-client:3-dev-latest' }}
pmm_qa_branch: ${{ github.event_name == 'pull_request' && github.head_ref || (inputs.pmm_qa_branch || github.event.inputs.pmm_qa_branch || 'main') }}
sha: ${{ inputs.sha || github.event.pull_request.head.sha || github.event.inputs.sha || 'null' }}
setup_services: '--database ssl_pdpgsql=16'
tags_for_tests: '@ssl-postgres'
disconnect:
name: Disconnect from PMM Server
uses: ./.github/workflows/runner-e2e-tests-codeceptjs.yml
secrets: inherit
with:
pmm_server_image: ${{ inputs.pmm_server_image || github.event.inputs.pmm_server_image || 'perconalab/pmm-server:3-dev-latest' }}
pmm_client_version: ${{ inputs.pmm_client_version || github.event.inputs.pmm_client_version || 'latest-tarball' }}
pmm_client_image: ${{ inputs.pmm_client_image || github.event.inputs.pmm_client_image || 'perconalab/pmm-client:3-dev-latest' }}
pmm_qa_branch: ${{ github.event_name == 'pull_request' && github.head_ref || (inputs.pmm_qa_branch || github.event.inputs.pmm_qa_branch || 'main') }}
sha: ${{ inputs.sha || github.event.pull_request.head.sha || github.event.inputs.sha || 'null' }}
setup_services: '--help'
tags_for_tests: '@disconnect'
ps_pxc_haproxy_integration:
name: PS, PXC and Haproxy integration tests
uses: ./.github/workflows/runner-e2e-tests-playwright.yml
secrets:
LAUNCHABLE_TOKEN: ${{ secrets.LAUNCHABLE_TOKEN }}
with:
pmm_server_version: ${{ inputs.pmm_server_image || github.event.inputs.pmm_server_image || 'perconalab/pmm-server:3-dev-latest' }}
pmm_client_version: ${{ inputs.pmm_client_version || github.event.inputs.pmm_client_version || 'latest-tarball' }}
pmm_qa_branch: ${{ github.event_name == 'pull_request' && github.head_ref || (inputs.pmm_qa_branch || github.event.inputs.pmm_qa_branch || 'main') }}
setup_services: '--database haproxy --database ps --database pxc'
pmm_test_flag: '@pmm-ps-pxc-haproxy-integration'
new-navigation:
name: New Navigation UI tests
uses: ./.github/workflows/runner-e2e-tests-playwright.yml
secrets:
LAUNCHABLE_TOKEN: ${{ secrets.LAUNCHABLE_TOKEN }}
with:
pmm_server_version: ${{ inputs.pmm_server_image || github.event.inputs.pmm_server_image || 'perconalab/pmm-server:3-dev-latest' }}
pmm_client_version: ${{ inputs.pmm_client_version || github.event.inputs.pmm_client_version || 'latest-tarball' }}
pmm_qa_branch: ${{ github.event_name == 'pull_request' && github.head_ref || (inputs.pmm_qa_branch || github.event.inputs.pmm_qa_branch || 'main') }}
setup_services: '--database ps=8.4 --database psmdb --database valkey'
pmm_test_flag: '@new-navigation'
# valkey_integration:
# name: Valkey integration tests
# uses: ./.github/workflows/runner-e2e-tests-playwright.yml
# secrets:
# LAUNCHABLE_TOKEN: ${{ secrets.LAUNCHABLE_TOKEN }}
# with:
# pmm_server_version: ${{ inputs.pmm_server_image || 'perconalab/pmm-server:3-dev-latest' }}
# pmm_client_version: ${{ inputs.pmm_client_version || 'latest-tarball' }}
## pmm_qa_branch: ${{ inputs.pmm_qa_branch || 'main' }}
# setup_services: '--database valkey'
# pmm_test_flag: '@pmm-valkey-integration'
inventory:
name: Inventory|Image renderer tests
uses: ./.github/workflows/runner-e2e-tests-playwright.yml
secrets:
LAUNCHABLE_TOKEN: ${{ secrets.LAUNCHABLE_TOKEN }}
with:
pmm_server_version: ${{ inputs.pmm_server_image || github.event.inputs.pmm_server_image || 'perconalab/pmm-server:3-dev-latest' }}
pmm_client_version: ${{ inputs.pmm_client_version || github.event.inputs.pmm_client_version || 'latest-tarball' }}
pmm_qa_branch: ${{ github.event_name == 'pull_request' && github.head_ref || (inputs.pmm_qa_branch || github.event.inputs.pmm_qa_branch || 'main') }}
setup_services: '--database pdpgsql'
pmm_test_flag: '@inventory|@image-renderer'
access-control:
name: Access control tests
uses: ./.github/workflows/runner-e2e-tests-playwright.yml
secrets:
LAUNCHABLE_TOKEN: ${{ secrets.LAUNCHABLE_TOKEN }}
with:
pmm_server_version: ${{ inputs.pmm_server_image || github.event.inputs.pmm_server_image || 'perconalab/pmm-server:3-dev-latest' }}
pmm_client_version: ${{ inputs.pmm_client_version || github.event.inputs.pmm_client_version || 'latest-tarball' }}
pmm_qa_branch: ${{ github.event_name == 'pull_request' && github.head_ref || (inputs.pmm_qa_branch || github.event.inputs.pmm_qa_branch || 'main') }}
setup_services: '--database ps=8.4 --database psmdb --database pdpgsql'
pmm_test_flag: '@LBAC'
fb_tests:
name: FB E2E tests
uses: ./.github/workflows/fb-e2e-suite.yml
secrets: inherit
with:
pmm_server_image: ${{ inputs.pmm_server_image || github.event.inputs.pmm_server_image || 'perconalab/pmm-server:3-dev-latest' }}
pmm_client_version: ${{ inputs.pmm_client_version || github.event.inputs.pmm_client_version || 'latest-tarball' }}
pmm_client_image: ${{ inputs.pmm_client_image || github.event.inputs.pmm_client_image || 'perconalab/pmm-client:3-dev-latest' }}
pmm_qa_branch: ${{ github.event_name == 'pull_request' && github.head_ref || (inputs.pmm_qa_branch || github.event.inputs.pmm_qa_branch || 'main') }}
sha: ${{ inputs.sha || github.event.pull_request.head.sha || 'null' }}