Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

PMM-7 Add PDPGSQL Job #27

Merged
merged 4 commits into from
Dec 11, 2023
Merged
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
88 changes: 88 additions & 0 deletions .github/workflows/PMM_PDPGSQL.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,88 @@
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
pmm_image:
description: "pmm_image, example: perconalab/pmm-server:dev-latest"
required: false
repo:
description: "Percona Release Repo defaults to Experiemental example: experimental"
required: false
push:
branches:
- main

pull_request:
branches:
- main

jobs:
PMM_PDPGSQL_TEST:
runs-on: ubuntu-latest
timeout-minutes: 20
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' }}

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: 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: Delete if the Repo already checked out
run: sudo rm -r pmm-qa || true

- 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 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: Install npx dependencies
run: 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
Loading