Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
133 commits
Select commit Hold shift + click to select a range
dc4652d
PMM-12977 adopt BM setup for PMM 3
yurkovychv Mar 13, 2024
04a7e8b
PMM-12977 update workflow
yurkovychv Mar 13, 2024
9416fb4
PMM-12977 remove using setup docker-compose action
yurkovychv Mar 13, 2024
46ae79b
PMM-12977 fix tests
yurkovychv Mar 13, 2024
6ae5063
PMM-12977 fix tests
yurkovychv Mar 13, 2024
4bc5155
PMM-12977 fix tests
yurkovychv Mar 19, 2024
de6c4b0
PMM-12977 fix auth tests
yurkovychv Mar 19, 2024
a589db9
PMM-12977 formatting
yurkovychv Mar 19, 2024
93bf3c9
PMM-12977 fix sharded cluster docker-compose
yurkovychv Mar 19, 2024
6e2818b
PMM-12977 fix sharded cluster docker-compose
yurkovychv Mar 19, 2024
12017ba
PMM-12977 fix sharded cluster docker-compose
yurkovychv Mar 19, 2024
5c60036
Merge pull request #39 from Percona-Lab/PMM-12977-BM-setup-for-pmm3
yurkovychv Mar 19, 2024
abcc6e2
Merge remote-tracking branch 'origin/main' into v3
yurkovychv Mar 21, 2024
33f76ca
PMM-7 consider arbiter
yurkovychv Mar 21, 2024
ec542f4
PMM-7 support psa and pss
yurkovychv Mar 25, 2024
42d716a
PMM-7 fix psa
yurkovychv Mar 26, 2024
d1704f6
PMM Framework (#37)
saikumar-vs Apr 3, 2024
dc3cc98
PMM7 Fix IP issue (#42)
saikumar-vs Apr 4, 2024
7ce8bd5
PMM-7 use ansible-runner lib, create Makefile with init target, add r…
yurkovychv Apr 5, 2024
be80d60
PMM-7 review changes
yurkovychv Apr 5, 2024
1cd52ad
PMM-7 update requirements
yurkovychv Apr 8, 2024
51281d1
PMM-7 remove python from script, update env vars
yurkovychv Apr 9, 2024
f7297e9
PMM-7 update server address logic
yurkovychv Apr 9, 2024
a83aac5
PMM-7 rely on start-rs-only
yurkovychv Apr 9, 2024
142d740
PMM-7 return exit code if ansible fails
yurkovychv Apr 11, 2024
2398dd5
PMM-7 add random service names to mongo services
yurkovychv Apr 11, 2024
45f0010
PMM-7 add random service names to mongo services
yurkovychv Apr 11, 2024
afaa232
PMM-7 add random service names to mongo services
yurkovychv Apr 11, 2024
2b91a36
PMM-7 add random service names to mongo services
yurkovychv Apr 11, 2024
1c5125d
PMM-7 add random service names to mongo services
yurkovychv Apr 11, 2024
33a1d8b
Updates on PXC/ProxySQL and GR for PS. (#44)
saikumar-vs Apr 12, 2024
8fec047
Merge branch 'v3' into PMM-7-use-ansible-runner-lib
yurkovychv Apr 15, 2024
5dfc47d
PMM-7 update init-ubuntu
yurkovychv Apr 15, 2024
286d6d8
Merge pull request #43 from Percona-Lab/PMM-7-use-ansible-runner-lib
yurkovychv Apr 16, 2024
2a1e7ac
Updates for HAProxy and External exporters (#45)
saikumar-vs Apr 17, 2024
5b96368
Updates fixe for PS, MS for Replication and GR (#47)
saikumar-vs Apr 19, 2024
17eac4c
Updates fix for PS, MS single instance setup (#49)
saikumar-vs Apr 22, 2024
7b50f64
PMM-13027 dot for PMM Agent node name (#46)
yurkovychv Apr 24, 2024
6af896d
PMM-13086 setup improvements and fixes for BM (#53)
yurkovychv May 3, 2024
8eb1f1e
Fixes for CLI Tests 1) exposing ports for databases 2) added docker…
saikumar-vs May 3, 2024
9b92ba0
Updates for Base Image changes (#54)
saikumar-vs May 6, 2024
d85d6ee
PMM-7 fix framework in GH worker (#55)
yurkovychv May 7, 2024
55eca0a
Updates for PXC when client tar ball install (#58)
saikumar-vs May 14, 2024
b234eed
PMM-7 fix psmdb setup (#56)
yurkovychv May 14, 2024
1649710
framework proxysql fix (#59)
saikumar-vs May 15, 2024
9083d59
Fix innodb metrics for upstream (#60)
saikumar-vs May 28, 2024
12d4b4a
Updates upstream dosent contain userstat table (#61)
saikumar-vs May 28, 2024
ce86bc9
PMM-7: Add root user to the ps setup
peterSirotnak Jun 10, 2024
336e843
PMM-7: test dbdeployer
peterSirotnak Jun 11, 2024
bd2fb7f
Add TLS files and fixs from main(tls, psmdb) setups (#63)
saikumar-vs Jun 11, 2024
6906c28
Updates root user creds
saikumar-vs Jun 11, 2024
c23f97c
Merge pull request #65 from Percona-Lab/PMM-7-add-root-user-to-ps
peterSirotnak Jun 12, 2024
31e5873
Add query plan fpr ppg_stat_monitor (#62)
saikumar-vs Jun 13, 2024
d69490f
PMM-7 SSL mysql base support (#48)
puneet0191 Jun 28, 2024
99f9101
Updates for Help Options (#57)
saikumar-vs Jul 4, 2024
87b6aad
Updates for pmm3-client repo changes v3 (#69)
saikumar-vs Jul 8, 2024
12ab671
Updates for Dockerfile for changed keys(v3) (#70)
saikumar-vs Jul 12, 2024
cd45f4c
Updates for release repo ssl dependencies (#68)
saikumar-vs Jul 12, 2024
f74b18a
PMM3 psmdb agent ports fix (#72)
saikumar-vs Jul 17, 2024
12f0078
PMM-13240 PMM3 integration setup fixs (#73)
saikumar-vs Jul 31, 2024
d30f2a4
Update PMM_PXC_PROXYSQL.yaml (#75)
saikumar-vs Jul 31, 2024
6bde793
Updates v3 changes for PMM-13331 from pmm2 (#79)
saikumar-vs Sep 16, 2024
bb97e67
Updates fix docker-compose search replace (#80)
saikumar-vs Sep 18, 2024
e44d8fb
Fix integration test issues (#83)
saikumar-vs Nov 5, 2024
8cab71a
PMM-7 Fix PMM V3 mysql_tls_setup.yml (#84)
puneet0191 Nov 5, 2024
359159f
Update pmm-framework.py (#85)
saikumar-vs Nov 5, 2024
98b0f8e
Pmm3 fix pdpgsql and psmdb versions (#86)
saikumar-vs Nov 9, 2024
e1c40ad
Update product_version_download_helper (#87)
saikumar-vs Nov 11, 2024
c8d056a
PMM3 fix ssl qan (#88)
saikumar-vs Nov 12, 2024
47bee28
PSMDB. Ensure PSMDB related metrics are exported, adjust PSMDB tests …
sandraromanchenko Jul 16, 2024
a9a4b83
Update pmm-framework.py (#90)
saikumar-vs Nov 13, 2024
c4e15e7
Merge pull request #89 from Percona-Lab/PSMDB_export_fix_v3
sandraromanchenko Nov 13, 2024
92a2b96
Update pmm-framework.py (#92)
saikumar-vs Nov 14, 2024
f0c601d
Update to expose minio port number on 9001 (#93)
saikumar-vs Nov 19, 2024
7075595
PSMDB. Remove unnecessary pidFilePath option as forking is already di…
sandraromanchenko Nov 29, 2024
c063f46
Updates fix gh triggers for PS and Proxysql (#101)
saikumar-vs Dec 10, 2024
19ea786
Update PMM_PS.yaml (#102)
saikumar-vs Dec 10, 2024
204660f
Updates to fix PGSQL for PGSM (#103)
saikumar-vs Dec 19, 2024
136d172
Pmm3 pgsql portfix (#106)
saikumar-vs Jan 2, 2025
70715da
Updates fix pgsm support (#109)
saikumar-vs Jan 14, 2025
b15a7aa
Update pmm-framework.py (#110)
saikumar-vs Jan 15, 2025
9f409ee
PMM-13668 PMM-13678 Updates add PS 8.4 and MS 8.4 Support (#111)
saikumar-vs Jan 16, 2025
a32f367
PMM-7 fix workflows (#112)
yurkovychv Jan 27, 2025
74d03b3
Pmm3 fix client for release version (#113)
saikumar-vs Jan 31, 2025
e75ed18
Pmm3 add ps replica (#116)
saikumar-vs Mar 6, 2025
973356b
PMM-13626: use correct docker container for pmm client
peterSirotnak Mar 6, 2025
b5a01f9
PMM-13626: use correct docker container for pmm client
peterSirotnak Mar 6, 2025
2572a0a
PMM-13626: use correct docker container for pmm client
peterSirotnak Mar 6, 2025
e04fcd1
PMM-13626: use correct docker container for pmm client
peterSirotnak Mar 6, 2025
88b998c
Merge pull request #119 from Percona-Lab/PMM-13626
peterSirotnak Mar 6, 2025
6e876e6
PMM-13871 Updates fix MySQL Replica issue with Auth. (#120)
saikumar-vs Mar 21, 2025
904c946
PMM-13765: Change runner
peterSirotnak Mar 24, 2025
72cb71a
PMM-13294 MLaunch Support (#76)
saikumar-vs Mar 26, 2025
538d077
PMM-13765: Change runner
peterSirotnak Mar 26, 2025
74182d6
Merge pull request #121 from Percona-Lab/PMM-13765-v3
peterSirotnak Mar 26, 2025
b7113e0
PMM-13890 add agent password argument (#122)
yurkovychv Mar 27, 2025
ac98868
PMM-7 fix version extraction for psmdb (#125)
yurkovychv Apr 14, 2025
c38a375
Add repo to workflow (#127)
sandraromanchenko Apr 18, 2025
e32fa0f
PMM-7: Add support for Percona Server 8.4 (#124)
peterSirotnak Apr 28, 2025
b142a61
PMM-12153: Async replication for Percona Server (#129) (#130)
peterSirotnak Apr 30, 2025
d2a11b4
PMM-7: Improve ps setup with userstat (#131)
peterSirotnak May 5, 2025
49b06fe
PMM-7: Fix psmdb pmm client setup (#132)
peterSirotnak May 6, 2025
baff0f8
PSMDB. Add kerberos to setup and test to check PMM GSSAPI support + f…
sandraromanchenko May 12, 2025
49034ab
PMM. Fix auth tests (#133)
sandraromanchenko May 14, 2025
dad7e3d
PMM-7: Fix createbucket minio (#138)
peterSirotnak Jun 2, 2025
c3e34ac
3.2.0 fixes (#137)
peterSirotnak Jun 2, 2025
a93237d
PMM-14032 setup changes for 3.2.0 test cases (#141)
yurkovychv Jun 6, 2025
aaec0b3
PMM-7: New PMM QA Framework flag --bucket (#144)
peterSirotnak Jun 10, 2025
34768c4
PMM-13928: PGSQL replication and patroni setup (#143)
peterSirotnak Jun 10, 2025
514d30d
PMM-7: Quotes fix (#145)
peterSirotnak Jun 11, 2025
5d5ebb5
PMM-7: Install community docker plugin in PMM QA Framework (#146)
peterSirotnak Jun 12, 2025
556d25b
PMM-7: Fixes for PMM 3.3.0 (#148) (#149)
peterSirotnak Jun 24, 2025
524cb5e
PMM-7: Fix PMM Password for ssl mongo setup (#150)
peterSirotnak Jun 25, 2025
d499120
PMM-13758: change yum for dnf (#151)
peterSirotnak Jul 17, 2025
4799f02
PMM-13758: control OL version (#152)
yurkovychv Jul 23, 2025
73abc62
PMM-7 fix setup (#153)
yurkovychv Jul 23, 2025
9769ffa
PSMDB. Add kerberos auth to RS setup (#156)
sandraromanchenko Aug 8, 2025
f946db9
PMM-14184 optionally add clients via gssapi (#157)
yurkovychv Aug 12, 2025
ba08108
PMM-14185 handle gssapi (#158)
yurkovychv Aug 19, 2025
e9afb2c
PMM-7: Cluster name for pmm server single and test load (#159)
peterSirotnak Sep 4, 2025
efa383d
PMM-14125 scripts update (#160)
yurkovychv Sep 8, 2025
3fbc7c1
PMM-14170: Add Valkey setup and configuration scripts (#154)
travagliad Sep 15, 2025
9d1ce1d
PMM-7 Changes ldap image to bitnamilegacy (#162)
travagliad Oct 6, 2025
1898e79
PMM-7: Percona server enable MyRocks engine (#163)
peterSirotnak Oct 9, 2025
800a3e5
PMM-7: add env (#164)
peterSirotnak Oct 9, 2025
b0cd747
PMM-7: add wait for Percona Server setup (#165)
peterSirotnak Oct 9, 2025
219c86f
PMM-7 Fix Valkey Deployment (#168)
travagliad Oct 31, 2025
7c2293c
PMM-7: Fix IPV4 plugin (#170)
peterSirotnak Nov 2, 2025
1c8167a
Fix valkey memory settings (#172)
travagliad Nov 3, 2025
e893c95
PMM-7: Fix valkey debian version (#173)
peterSirotnak Nov 8, 2025
2b47c62
PMM-7 Enable pmm3-client release in Dockerfile for conditional instal…
travagliad Nov 10, 2025
6028579
PMM-7: External single pmm client setup (#171)
peterSirotnak Nov 13, 2025
03a7219
PMM-7: Fix for external setup (#176)
peterSirotnak Nov 19, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/CODEOWNERS
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# https://docs.github.com/en/github/creating-cloning-and-archiving-repositories/about-code-owners
# Order is important; the last matching pattern takes the most precedence.

* @yurkovychv @puneet0191 @olexandr-havryliak @sandraromanchenko
* @yurkovychv @puneet0191 @olexandr-havryliak @sandraromanchenko @peterSirotnak
119 changes: 61 additions & 58 deletions .github/workflows/PMM_PDPGSQL.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,86 +3,89 @@ on:
workflow_dispatch:
inputs:
pdpgsql_version:
description: "PDPGSQL Docker hub example perconalab/percona-distribution-postgresql:16.0 latest available Image"
description: "PDPGSQL Version available Image versions on github, example: 15, 16, 17"
required: true
pmm_image:
description: "pmm_image, example: perconalab/pmm-server:dev-latest"
default: '17'
type: string
pmm_qa_branch:
description: "Branch for qa-integration to checkout"
required: false
repo:
description: "Percona Release Repo defaults to Experiemental example: experimental"
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"
default: '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:
- main
- v3

pull_request:
branches:
- main
- v3

jobs:
PMM_PDPGSQL_TEST:
runs-on: ubuntu-latest
timeout-minutes: 20
runs-on: ubuntu-22.04
timeout-minutes: 40
env:
PDPGSQL_VERSION: ${{ github.event.inputs.pdpgsql_version || 'perconalab/percona-distribution-postgresql:16.0' }}
PMM_IMAGE: ${{ github.event.inputs.pmm_image || 'perconalab/pmm-server:dev-latest' }}
REPO: ${{ github.event.inputs.repo || 'experimental' }}

ADMIN_PASSWORD: 'admin'
PDPGSQL_VERSION: ${{ github.event.inputs.pdpgsql_version || '17' }}
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: Concatenate values to environment file
run: |
echo "PMM_QA_REPO_URL=https://github.com/percona/pmm-qa/" >> $GITHUB_ENV
echo "PMM_QA_REPO_BRANCH=main" >> $GITHUB_ENV

- name: Install Ansible and update the node
run: sudo apt-get update -y && sudo apt-get install ansible -y

- name: Install Percona Release Package
run: wget https://repo.percona.com/apt/percona-release_latest.generic_all.deb && sudo dpkg -i percona-release_latest.generic_all.deb

- name: Install Enable percona-release experimental for dev-latest installation of pmm2-client
if: ${{ inputs.repo == 'experimental' }}
run: sudo percona-release enable-only original experimental
- name: Run the PMM Server container
run: docker run --detach --restart always -p 443:8443 -p 8081:8080 --name pmm-server ${{ env.PMM_IMAGE }}

- name: Install Enable percona-release testing for rc installation of pmm2-client
if: ${{ inputs.repo == 'testing' }}
run: sudo percona-release enable-only original testing

- name: Install PMM Client
run: sudo apt update -y && sudo apt-get upgrade -y && sudo apt-get install -y pmm2-client
- name: Checkout qa-integration repo
uses: actions/checkout@v4
with:
ref: ${{ env.PMM_QA_BRANCH }}
repository: Percona-Lab/qa-integration
path: ./qa-integration

- name: Delete if the Repo already checked out
run: sudo rm -r pmm-qa || true
- name: Export path to qa-integration repo
working-directory: qa-integration
run: echo "PATH_TO_PMM_QA=$(pwd)" >> $GITHUB_ENV

- name: Clone the PMM_QA repo
run: git clone -b ${{ env.PMM_QA_REPO_BRANCH }} ${{ env.PMM_QA_REPO_URL }}

- name: Give write perimssion to the bash script
run: chmod +x ./pmm-tests/pmm-framework.sh
working-directory: pmm-qa

- name: Run the pmm container in backgrounds
run: docker run --detach --restart always -p 443:443 -p 80:80 --name pmm-server ${{ env.PMM_IMAGE }}

- name: Wait before pmm-admin config command
run: sleep 120

- name: setup pmm-admin config
run: sudo pmm-admin config --server-insecure-tls --server-url=https://admin:admin@localhost:443
- 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 --force-reinstall -U setuptools
pip install -r requirements.txt
python pmm-framework.py --verbose --pmm-server-password=${{ env.ADMIN_PASSWORD }} --client-version=${{ env.PMM_CLIENT_VERSION }} --database PDPGSQL=${{ env.PDPGSQL_VERSION }}

- name: Run for PDPGSQL tests
run: sudo ./pmm-framework.sh --pdpgsql-version=16 --pmm2 --download --addclient=pdpgsql,1
working-directory: pmm-qa/pmm-tests

- name: Checkout the repo and install node packages
run: git clone https://github.com/percona/pmm-ui-tests.git && cd pmm-ui-tests && npm ci
- 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 npx playwright install-deps && npx codeceptjs def pr.codecept.js
run: npm ci && npx playwright install --with-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
run: |
export PMM_UI_URL="http://127.0.0.1:8081/"
npx codeceptjs run -c pr.codecept.js tests/qa-integration/pmm_pdpgsql_integration_test.js
117 changes: 72 additions & 45 deletions .github/workflows/PMM_PROXYSQL.yaml
Original file line number Diff line number Diff line change
@@ -1,37 +1,61 @@
name: PMM_PXC_PROXYSQL
name: PMM_PROXYSQL
on:
workflow_dispatch:
inputs:
pxc_version:
description: "pxc version, example: 8.0.33-25 Fetched from https://github.com/Percona-QA/package-testing/blob/master/VERSIONS by default"
required: false
description: "pxc version, example: 8.0.33-25 Fetched from https://github.com/Percona-QA/package-testing/blob/master/VERSIONS"
default: 'https://github.com/Percona-QA/package-testing/blob/master/VERSIONS'
required: true
type: string
pxc_glibc:
description: "pxc glibc version, example: 2.35"
default: '2.35'
required: true
pmm_image:
description: "pmm_image, example: perconalab/pmm-server:dev-latest"
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"
default: '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:
- main
- v3

pull_request:
branches:
- main
- v3

jobs:
PMM_PXC_TEST:
runs-on: ubuntu-latest
timeout-minutes: 20
runs-on: ubuntu-22.04
timeout-minutes: 40
env:
ADMIN_PASSWORD: 'admin'
PXC_VERSION: ${{ github.event.inputs.pxc_version || '8.0' }}
PXC_GLIBC: ${{ github.event.inputs.pxc_glibc || '2.35' }}
PMM_IMAGE: ${{ github.event.inputs.pmm_image || 'perconalab/pmm-server:dev-latest' }}
PMM_SERVER_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: PXC_VERSION ENV Setup
run: |
if [[ -n "${{ github.event.inputs.pxc_version }}" ]]; then
if [[ "${{ github.event.inputs.pxc_version }}" != http* ]]; then
PXC_VERSION="${{ github.event.inputs.pxc_version }}"
PXC_VERSION_PATH=$(echo "pxc-$PXC_VERSION")
PXC_VERSION_TRIMED=$(echo ${PXC_VERSION%-*})
Expand All @@ -50,50 +74,53 @@ jobs:
run: |
echo "PXC_TARBALL_PATH=https://downloads.percona.com/downloads/TESTING/${{env.PXC_VERSION_PATH}}/Percona-XtraDB-Cluster_${{env.PXC_VERSION_TAR}}_Linux.x86_64.glibc${{env.PXC_GLIBC}}.tar.gz" >> $GITHUB_ENV
echo "PMM_QA_REPO_URL=https://github.com/percona/pmm-qa/" >> $GITHUB_ENV
echo "PMM_QA_REPO_BRANCH=main" >> $GITHUB_ENV

- name: Install Ansible and update the node
run: sudo apt-get update -y && sudo apt-get install ansible -y

- name: Install Percona Release Package
run: wget https://repo.percona.com/apt/percona-release_latest.generic_all.deb && sudo dpkg -i percona-release_latest.generic_all.deb

- name: Install Enable percona-release experimental for dev-latest installation of pmm2-client
run: sudo percona-release enable-only original experimental

- name: Install PMM Client
run: sudo apt update -y && sudo apt-get upgrade -y && sudo apt-get install -y pmm2-client

- name: Delete if the Repo already checked out
run: sudo rm -r pmm-qa || true
- name: Run the PMM Server container
run: docker run --detach --restart always -p 443:8443 -p 8081:8080 --name pmm-server ${{ env.PMM_SERVER_IMAGE }}

- name: Clone the PMM_QA repo
run: git clone -b ${{ env.PMM_QA_REPO_BRANCH }} ${{ env.PMM_QA_REPO_URL }}

- name: Give write perimssion to the bash script
run: chmod +x ./pmm-tests/pmm-framework.sh
working-directory: pmm-qa
- name: Checkout qa-integration repo
uses: actions/checkout@v4
with:
ref: ${{ env.PMM_QA_BRANCH }}
repository: Percona-Lab/qa-integration
path: ./qa-integration

- name: Run the pmm container in backgrounds
run: docker run --detach --restart always -p 443:443 -p 80:80 --name pmm-server ${{ env.PMM_IMAGE }}
- name: Export path to qa-integration repo
working-directory: qa-integration
run: echo "PATH_TO_PMM_QA=$(pwd)" >> $GITHUB_ENV

- name: Wait before pmm-admin config command
run: sleep 120

- name: setup pmm-admin config
run: sudo pmm-admin config --server-insecure-tls --server-url=https://admin:admin@localhost:443
- 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 --force-reinstall -U setuptools
pip install -r requirements.txt
if [[ "${{ github.event.inputs.pxc_version }}" != http* ]]; then
python pmm-framework.py --verbose --pmm-server-password=${{ env.ADMIN_PASSWORD }} --client-version=${{ env.PMM_CLIENT_VERSION }} --database PXC=${{ env.PXC_VERSION }}
else
python pmm-framework.py --verbose --pmm-server-password=${{ env.ADMIN_PASSWORD }} --client-version=${{ env.PMM_CLIENT_VERSION }} --database PXC,TARBALL=${{ env.PXC_TARBALL_PATH }}
fi

- name: Run for PXC tests
run: ./pmm-framework.sh --with-proxysql --pxc-version ${{ env.PXC_VERSION }} --addclient=pxc,1 --pmm2 --pxc-tarball ${{ env.PXC_TARBALL_PATH }}
working-directory: pmm-qa/pmm-tests

- name: Checkout the repo and install node packages
run: git clone https://github.com/percona/pmm-ui-tests.git && cd pmm-ui-tests && npm ci
- 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: cd pmm-ui-tests && sudo npx playwright install-deps && npx codeceptjs def pr.codecept.js

run: npm ci && npx playwright install --with-deps && npx codeceptjs def pr.codecept.js
working-directory: pmm-ui-tests

- name: Run the Integration tests of PXC
run: npx codeceptjs run -c pr.codecept.js tests/qa-integration/pmm_pxc_integration_test.js --steps --debug
run: |
export PMM_UI_URL="http://127.0.0.1:8081/"
npx codeceptjs run -c pr.codecept.js tests/qa-integration/pmm_pxc_integration_test.js
working-directory: pmm-ui-tests

Loading
Loading