PMM_PDPGSQL #62
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: PMM_PDPGSQL | |
on: | |
workflow_dispatch: | |
inputs: | |
pdpgsql_version: | |
description: "PDPGSQL Docker hub example perconalab/percona-distribution-postgresql:16.0 latest available Image" | |
required: true | |
type: string | |
pmm_qa_branch: | |
description: "Branch for qa-integration to checkout" | |
required: false | |
type: string | |
pmm_ui_tests_branch: | |
description: "Branch for PMM-UI tests to checkout" | |
required: false | |
type: string | |
pmm_server_image: | |
description: "pmm_image, example: perconalab/pmm-server:3-dev-latest" | |
required: false | |
type: string | |
pmm_client_version: | |
description: 'PMM Client version (3-dev-latest|pmm3-rc|x.xx.x|https...)' | |
default: '3-dev-latest' | |
required: false | |
type: string | |
push: | |
branches: | |
- v3 | |
pull_request: | |
branches: | |
- v3 | |
jobs: | |
PMM_PDPGSQL_TEST: | |
runs-on: ubuntu-latest | |
timeout-minutes: 20 | |
env: | |
ADMIN_PASSWORD: 'admin' | |
PDPGSQL_VERSION: ${{ github.event.inputs.pdpgsql_version || 'perconalab/percona-distribution-postgresql:16.0' }} | |
PMM_IMAGE: ${{ github.event.inputs.pmm_server_image || 'perconalab/pmm-server:3-dev-latest' }} | |
PMM_QA_BRANCH: ${{ github.event.inputs.pmm_qa_branch || 'v3' }} | |
PMM_UI_BRANCH: ${{ github.event.inputs.pmm_ui_tests_branch || 'v3' }} | |
PMM_CLIENT_VERSION: ${{ github.event.inputs.pmm_client_version || '3-dev-latest' }} | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Run the pmm container in backgrounds | |
run: docker run --detach --restart always -p 443:8443 -p 80:80 --name pmm-server ${{ env.PMM_IMAGE }} | |
- name: Checkout qa-integration repo | |
uses: actions/checkout@v4 | |
with: | |
ref: ${{ env.PMM_QA_BRANCH }} | |
repository: Percona-Lab/qa-integration | |
path: ./qa-integration | |
- name: Export path to qa-integration repo | |
working-directory: qa-integration | |
run: echo "PATH_TO_PMM_QA=$(pwd)" >> $GITHUB_ENV | |
- name: Setup PMM-Client | |
working-directory: qa-integration/pmm_qa | |
run: sudo bash -x pmm3-client-setup.sh --pmm_server_ip pmm-server --client_version ${{ env.PMM_CLIENT_VERSION }} --admin_password ${{ env.ADMIN_PASSWORD }} --use_metrics_mode no | |
- name: Run Setup for E2E Tests | |
working-directory: qa-integration/pmm_qa | |
run: | | |
mkdir -m 777 -p /tmp/backup_data | |
python3 -m venv virtenv | |
. virtenv/bin/activate | |
pip install --upgrade pip | |
pip install -r requirements.txt | |
python pmm-framework.py --pmm-server-password=${{ env.ADMIN_PASSWORD }} --verbose --database PDPGSQL=16 | |
- name: Checkout PMM UI tests | |
uses: actions/checkout@v4 | |
with: | |
ref: ${{ env.PMM_UI_BRANCH }} | |
repository: percona/pmm-ui-tests | |
path: ./pmm-ui-tests | |
- name: Install npx dependencies | |
run: sudo npm ci && sudo npx playwright install-deps && npx codeceptjs def pr.codecept.js | |
working-directory: pmm-ui-tests | |
- name: Run the Integration tests of pdpgsql | |
run: npx codeceptjs run -c pr.codecept.js tests/qa-integration/pmm_pdpgsql_integration_test.js --steps --debug | |
working-directory: pmm-ui-tests |