Skip to content

PMM_PDPGSQL

PMM_PDPGSQL #62

Workflow file for this run

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