Files
pg_stat_monitor/.github/workflows/pmm-integration.yaml
dependabot[bot] 98f4cc458e Bump actions/checkout from 6.0.1 to 6.0.2
Bumps [actions/checkout](https://github.com/actions/checkout) from 6.0.1 to 6.0.2.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](8e8c483db8...de0fac2e45)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: 6.0.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-26 18:50:09 +00:00

76 lines
2.4 KiB
YAML

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@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
repository: Percona-Lab/qa-integration
ref: main
path: qa-integration
- name: Clone PMM UI tests
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
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