Run QIT for all extensions #6
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Run QIT for all extensions | |
# **What it does**: Runs a suite of tests for all Grow extensions. | |
# **Why we have it**: To be able to run tests for all extensions at once. For example when we want to compatibility test a new version of the platform (WP/WC). | |
on: | |
workflow_dispatch: | |
inputs: | |
# Basic params. | |
version: | |
description: 'Version to be tested' | |
required: true | |
type: choice | |
options: | |
- latest | |
- dev | |
wait: | |
description: 'Should wait for results' | |
default: false | |
type: boolean | |
# Configure which tests to run. | |
test-activation: | |
description: 'Should activation be tested?' | |
required: true | |
default: true | |
type: boolean | |
test-security: | |
description: 'Should security be tested?' | |
required: true | |
default: true | |
type: boolean | |
test-phpstan: | |
description: 'Should phpstan be tested?' | |
required: true | |
default: true | |
type: boolean | |
test-api: | |
description: 'Should API be tested?' | |
required: true | |
default: true | |
type: boolean | |
test-e2e: | |
description: 'Should E2E be tested? (takes a lot of time)' | |
required: true | |
default: false | |
type: boolean | |
# Advanced customization. | |
ignore-fail: | |
description: Should pass even if any awaited test fails. | |
required: false | |
default: false | |
type: boolean | |
options: | |
description: 'Additional options for `qit` command, like `--optional_features=hpos`.' | |
required: false | |
jobs: | |
qit-tests: | |
name: Run QIT Tests | |
runs-on: ubuntu-latest | |
strategy: | |
# Allow to test extensions even if one of them fails. | |
fail-fast: false | |
matrix: | |
# List of extensions to be tested. | |
extension: [automatewoo, automatewoo-birthdays, automatewoo-referrals, google-listings-and-ads, woocommerce-google-analytics-integration] | |
steps: | |
- name: Run QIT | |
uses: woocommerce/grow/run-qit-extension@actions-v1 | |
with: | |
qit-partner-user: ${{ secrets.QIT_PARTNER_USER }} | |
qit-partner-secret: ${{ secrets.QIT_PARTNER_SECRET }} | |
version: ${{ inputs.version }} | |
wait: ${{ inputs.wait }} | |
test-activation: ${{ inputs.test-activation }} | |
test-security: ${{ inputs.test-security }} | |
test-phpstan: ${{ inputs.test-phpstan }} | |
test-api: ${{ inputs.test-api }} | |
test-e2e: ${{ inputs.test-e2e }} | |
extension: ${{ matrix.extension }} | |
ignore-fail: ${{ inputs.ignore-fail }} | |
options: ${{ inputs.options }} |