diff --git a/.github/workflows/ci__full_2_3.yaml b/.github/workflows/ci__full_2_3.yaml new file mode 100644 index 0000000000..6bdddab2ce --- /dev/null +++ b/.github/workflows/ci__full_2_3.yaml @@ -0,0 +1,129 @@ +name: Continuous Integration 2.3 (Full) + +on: + push: + branches: + - 'full-ci/**' + schedule: + - + cron: "0 3 * * *" # Run every day at 3am + workflow_dispatch: ~ + +concurrency: + group: ci-${{ github.workflow }}-${{ github.ref }}-2_3-full + cancel-in-progress: true + +permissions: + contents: read + +jobs: + static-checks: + strategy: + matrix: + branch: ["2.3"] + name: "[${{ matrix.branch }}] Static checks" + uses: ./.github/workflows/ci_static-checks.yaml + with: + branch: ${{ matrix.branch }} + type: full + e2e-mariadb: + strategy: + matrix: + branch: ["2.3"] + name: "[${{ matrix.branch }}] Tests (MariaDB)" + needs: static-checks + uses: ./.github/workflows/ci_e2e-mariadb.yaml + with: + branch: ${{ matrix.branch }} + type: full + e2e-mysql: + strategy: + matrix: + branch: ["2.3"] + name: "[${{ matrix.branch }}] Tests (MySQL)" + needs: static-checks + uses: ./.github/workflows/ci_e2e-mysql.yaml + with: + branch: ${{ matrix.branch }} + type: full + e2e-pgsql: + strategy: + matrix: + branch: ["2.3"] + name: "[${{ matrix.branch }}] Tests (PostgreSQL)" + needs: static-checks + uses: ./.github/workflows/ci_e2e-pgsql.yaml + with: + branch: ${{ matrix.branch }} + type: full + e2e-js: + strategy: + matrix: + branch: ["2.3"] + name: "[${{ matrix.branch }}] Javascript Tests (MySQL)" + needs: static-checks + uses: ./.github/workflows/ci_js.yaml + with: + branch: ${{ matrix.branch }} + type: full + frontend: + name: Frontend + needs: static-checks + uses: ./.github/workflows/ci_frontend.yaml + with: + branch: ${{ matrix.branch }} + type: full + packages: + strategy: + matrix: + branch: ["2.3"] + name: "[${{ matrix.branch }}] Packages" + needs: static-checks + uses: ./.github/workflows/ci_packages.yaml + with: + branch: ${{ matrix.branch }} + type: full + notify-about-build-status: + if: ${{ always() }} + name: "Notify about build status" + needs: [static-checks, e2e-mariadb, e2e-mysql, e2e-pgsql, e2e-js, frontend, packages] + runs-on: ubuntu-latest + timeout-minutes: 15 + + steps: + - name: "Process data" + id: process-data + shell: bash + run: | + echo "branch=$(echo ${{ github.ref }} | sed 's/refs\/heads\///g' | sed 's/refs\/tags\///g')" >> $GITHUB_OUTPUT + echo "sha=$(echo ${{ github.sha }} | cut -c 1-12)" >> $GITHUB_OUTPUT + + - name: "Notify on Slack" + uses: edge/simple-slack-notify@master + env: + SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }} + if: env.SLACK_WEBHOOK_URL != null + with: + channel: "#daily-build" + username: "GitHub Actions" + text: | + ** + + ${{ needs.static-checks.result == 'success' && ':+1:' || ':x:' }} Static Checks + ${{ needs.e2e-mariadb.result == 'success' && ':+1:' || ':x:' }} Tests (MariaDB) + ${{ needs.e2e-mysql.result == 'success' && ':+1:' || ':x:' }} Tests (MySQL) + ${{ needs.e2e-pgsql.result == 'success' && ':+1:' || ':x:' }} Tests (PostgreSQL) + ${{ needs.e2e-js.result == 'success' && ':+1:' || ':x:' }} Javascript Tests (MySQL) + ${{ needs.frontend.result == 'success' && ':+1:' || ':x:' }} Frontend + ${{ needs.packages.result == 'success' && ':+1:' || ':x:' }} Packages + + _ _ _ _ _ _ _ + color: "danger" + fields: | + [ + { "title": "Repository", "value": "", "short": true }, + { "title": "Action", "value": "", "short": true }, + { "title": "Reference", "value": "", "short": true }, + { "title": "Commit", "value": "", "short": true }, + { "title": "Event", "value": "${{ github.event_name }}", "short": true } + ]