Skip to content

Commit

Permalink
PMM-12296 added all jobs (#655)
Browse files Browse the repository at this point in the history
* PMM-12296 added all jobs

* PMM-12296 switched version getter
  • Loading branch information
vyarosh authored Feb 19, 2024
1 parent 50815b1 commit 2ba3150
Show file tree
Hide file tree
Showing 16 changed files with 2,635 additions and 0 deletions.
60 changes: 60 additions & 0 deletions .github/workflows/e2e-tests.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
name: PMM e2e Tests(Playwright)

on:
schedule:
- cron: '0 0 * * *'
workflow_dispatch:
inputs:
pmm_ui_tests_branch:
description: 'pmm-ui-tests repository branch'
default: 'main'
required: true
pmm_qa_branch:
description: 'pmm-qa repository branch(for setup)'
default: 'main'
required: true
pmm_server_version:
description: 'PMM Server docker image'
default: 'perconalab/pmm-server:dev-latest'
required: true
pmm_client_version:
description: 'PMM Client version to test (dev-latest|pmm2-latest|pmm2-rc|x.xx.x)'
default: 'dev-latest'
required: true

jobs:
rbac:
name: RBAC
uses: ./.github/workflows/runner-e2e-tests-playwright.yml
secrets: inherit
with:
pmm_ui_tests_branch: ${{ github.event.inputs.pmm_ui_tests_branch || github.head_ref || 'main '}}
pmm_test_flag: '@rbac'
pmm_server_version: ${{ github.event.inputs.pmm_server_version || 'perconalab/pmm-server:dev-latest' }}
pmm_client_version: ${{ github.event.inputs.pmm_client_version || 'dev-latest' }}
pmm_clients: '--addclient=ps,1 --addclient=pdpgsql,1'
pmm_qa_branch: ${{ github.event.inputs.pmm_qa_branch || 'main' }}

portal:
name: Portal
uses: ./.github/workflows/runner-e2e-tests-playwright.yml
secrets: inherit
with:
pmm_ui_tests_branch: ${{ github.event.inputs.pmm_ui_tests_branch || github.head_ref || 'main '}}
pmm_test_flag: '@portal'
pmm_server_version: ${{ github.event.inputs.pmm_server_version || 'perconalab/pmm-server:dev-latest' }}
pmm_client_version: ${{ github.event.inputs.pmm_client_version || 'dev-latest' }}
pmm_clients: ''
pmm_qa_branch: ${{ github.event.inputs.pmm_qa_branch || 'main' }}

inventory:
name: Inventory
uses: ./.github/workflows/runner-e2e-tests-playwright.yml
secrets: inherit
with:
pmm_ui_tests_branch: ${{ github.event.inputs.pmm_ui_tests_branch || github.head_ref || 'main '}}
pmm_test_flag: '@inventory'
pmm_server_version: ${{ github.event.inputs.pmm_server_version || 'perconalab/pmm-server:dev-latest' }}
pmm_client_version: ${{ github.event.inputs.pmm_client_version || 'dev-latest' }}
pmm_clients: '--addclient=modb,1 --addclient=ps,1 --addclient=pdpgsql,1'
pmm_qa_branch: ${{ github.event.inputs.pmm_qa_branch || 'main' }}
130 changes: 130 additions & 0 deletions .github/workflows/e2e-upgrade-tests-matrix-full.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,130 @@
name: "PMM Upgrade Full Matrix (e2e tests)"

on:
schedule:
- cron: '0 0 * * *'
workflow_dispatch:
inputs:
pmm_ui_tests_branch:
description: 'pmm-ui-tests repository branch'
default: 'main'
required: true
pmm_qa_branch:
description: 'pmm-qa repository branch(for setup)'
default: 'main'
required: true
repository:
description: 'Upgrade to:'
required: true
default: 'dev-latest'
type: choice
options:
- release
- release candidate
- dev-latest
versions_range:
description: 'Last versions range:'
default: 5
required: true

jobs:
get_versions:
name: Get versions
uses: ./.github/workflows/pmm-version-getter.yml
with:
repository: ${{ inputs.repository || 'dev-latest'}}
matrix_range: ${{ inputs.versions_range || '5' }}

configuration:
name: 'Configuration / Settings'
uses: ./.github/workflows/runner-e2e-upgrade-tests.yml
secrets: inherit
needs: get_versions
strategy:
fail-fast: false
matrix:
old_version: ${{ fromJSON(needs.get_versions.outputs.version_matrix) }}
upgrade_type: ["UI way", "Docker way", "Podman way"]
with:
pmm_ui_tests_branch: ${{ inputs.pmm_ui_tests_branch || 'main' }}
pre_upgrade_tests: '@config-pre-upgrade'
post_upgrade_tests: '@config-post-upgrade'
pmm_server_start_version: ${{ matrix.old_version }}
pmm_client_start_version: ${{ matrix.old_version }}
upgrade_type: ${{ matrix.upgrade_type }}
pmm_qa_branch: ${{ inputs.pmm_qa_branch || 'main' }}
services_list: ''
repository: ${{ inputs.repository || 'dev-latest'}}
version_string_from: ${{needs.get_versions.outputs.start_version}}
version_string_to: ${{needs.get_versions.outputs.finish_version}}

rbac:
name: "RBAC / User Roles"
uses: ./.github/workflows/runner-e2e-upgrade-tests.yml
secrets: inherit
needs: get_versions
strategy:
fail-fast: false
matrix:
old_version: ${{ fromJSON(needs.get_versions.outputs.version_matrix) }}
upgrade_type: ["UI way", "Docker way", "Podman way"]
with:
pmm_ui_tests_branch: ${{ inputs.pmm_ui_tests_branch || 'main' }}
pre_upgrade_tests: '@rbac-pre-upgrade'
post_upgrade_tests: '@rbac-post-upgrade'
pmm_server_start_version: ${{ matrix.old_version }}
pmm_client_start_version: ${{ matrix.old_version }}
upgrade_type: ${{ matrix.upgrade_type }}
pmm_qa_branch: ${{ inputs.pmm_qa_branch || 'main' }}
services_list: '--addclient=ps,1 --addclient=pdpgsql,1'
repository: ${{ inputs.repository || 'dev-latest'}}
version_string_from: ${{needs.get_versions.outputs.start_version}}
version_string_to: ${{needs.get_versions.outputs.finish_version}}

# portal:
# ### '/' in the job name is for good sub-jobs grouping
# name: Portal / Portal
# uses: ./.github/workflows/runner-e2e-upgrade-tests.yml
# secrets: inherit
# needs: get_versions
# strategy:
# fail-fast: false
# matrix:
# old_version: ${{ fromJSON(needs.get_versions.outputs.version_matrix) }}
# upgrade_type: [ "UI way", "Docker way" ]
# with:
# pmm_ui_tests_branch: ${{ inputs.pmm_ui_tests_branch || 'main' }}
# pre_upgrade_tests: '@pre-pmm-portal-upgrade'
# post_upgrade_tests: '@post-pmm-portal-upgrade'
# pmm_server_start_version: ${{ matrix.old_version }}
# pmm_client_start_version: ${{ matrix.old_version }}
# upgrade_type: ${{ matrix.upgrade_type }}
# pmm_qa_branch: ${{ inputs.pmm_qa_branch || 'main' }}
# services_list: ''
# repository: ${{ inputs.repository || 'dev-latest'}}
# version_string_from: ${{needs.get_versions.outputs.start_version}}
# version_string_to: ${{needs.get_versions.outputs.finish_version}}

# inventory:
# # TODO: add / in the job names for good sub-jobs grouping
# name: 'Inventory'
# uses: ./.github/workflows/runner-e2e-upgrade-tests.yml
# secrets: inherit
# needs: get_versions
# strategy:
# fail-fast: false
# matrix:
# old_version: ${{ fromJSON(needs.get_versions.outputs.version_matrix) }}
# upgrade_type: [ "UI way", "Docker way" ]
# with:
# pmm_ui_tests_branch: ${{ inputs.pmm_ui_tests_branch }}
# pre_upgrade_tests: '@inventory-pre-upgrade'
# post_upgrade_tests: '@inventory-post-upgrade'
# pmm_server_start_version: ${{ inputs.pmm_server_start_version }}
# pmm_client_start_version: ${{ inputs.pmm_client_start_version }}
# upgrade_type: ${{ inputs.upgrade_type }}
# pmm_qa_branch: ${{ inputs.pmm_qa_branch }}
# services_list: '--addclient=modb,1'
# repository: ${{ inputs.repository }}
# version_string_from: ${{needs.get_versions.outputs.start_version}}
# version_string_to: ${{needs.get_versions.outputs.finish_version}}
122 changes: 122 additions & 0 deletions .github/workflows/e2e-upgrade-tests-matrix.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,122 @@
name: "PMM Upgrade Matrix (e2e tests)"

on:
schedule:
- cron: '0 0 * * *'
workflow_dispatch:
inputs:
pmm_ui_tests_branch:
description: 'pmm-ui-tests repository branch'
default: 'main'
required: true
pmm_qa_branch:
description: 'pmm-qa repository branch(for setup)'
default: 'main'
required: true
upgrade_type:
description: 'Upgrade way:'
required: true
default: 'Docker way'
type: choice
options:
- UI way
- Docker way
- Podman way
repository:
description: 'Upgrade to:'
required: true
default: 'dev-latest'
type: choice
options:
- release
- release candidate
- dev-latest

jobs:
get_versions:
name: Get versions
uses: ./.github/workflows/pmm-version-getter.yml
with:
repository: ${{ inputs.repository || 'dev-latest'}}
matrix_range: 10

configuration:
name: 'Configuration / Settings'
uses: ./.github/workflows/runner-e2e-upgrade-tests.yml
secrets: inherit
needs: get_versions
strategy:
fail-fast: false
matrix:
old_version: ${{ fromJSON(needs.get_versions.outputs.version_matrix) }}
with:
pmm_ui_tests_branch: ${{ inputs.pmm_ui_tests_branch || 'main' }}
pre_upgrade_tests: '@config-pre-upgrade'
post_upgrade_tests: '@config-post-upgrade'
pmm_server_start_version: ${{ matrix.old_version }}
pmm_client_start_version: ${{ matrix.old_version }}
upgrade_type: ${{ inputs.upgrade_type || 'Docker way' }}
pmm_qa_branch: ${{ inputs.pmm_qa_branch || 'main' }}
services_list: ''
repository: ${{ inputs.repository || 'dev-latest'}}
version_string_from: ${{needs.get_versions.outputs.start_version}}
version_string_to: ${{needs.get_versions.outputs.finish_version}}

rbac:
name: "RBAC / User Roles"
uses: ./.github/workflows/runner-e2e-upgrade-tests.yml
secrets: inherit
needs: get_versions
strategy:
fail-fast: false
matrix:
old_version: ${{ fromJSON(needs.get_versions.outputs.version_matrix) }}
with:
pmm_ui_tests_branch: ${{ inputs.pmm_ui_tests_branch || 'main' }}
pre_upgrade_tests: '@rbac-pre-upgrade'
post_upgrade_tests: '@rbac-post-upgrade'
pmm_server_start_version: ${{ matrix.old_version }}
pmm_client_start_version: ${{ matrix.old_version }}
upgrade_type: ${{ inputs.upgrade_type || 'Docker way' }}
pmm_qa_branch: ${{ inputs.pmm_qa_branch || 'main' }}
services_list: '--addclient=ps,1 --addclient=pdpgsql,1'
repository: ${{ inputs.repository || 'dev-latest'}}
version_string_from: ${{needs.get_versions.outputs.start_version}}
version_string_to: ${{needs.get_versions.outputs.finish_version}}

# TODO: add / in the job names for good sub-jobs grouping
# portal:
# name: Portal
# uses: ./.github/workflows/runner-e2e-upgrade-tests.yml
# secrets: inherit
# needs: get_versions
# with:
# pmm_ui_tests_branch: ${{ inputs.pmm_ui_tests_branch }}
# pre_upgrade_tests: '@pre-pmm-portal-upgrade'
# post_upgrade_tests: '@post-pmm-portal-upgrade'
# pmm_server_start_version: ${{ inputs.pmm_server_start_version }}
# pmm_client_start_version: ${{ inputs.pmm_client_start_version }}
# upgrade_type: ${{ inputs.upgrade_type || 'Docker way' }}
# pmm_qa_branch: ${{ inputs.pmm_qa_branch }}
# services_list: ''
# repository: ${{ inputs.repository }}
# version_string_from: ${{needs.get_versions.outputs.start_version}}
# version_string_to: ${{needs.get_versions.outputs.finish_version}}
#
# inventory:
# name: 'Inventory'
# uses: ./.github/workflows/runner-e2e-upgrade-tests.yml
# secrets: inherit
# needs: get_versions
# with:
# pmm_ui_tests_branch: ${{ inputs.pmm_ui_tests_branch }}
# pre_upgrade_tests: '@inventory-pre-upgrade'
# post_upgrade_tests: '@inventory-post-upgrade'
# pmm_server_start_version: ${{ inputs.pmm_server_start_version }}
# pmm_client_start_version: ${{ inputs.pmm_client_start_version }}
# upgrade_type: ${{ inputs.upgrade_type || 'Docker way' }}
# pmm_qa_branch: ${{ inputs.pmm_qa_branch }}
# services_list: '--addclient=modb,1'
# repository: ${{ inputs.repository }}
# version_string_from: ${{needs.get_versions.outputs.start_version}}
# version_string_to: ${{needs.get_versions.outputs.finish_version}}
Loading

0 comments on commit 2ba3150

Please sign in to comment.