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 } ]