Manual trigger #68
Workflow file for this run
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 trigger | |
# yamllint disable-line rule:truthy | |
on: | |
workflow_dispatch: | |
inputs: | |
version: | |
type: choice | |
options: | |
- '7.0' | |
- '7.1' | |
- '7.2' | |
- '8.0' | |
- 'custom' | |
default: '8.0' | |
description: 'Version of the metapackage' | |
scenario: | |
type: choice | |
options: | |
- 'full' | |
- 'slim' | |
default: 'slim' | |
description: '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.2/MariaDb11' | |
- 'PHP8.3/MySQL5.7' | |
- 'PHP8.3/MySQL8.0' | |
- 'PHP8.3/MariaDb11' | |
default: 'PHP8.1/MySQL5.7' | |
description: 'Limit to one PHP/MySQL combination' | |
custom_testplan: | |
type: string | |
required: true | |
description: 'Custom testplan' | |
default: '~/defaults/php8.2_mysql5.7_only.yaml,~/metapackage-8.0-full.yaml' | |
runs_on: | |
type: string | |
description: 'JSON string/array describing the runner' | |
required: true | |
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 matrix' | |
id: build | |
run: | | |
# Build matrix | |
# 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.2/MariaDb11") LIMIT='~/defaults/php8.2_mariadb11_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,' ;; | |
"PHP8.3/MariaDb11") LIMIT='~/defaults/php8.3_mariadb11_only.yaml,' ;; | |
*) echo "Illegal choice, fix the workflow" | |
exit 1 | |
;; | |
esac | |
# shellcheck disable=SC2088 | |
case '${{ inputs.version}}' in | |
"7.0") PRE="~/defaults/7.0.x.yaml," ;; | |
"7.1") PRE="~/defaults/7.1.x.yaml," ;; | |
"7.2") PRE="~/defaults/7.2.x.yaml," ;; | |
"8.0") PRE="~/defaults/8.0.x.yaml," ;; | |
custom) TESTPLAN="${{ inputs.custom_testplan }}" ;; | |
*) | |
echo "Illegal choice, fix the workflow" | |
exit 1 | |
;; | |
esac | |
if [ -z "${TESTPLAN}" ]; then | |
# shellcheck disable=SC2088 | |
TESTPLAN="${PRE}${LIMIT}~/metapackage-${{inputs.version}}-${{inputs.scenario}}.yaml" | |
fi | |
echo "testplan=${TESTPLAN}" | tee -a "${GITHUB_OUTPUT}" | |
stable: | |
needs: build_testplan | |
if: ${{ inputs.use_dev_version == 'no' }} | |
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 }} | |
dev: | |
needs: build_testplan | |
if: ${{ inputs.use_dev_version == 'v0' }} | |
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 }} |