Manual run #138
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: Manual run | |
on: | |
workflow_dispatch: | |
inputs: | |
scenario: | |
type: choice | |
options: | |
- 7.0.x | |
- 7.1.x | |
- 7.2.x | |
- 7.3.x | |
- 8.0.x | |
- use custom testplan | |
default: '8.0.x' | |
description: 'Choose test scenario' | |
limit: | |
type: choice | |
options: | |
- 'no' | |
- 'PHP8.0/MySQL5.7' | |
- 'PHP8.0/MySQL8.0' | |
- 'PHP8.1/MySQL5.7' | |
- 'PHP8.1/MySQL8.0' | |
- 'PHP8.2/MySQL5.7' | |
- 'PHP8.2/MySQL8.0' | |
- 'PHP8.3/MySQL5.7' | |
- 'PHP8.3/MySQL8.0' | |
default: 'PHP8.3/MySQL8.0' | |
custom_testplan: | |
type: string | |
description: 'Custom testplan' | |
default: '~/defaults/php8.2_mysql5.7_only.yaml,~/shop_ce.yaml' | |
runs_on: | |
type: string | |
description: 'JSON string/array describing the runner' | |
default: '"ubuntu-latest"' | |
use_dev_version: | |
type: choice | |
options: ['no', 'v0'] | |
description: 'Use the dev version of github actions' | |
default: 'no' | |
jobs: | |
build_testplan: | |
runs-on: ${{ fromJson(inputs.runs_on) }} | |
outputs: | |
testplan: '${{ steps.build.outputs.testplan }}' | |
steps: | |
- name: 'Build testplan' | |
id: build | |
run: | | |
# Build testplan | |
# shellcheck disable=SC2088 | |
PLAN="~/shop_ce.yaml" | |
# shellcheck disable=SC2088 | |
case "${{ inputs.limit }}" in | |
"no") LIMIT='';; | |
"PHP8.0/MySQL5.7") LIMIT='~/defaults/php8.0_mysql5.7_only.yaml,' ;; | |
"PHP8.0/MySQL8.0") LIMIT='~/defaults/php8.0_mysql8.0_only.yaml,' ;; | |
"PHP8.1/MySQL5.7") LIMIT='~/defaults/php8.1_mysql5.7_only.yaml,' ;; | |
"PHP8.1/MySQL8.0") LIMIT='~/defaults/php8.1_mysql8.0_only.yaml,' ;; | |
"PHP8.2/MySQL5.7") LIMIT='~/defaults/php8.2_mysql5.7_only.yaml,' ;; | |
"PHP8.2/MySQL8.0") LIMIT='~/defaults/php8.2_mysql8.0_only.yaml,' ;; | |
"PHP8.3/MySQL5.7") LIMIT='~/defaults/php8.3_mysql5.7_only.yaml,' ;; | |
"PHP8.3/MySQL8.0") LIMIT='~/defaults/php8.3_mysql8.0_only.yaml,' ;; | |
*) echo "Illegal choice, fix the workflow" | |
exit 1 | |
;; | |
esac | |
# shellcheck disable=SC2088 | |
case '${{ inputs.scenario}}' in | |
"7.0.x") TESTPLAN="~/defaults/7.0.x.yaml,${LIMIT}${PLAN}" ;; | |
"7.1.x") TESTPLAN="~/defaults/7.1.x.yaml,${LIMIT}${PLAN}" ;; | |
"7.2.x") TESTPLAN="~/defaults/7.2.x.yaml,${LIMIT}${PLAN}" ;; | |
"7.3.x") TESTPLAN="~/defaults/7.3.x.yaml,${LIMIT}${PLAN}" ;; | |
"8.0.x") TESTPLAN="${LIMIT}${PLAN}" ;; | |
"use custom testplan") TESTPLAN="${{ inputs.custom_testplan }}" ;; | |
*) | |
echo "Illegal choice, fix the workflow" | |
exit 1 | |
;; | |
esac | |
echo "testplan=${TESTPLAN}" | tee -a "${GITHUB_OUTPUT}" | |
dispatch_stable: | |
if: ${{ inputs.use_dev_version == 'no' }} | |
needs: build_testplan | |
uses: oxid-eSales/github-actions/.github/workflows/universal_workflow_light.yaml@v4 | |
with: | |
testplan: ${{ needs.build_testplan.outputs.testplan }} | |
runs_on: ${{ inputs.runs_on }} | |
defaults: 'v4' | |
plan_folder: '.github/oxid-esales' | |
secrets: | |
DOCKER_HUB_USER: ${{ secrets.DOCKER_HUB_USER }} | |
DOCKER_HUB_TOKEN: ${{ secrets.DOCKER_HUB_TOKEN }} | |
CACHE_ENDPOINT: ${{ secrets.CACHE_ENDPOINT }} | |
CACHE_ACCESS_KEY: ${{ secrets.CACHE_ACCESS_KEY }} | |
CACHE_SECRET_KEY: ${{ secrets.CACHE_SECRET_KEY }} | |
enterprise_github_token: ${{ secrets.enterprise_github_token }} | |
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} | |
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }} | |
dispatch_v0: | |
if: ${{ inputs.use_dev_version == 'v0' }} | |
needs: build_testplan | |
uses: oxid-eSales/github-actions/.github/workflows/universal_workflow_light.yaml@v0 | |
with: | |
testplan: ${{ needs.build_testplan.outputs.testplan }} | |
runs_on: ${{ inputs.runs_on }} | |
defaults: 'v0' | |
plan_folder: '.github/oxid-esales' | |
secrets: | |
DOCKER_HUB_USER: ${{ secrets.DOCKER_HUB_USER }} | |
DOCKER_HUB_TOKEN: ${{ secrets.DOCKER_HUB_TOKEN }} | |
CACHE_ENDPOINT: ${{ secrets.CACHE_ENDPOINT }} | |
CACHE_ACCESS_KEY: ${{ secrets.CACHE_ACCESS_KEY }} | |
CACHE_SECRET_KEY: ${{ secrets.CACHE_SECRET_KEY }} | |
enterprise_github_token: ${{ secrets.enterprise_github_token }} | |
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} | |
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }} |