Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
75 changes: 75 additions & 0 deletions .github/workflows/pmm-integration.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
name: PMM Integration
on:
push:
branches:
- main
- release-*
tags:
- '[0-9]+.[0-9]+.[0-9]+*'

permissions:
contents: read

jobs:
test:
name: Test
runs-on: ubuntu-latest
timeout-minutes: 30
continue-on-error: true
strategy:
matrix:
postgresql: [13, 14, 15, 16, 17, 18]

steps:
- name: Clone QA Integration
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
with:
repository: Percona-Lab/qa-integration
ref: main
path: qa-integration

- name: Clone PMM UI tests
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
with:
repository: percona/pmm-ui-tests
ref: main
path: pmm-ui-tests

- name: Set TARGET_BRANCH variable
run: echo "TARGET_BRANCH=${GITHUB_REF#refs/*/}" >> $GITHUB_ENV

- name: Run PMM Server
run: docker run --detach --restart always -p 443:8443 -p 8081:8080 --name pmm-server perconalab/pmm-server:3-dev-latest

- name: Setup PostgreSQL ${{ matrix.postgresql }} & PGSM
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
python3 pmm-framework.py --database pdpgsql=${{ matrix.postgresql }},PGSM_BRANCH=${{ env.TARGET_BRANCH }}

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

- name: Run integration tests
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

- name: Collect pmm-agent logs
if: failure()
run: docker exec pdpgsql_pmm_${{ matrix.postgresql }}_1 cat /var/log/pmm-agent.log > ./pmm-ui-tests/tests/output/pmm-agent.log

- name: Upload artifacts
uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0
if: failure()
with:
name: tests-artifact
path: ./pmm-ui-tests/tests/output/
if-no-files-found: ignore
50 changes: 0 additions & 50 deletions .github/workflows/postgresql-13-pmm.yaml

This file was deleted.

50 changes: 0 additions & 50 deletions .github/workflows/postgresql-14-pmm.yaml

This file was deleted.

50 changes: 0 additions & 50 deletions .github/workflows/postgresql-15-pmm.yaml

This file was deleted.

Loading