diff --git a/.github/workflows/dispatch_matrix_ce.yml b/.github/workflows/dispatch_matrix_ce.yml index f4f5564fe7..415f4592f4 100644 --- a/.github/workflows/dispatch_matrix_ce.yml +++ b/.github/workflows/dispatch_matrix_ce.yml @@ -9,6 +9,7 @@ on: options: - 7.0.x - 7.1.x + - 7.2.x - 8.0.x - smarty 7.0.x - use custom testplan @@ -66,27 +67,14 @@ jobs: exit 1 ;; esac + # shellcheck disable=SC2088 case '${{ inputs.scenario}}' in - "7.0.x") - # shellcheck disable=SC2088 # Tilde expansion happens in the workflow and not by bash - TESTPLAN="~/defaults/7.0.x.yml,${LIMIT}~/shop_ce_70x.yml" - ;; - "7.1.x") - # shellcheck disable=SC2088 # Tilde expansion happens in the workflow and not by bash - TESTPLAN="~/defaults/7.1.x.yml,${LIMIT}~/shop_ce.yml" - ;; - "8.0.x") - # shellcheck disable=SC2088 # Tilde expansion happens in the workflow and not by bash - TESTPLAN="${LIMIT}~/shop_ce.yml" - ;; - "smarty 7.0.x") - # shellcheck disable=SC2088 # Tilde expansion happens in the workflow and not by bash - TESTPLAN="~/defaults/7.0.x.yml,${LIMIT}~/smarty_7.0.x.yml" - ;; - "use custom testplan") - # shellcheck disable=SC2088 # Tilde expansion happens in the workflow and not by bash - TESTPLAN="${{ inputs.custom_testplan }}" - ;; + "7.0.x") TESTPLAN="~/defaults/7.0.x.yml,${LIMIT}~/shop_ce_70x.yml" ;; + "7.1.x") TESTPLAN="~/defaults/7.1.x.yml,${LIMIT}~/shop_ce.yml" ;; + "7.2.x") TESTPLAN="~/defaults/7.2.x.yml,${LIMIT}~/shop_ce.yml" ;; + "8.0.x") TESTPLAN="${LIMIT}~/shop_ce.yml" ;; + "smarty 7.0.x") TESTPLAN="~/defaults/7.0.x.yml,${LIMIT}~/smarty_7.0.x.yml" ;; + "use custom testplan") TESTPLAN="${{ inputs.custom_testplan }}" ;; *) echo "Illegal choice, fix the workflow" exit 1 diff --git a/.github/workflows/nightly_matrix_full_ce_70x.yml b/.github/workflows/nightly_matrix_full_ce_70x.yml deleted file mode 100644 index c8bd82bd88..0000000000 --- a/.github/workflows/nightly_matrix_full_ce_70x.yml +++ /dev/null @@ -1,24 +0,0 @@ -name: Scheduled nightly full matrix run 7.0.x -# Matrix workflow using re-usable github actions - -on: - schedule: - - cron: '17 23 * * 1-5' - -jobs: - oxideshop_ce_70x_nightly: - uses: oxid-eSales/github-actions/.github/workflows/call-universal_test_workflow.yml@v4 - with: - testplan: '~/defaults/7.0.x.yml,~/defaults/scheduled.yml,~/shop_ce_70x.yml' - runs_on: '"ubuntu-latest"' - 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 }} diff --git a/.github/workflows/nightly_matrix_full_ce_71x.yml b/.github/workflows/nightly_matrix_full_ce_71x.yml deleted file mode 100644 index e3c8d7b2b5..0000000000 --- a/.github/workflows/nightly_matrix_full_ce_71x.yml +++ /dev/null @@ -1,24 +0,0 @@ -name: Scheduled nightly full matrix run 7.1.x -# Matrix workflow using re-usable github actions - -on: - schedule: - - cron: '17 1 * * 1-5' - -jobs: - oxideshop_ce_71x_nightly: - uses: oxid-eSales/github-actions/.github/workflows/call-universal_test_workflow.yml@v4 - with: - testplan: '~/defaults/7.1.x.yml,~/defaults/scheduled.yml,~/shop_ce.yml' - runs_on: '"ubuntu-latest"' - 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 }} diff --git a/.github/workflows/nightly_matrix_full_ce_80x.yml b/.github/workflows/nightly_matrix_full_ce_80x.yml deleted file mode 100644 index c9b5480b75..0000000000 --- a/.github/workflows/nightly_matrix_full_ce_80x.yml +++ /dev/null @@ -1,24 +0,0 @@ -name: Scheduled nightly full matrix run 8.0.x -# Matrix workflow using re-usable github actions - -on: - schedule: - - cron: '17 3 * * 1-5' - -jobs: - oxideshop_ce_80x_nightly: - uses: oxid-eSales/github-actions/.github/workflows/call-universal_test_workflow.yml@v4 - with: - testplan: '~/shop_ce.yml' - runs_on: '"ubuntu-latest"' - 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 }} diff --git a/.github/workflows/nightly_smarty_70x.yml b/.github/workflows/nightly_smarty_70x.yml deleted file mode 100644 index dc0602be81..0000000000 --- a/.github/workflows/nightly_smarty_70x.yml +++ /dev/null @@ -1,24 +0,0 @@ -name: Scheduled nightly full matrix run 7.0.x with Smarty -# Matrix workflow using re-usable github actions - -on: - schedule: - - cron: '37 0 * * 1-5' - -jobs: - oxideshop_ce_smarty_70x_nightly: - uses: oxid-eSales/github-actions/.github/workflows/call-universal_test_workflow.yml@v4 - with: - testplan: '~/defaults/7.0.x.yml,~/defaults/scheduled.yml,~/smarty_7.0.x.yml' - runs_on: '"ubuntu-latest"' - 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 }} diff --git a/.github/workflows/pull_matrix_full_ce_70x.yml b/.github/workflows/pull_matrix_full_ce_70x.yml deleted file mode 100644 index 34f925dd94..0000000000 --- a/.github/workflows/pull_matrix_full_ce_70x.yml +++ /dev/null @@ -1,25 +0,0 @@ -name: Auto trigger on PR to 7.0.x* -# Matrix workflow using re-usable github actions - -on: - pull_request: - branches: - - 'b-7.0.x**' - -jobs: - oxideshop_ce_pull_70x: - uses: oxid-eSales/github-actions/.github/workflows/call-universal_test_workflow.yml@v4 - with: - testplan: '~/defaults/7.0.x.yml,~/shop_ce_70x.yml' - runs_on: '"ubuntu-latest"' - 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 }} diff --git a/.github/workflows/pull_matrix_full_ce_71x.yml b/.github/workflows/pull_matrix_full_ce_71x.yml deleted file mode 100644 index d155f1b4db..0000000000 --- a/.github/workflows/pull_matrix_full_ce_71x.yml +++ /dev/null @@ -1,25 +0,0 @@ -name: Auto trigger on PR to 7.1.x* -# Matrix workflow using re-usable github actions - -on: - pull_request: - branches: - - 'b-7.1.x**' - -jobs: - oxideshop_ce_pull_71x: - uses: oxid-eSales/github-actions/.github/workflows/call-universal_test_workflow.yml@v4 - with: - testplan: '~/defaults/7.1.x.yml,~/shop_ce.yml' - runs_on: '"ubuntu-latest"' - 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 }} diff --git a/.github/workflows/pull_matrix_full_ce_80x.yml b/.github/workflows/pull_matrix_full_ce_80x.yml deleted file mode 100644 index 4cb5906f8b..0000000000 --- a/.github/workflows/pull_matrix_full_ce_80x.yml +++ /dev/null @@ -1,25 +0,0 @@ -name: Auto trigger on PR to 8.0.x* -# Matrix workflow using re-usable github actions - -on: - pull_request: - branches: - - 'b-8.0.x**' - -jobs: - oxideshop_ce_pull: - uses: oxid-eSales/github-actions/.github/workflows/call-universal_test_workflow.yml@v4 - with: - testplan: '~/shop_ce.yml' - runs_on: '"ubuntu-latest"' - 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 }} diff --git a/.github/workflows/push_matrix_full_ce_80x.yml b/.github/workflows/push_matrix_full_ce_80x.yml deleted file mode 100644 index 82879eaf62..0000000000 --- a/.github/workflows/push_matrix_full_ce_80x.yml +++ /dev/null @@ -1,25 +0,0 @@ -name: Auto trigger on Push to 8.0.x* -# Matrix workflow using re-usable github actions - -on: - push: - branches: - - 'b-8.0.x**' - -jobs: - oxideshop_ce_push_b80x: - uses: oxid-eSales/github-actions/.github/workflows/call-universal_test_workflow.yml@v4 - with: - testplan: '~/shop_ce.yml' - runs_on: '"ubuntu-latest"' - 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 }} diff --git a/.github/workflows/push_matrix_slim_ce_70x.yml b/.github/workflows/push_matrix_slim_ce_70x.yml deleted file mode 100644 index 9acc1118c0..0000000000 --- a/.github/workflows/push_matrix_slim_ce_70x.yml +++ /dev/null @@ -1,25 +0,0 @@ -name: Auto trigger on Push to 7.0.x* -# Matrix workflow using re-usable github actions - -on: - push: - branches: - - 'b-7.0.x**' - -jobs: - oxideshop_ce_push_b70x: - uses: oxid-eSales/github-actions/.github/workflows/call-universal_test_workflow.yml@v4 - with: - testplan: '~/defaults/7.0.x.yml,~/defaults/php8.1_mysql5.7_only.yml,~/slim_matrix_ce_70x.yml' - runs_on: '"ubuntu-latest"' - 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 }} diff --git a/.github/workflows/push_matrix_slim_ce_71x.yml b/.github/workflows/push_matrix_slim_ce_71x.yml deleted file mode 100644 index a0be3a05f3..0000000000 --- a/.github/workflows/push_matrix_slim_ce_71x.yml +++ /dev/null @@ -1,25 +0,0 @@ -name: Auto trigger on Push to 7.1.x* -# Matrix workflow using re-usable github actions - -on: - push: - branches: - - 'b-7.1.x**' - -jobs: - oxideshop_ce_push_b71x: - uses: oxid-eSales/github-actions/.github/workflows/call-universal_test_workflow.yml@v4 - with: - testplan: '~/defaults/7.1.x.yml,~/defaults/php8.2_mysql5.7_only.yml,~/slim_matrix_ce.yml' - runs_on: '"ubuntu-latest"' - 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 }} diff --git a/.github/workflows/scheduled.yml b/.github/workflows/scheduled.yml new file mode 100644 index 0000000000..10d293b881 --- /dev/null +++ b/.github/workflows/scheduled.yml @@ -0,0 +1,63 @@ +name: Nightly runs +# Matrix workflow using re-usable github actions + +on: + schedule: + - cron: '17 23 * * 1-5' + +jobs: + oxideshop_ce_71x_nightly: + if: always() + uses: oxid-eSales/github-actions/.github/workflows/call-universal_test_workflow.yml@v4 + with: + testplan: '~/defaults/7.1.x.yml,~/defaults/scheduled.yml,~/shop_ce.yml' + runs_on: '"ubuntu-latest"' + 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 }} + + oxideshop_ce_72x_nightly: + needs: oxideshop_ce_71x_nightly + if: always() + uses: oxid-eSales/github-actions/.github/workflows/call-universal_test_workflow.yml@v4 + with: + testplan: '~/defaults/7.2.x.yml,~/defaults/scheduled.yml,~/shop_ce.yml' + runs_on: '"ubuntu-latest"' + 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 }} + + oxideshop_ce_80x_nightly: + needs: oxideshop_ce_72x_nightly + if: always() + uses: oxid-eSales/github-actions/.github/workflows/call-universal_test_workflow.yml@v4 + with: + testplan: '~/defaults/scheduled.yml,~/shop_ce.yml' + runs_on: '"ubuntu-latest"' + 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 }} diff --git a/.github/workflows/trigger.yml b/.github/workflows/trigger.yml new file mode 100644 index 0000000000..553496230d --- /dev/null +++ b/.github/workflows/trigger.yml @@ -0,0 +1,59 @@ +name: Auto trigger on push or pull requests +# Matrix workflow using re-usable github actions + +on: + pull_request: {} + push: {} + +jobs: + build_testplan: + runs-on: 'ubuntu-latest' + outputs: + testplan: '${{ steps.build.outputs.testplan }}' + steps: + - name: 'Build testplan' + id: build + run: | + # Build testplan + if [ '${{ github.event_name }}' == 'pull_request' ]; then + REF_TO_CHECK='refs/heads/${{ github.base_ref }}' + LIMIT70="" + LIMIT="" + else + REF_TO_CHECK='${{ github.ref }}' + # shellcheck disable=SC2088 + LIMIT70="~/defaults/php8.1_mysql5.7_only.yml," + # shellcheck disable=SC2088 + LIMIT="~/defaults/php8.2_mysql5.7_only.yml," + fi + # shellcheck disable=SC2088 + case "${REF_TO_CHECK}" in + refs/heads/b-7.0.x*) TESTPLAN="~/defaults/7.0.x.yml,${LIMIT70}~/shop_ce_70x.yml" ;; + refs/heads/b-7.1.x*) TESTPLAN="~/defaults/7.1.x.yml,${LIMIT}~/shop_ce.yml" ;; + refs/heads/b-7.2.x*) TESTPLAN="~/defaults/7.2.x.yml,${LIMIT}~/shop_ce.yml" ;; + refs/heads/b-8.0.x*) TESTPLAN="${LIMIT}~/shop_ce.yml" ;; + *) + echo "Can't match ${REF_TO_CHECK} to a version, can't determine test plan." + echo "Branch names should start with b-<major>.<minor>.x" + exit 1 + ;; + esac + echo "testplan=${TESTPLAN}" | tee -a "${GITHUB_OUTPUT}" + + shop_ce: + needs: build_testplan + uses: oxid-eSales/github-actions/.github/workflows/call-universal_test_workflow.yml@v4 + with: + testplan: ${{ needs.build_testplan.outputs.testplan }} + runs_on: '"ubuntu-latest"' + 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 }}