Skip to content

Package Test(single) #216

Package Test(single)

Package Test(single) #216

---
name: Package Test(single)
on:
workflow_dispatch:
inputs:
package_testing_branch:
description: 'Target branch for package-testing repository'
type: string
default: 'master'
required: false
playbook:
description: 'Select test to run:'
default: 'pmm2-client_integration'
required: true
type: choice
options:
- pmm2-client
- pmm2-client_upgrade
- pmm2-client_custom_path
- pmm2-client_integration
- pmm2-client_integration_upgrade
- pmm2-client_integration_auth_config
- pmm2-client_integration_auth_register
- pmm2-client_integration_custom_path
- pmm2-client_integration_custom_port
- pmm2-client_integration_upgrade_custom_port
- pmm2-client_integration_upgrade_custom_path
package:
description: "Select source package for enabling repo"
required: true
default: "pmm2-client"
type: choice
options:
- original
- pmm2-client
- tools
repository:
description: 'Select Repo for Client:'
required: true
default: 'dev-latest'
type: choice
options:
- release
- release candidate
- dev-latest
metrics_mode:
description: 'Select the Metrics Mode for PMM Client:'
required: false
default: 'auto'
type: choice
options:
- auto
- push
- pull
workflow_call:
inputs:
package_testing_branch:
type: string
required: true
playbook:
required: true
type: string
package:
required: true
type: string
repository:
required: true
type: string
metrics_mode:
type: string
required: false
jobs:
get_versions:
name: Get versions
uses: ./.github/workflows/pmm-version-getter.yml
with:
repository: ${{ inputs.repository || 'release'}}
p_test:
name: ${{ inputs.playbook }}
uses: ./.github/workflows/runner-package-test.yml
secrets: inherit
needs: get_versions
strategy:
fail-fast: false
matrix:
os: ${{ fromJSON(needs.get_versions.outputs.pt_os) }}
with:
package_testing_branch: ${{ inputs.package_testing_branch || 'master' }}
expected_version: ${{needs.get_versions.outputs.finish_version}}
package: ${{ inputs.package || 'pmm2-client' }}
repository: ${{ inputs.repository || 'dev-latest' }}
metrics_mode: ${{ inputs.metrics_mode || 'auto' }}
playbook: ${{ inputs.playbook || 'pmm2-client_integration' }}
test_name: ${{ matrix.os }}
os: ${{ matrix.os }}
slack_notify:
runs-on: ubuntu-latest
if: ${{ failure() && inputs.repository == 'release' }}
needs: p_test
steps:
- name: Slack Notification
uses: percona/gh-action-action-slack-notify@v2
env:
SLACK_WEBHOOK: ${{ secrets.SLACK_TOKEN }}
SLACK_USERNAME: "package tests runner"
SLACK_ICON_EMOJI: ":squirrel:"
SLACK_COLOR: "#FF0000"
SLACK_TITLE: "Package tests failure"
SLACK_MESSAGE: "Failed Package tests for release repository"
SLACK_FOOTER: "Please check the Actions URL ^"