diff --git a/.github/actions/scheduled-job-slack-notifications/action.yml b/.github/actions/scheduled-job-slack-notifications/action.yml new file mode 100644 index 0000000000..347e1c75c5 --- /dev/null +++ b/.github/actions/scheduled-job-slack-notifications/action.yml @@ -0,0 +1,22 @@ +name: 'Slack Notification for scheduled job' +description: 'Send a Slack message based on job status' + +runs: + using: "composite" + steps: + - name: Notify Slack on Scheduled Job Success + if: job.status == 'success' && github.event_name == 'schedule' + uses: slackapi/slack-github-action@v1.26.0 + env: + SLACK_BOT_TOKEN: ${{ env.SLACK_BOT_TOKEN }} + with: + channel-id: ${{ env.WEEKLY_CI_SLACK_CHANNEL_ID }} + slack-message: "✅Scheduled job *${{github.job}}* on the *${{ github.repository }}* repository succeeded." + - name: Notify Slack on Scheduled Job Failure + if: job.status == 'failure' && github.event_name == 'schedule' + uses: slackapi/slack-github-action@v1.26.0 + env: + SLACK_BOT_TOKEN: ${{ env.SLACK_BOT_TOKEN }} + with: + channel-id: ${{ env.WEEKLY_CI_SLACK_CHANNEL_ID }} + slack-message: "❌Scheduled job *${{github.job}}* on the *${{ github.repository }}* repository failed. Manual intervention is required! \n*Details*: https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}" diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index b488846220..13402288d8 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -3,10 +3,13 @@ name: B2C-CI on: pull_request: types: [ labeled, unlabeled, synchronize ] - push: - branches: - - master workflow_dispatch: + schedule: + - cron: '0 0 * * 0' + +env: + SLACK_BOT_TOKEN: ${{ secrets.SLACK_BOT_TOKEN }} + WEEKLY_CI_SLACK_CHANNEL_ID: ${{ secrets.WEEKLY_CI_SLACK_CHANNEL_ID }} concurrency: group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} @@ -17,6 +20,7 @@ jobs: if: > contains(github.event.pull_request.labels.*.name, 'run-static-ci') || contains(github.event.pull_request.labels.*.name, 'run-latest-ci') + || (github.event_name == 'schedule' && github.ref == 'refs/heads/master') name: "Static analysis" runs-on: ubuntu-22.04 strategy: @@ -147,10 +151,15 @@ jobs: - name: Run Evaluator for all branches run: vendor/bin/evaluator evaluate --exclude-checkers=SPRYKER_DEV_PACKAGES_CHECKER --format=compact + + - name: Slack Notification for scheduled job + uses: ./.github/actions/scheduled-job-slack-notifications + if: always() js-validation: if: > contains(github.event.pull_request.labels.*.name, 'run-npm-ci') || contains(github.event.pull_request.labels.*.name, 'run-latest-ci') + || (github.event_name == 'schedule' && github.ref == 'refs/heads/master') name: "NPM validation" runs-on: ubuntu-22.04 strategy: @@ -175,8 +184,14 @@ jobs: - name: Front-end Formatter run: npm run formatter + - name: Slack Notification for scheduled job + uses: ./.github/actions/scheduled-job-slack-notifications + if: always() + php-83-mariadb-glue-alpine-dynamic-store-off: - if: contains(github.event.pull_request.labels.*.name, 'run-compatibility-ci') + if: > + contains(github.event.pull_request.labels.*.name, 'run-compatibility-ci') + || (github.event_name == 'schedule' && github.ref == 'refs/heads/master') name: "PHP 8.3 / MariaDB / Glue / Alpine / Dynamic Store OFF" runs-on: ubuntu-22.04 env: @@ -201,12 +216,17 @@ jobs: docker/sdk cli composer dump-autoload -o -a --apcu docker/sdk testing codecept run -c codeception.api.yml + - name: Slack Notification for scheduled job + uses: ./.github/actions/scheduled-job-slack-notifications + if: always() + php-83-mariadb-glue-alpine: name: "PHP 8.3 / MariaDB / Glue / Alpine" if: > !contains(github.event.pull_request.head.ref, 'hackathon') && (contains(github.event.pull_request.labels.*.name, 'run-api-ci') - || contains(github.event.pull_request.labels.*.name, 'run-latest-ci')) + || contains(github.event.pull_request.labels.*.name, 'run-latest-ci')) + || (github.event_name == 'schedule' && github.ref == 'refs/heads/master') runs-on: ubuntu-22.04 env: PROGRESS_TYPE: plain @@ -231,8 +251,14 @@ jobs: docker/sdk cli composer dump-autoload -o -a --apcu docker/sdk testing codecept run -c codeception.api.yml + - name: Slack Notification for scheduled job + uses: ./.github/actions/scheduled-job-slack-notifications + if: always() + php-83-postgresql-glue-alpine-dynamic-store-off: - if: contains(github.event.pull_request.labels.*.name, 'run-compatibility-ci') + if: > + contains(github.event.pull_request.labels.*.name, 'run-compatibility-ci') + || (github.event_name == 'schedule' && github.ref == 'refs/heads/master') name: "PHP 8.3 / PostgreSQL / Glue / Alpine / Dynamic Store OFF" runs-on: ubuntu-22.04 env: @@ -257,9 +283,15 @@ jobs: docker/sdk cli composer dump-autoload -o -a --apcu docker/sdk testing codecept run -c codeception.api.yml + - name: Slack Notification for scheduled job + uses: ./.github/actions/scheduled-job-slack-notifications + if: always() + php-83-postgresql-glue-alpine: name: "PHP 8.3 / PostgreSQL / Glue / Alpine" - if: contains(github.event.pull_request.labels.*.name, 'run-compatibility-ci') + if: > + contains(github.event.pull_request.labels.*.name, 'run-compatibility-ci') + || (github.event_name == 'schedule' && github.ref == 'refs/heads/master') runs-on: ubuntu-22.04 env: PROGRESS_TYPE: plain @@ -284,8 +316,14 @@ jobs: docker/sdk cli composer dump-autoload -o -a --apcu docker/sdk testing codecept run -c codeception.api.yml + - name: Slack Notification for scheduled job + uses: ./.github/actions/scheduled-job-slack-notifications + if: always() + php-83-mariadb-acceptance-alpine-dynamic-store-off: - if: contains(github.event.pull_request.labels.*.name, 'run-compatibility-ci') + if: > + contains(github.event.pull_request.labels.*.name, 'run-compatibility-ci') + || (github.event_name == 'schedule' && github.ref == 'refs/heads/master') name: "PHP 8.3 / MariaDB / Acceptance / Alpine / Dynamic Store OFF" runs-on: ubuntu-22.04 env: @@ -309,12 +347,17 @@ jobs: docker/sdk cli composer dump-autoload -o -a --apcu docker/sdk testing codecept run -c codeception.acceptance.yml + - name: Slack Notification for scheduled job + uses: ./.github/actions/scheduled-job-slack-notifications + if: always() + php-83-mariadb-acceptance-alpine: name: "PHP 8.3 / MariaDB / Acceptance / Alpine" if: > !contains(github.event.pull_request.head.ref, 'hackathon') && (contains(github.event.pull_request.labels.*.name, 'run-ui-ci') || contains(github.event.pull_request.labels.*.name, 'run-latest-ci')) + || (github.event_name == 'schedule' && github.ref == 'refs/heads/master') runs-on: ubuntu-22.04 env: PROGRESS_TYPE: plain @@ -338,8 +381,14 @@ jobs: docker/sdk cli composer dump-autoload -o -a --apcu docker/sdk testing codecept run -c codeception.acceptance.yml + - name: Slack Notification for scheduled job + uses: ./.github/actions/scheduled-job-slack-notifications + if: always() + php-83-postgresql-acceptance-alpine-dynamic-store-off: - if: contains(github.event.pull_request.labels.*.name, 'run-compatibility-ci') + if: > + contains(github.event.pull_request.labels.*.name, 'run-compatibility-ci') + || (github.event_name == 'schedule' && github.ref == 'refs/heads/master') name: "PHP 8.3 / PostgreSQL / Acceptance / Alpine / Dynamic Store OFF" runs-on: ubuntu-22.04 env: @@ -363,10 +412,15 @@ jobs: docker/sdk cli composer dump-autoload -o -a --apcu docker/sdk testing codecept run -c codeception.acceptance.yml + - name: Slack Notification for scheduled job + uses: ./.github/actions/scheduled-job-slack-notifications + if: always() + php-83-postgresql-acceptance-alpine: if: > !contains(github.event.pull_request.head.ref, 'hackathon') && contains(github.event.pull_request.labels.*.name, 'run-compatibility-ci') + || (github.event_name == 'schedule' && github.ref == 'refs/heads/master') name: "PHP 8.3 / PostgreSQL / Acceptance / Alpine" runs-on: ubuntu-22.04 env: @@ -391,8 +445,14 @@ jobs: docker/sdk cli composer dump-autoload -o -a --apcu docker/sdk testing codecept run -c codeception.acceptance.yml + - name: Slack Notification for scheduled job + uses: ./.github/actions/scheduled-job-slack-notifications + if: always() + php-83-mariadb-functional-alpine-dynamic-store-off: - if: contains(github.event.pull_request.labels.*.name, 'run-compatibility-ci') + if: > + contains(github.event.pull_request.labels.*.name, 'run-compatibility-ci') + || (github.event_name == 'schedule' && github.ref == 'refs/heads/master') name: "PHP 8.3 / MariaDB / Functional / Alpine / Dynamic Store OFF" runs-on: ubuntu-22.04 env: @@ -415,10 +475,15 @@ jobs: docker/sdk cli composer dump-autoload -o -a --apcu docker/sdk testing codecept run -c codeception.functional.yml + - name: Slack Notification for scheduled job + uses: ./.github/actions/scheduled-job-slack-notifications + if: always() + php-83-mariadb-functional-alpine: if: > contains(github.event.pull_request.labels.*.name, 'run-functional-ci') || contains(github.event.pull_request.labels.*.name, 'run-latest-ci') + || (github.event_name == 'schedule' && github.ref == 'refs/heads/master') name: "PHP 8.3 / MariaDB / Functional / Alpine" runs-on: ubuntu-22.04 env: @@ -442,8 +507,14 @@ jobs: docker/sdk cli composer dump-autoload -o -a --apcu docker/sdk testing codecept run -c codeception.functional.yml + - name: Slack Notification for scheduled job + uses: ./.github/actions/scheduled-job-slack-notifications + if: always() + php-83-postgresql-functional-alpine-dynamic-store-off: - if: contains(github.event.pull_request.labels.*.name, 'run-compatibility-ci') + if: > + contains(github.event.pull_request.labels.*.name, 'run-compatibility-ci') + || (github.event_name == 'schedule' && github.ref == 'refs/heads/master') name: "PHP 8.3 / PostgreSQL / Functional / Alpine / Dynamic Store OFF" runs-on: ubuntu-22.04 env: @@ -467,10 +538,15 @@ jobs: docker/sdk cli composer dump-autoload -o -a --apcu docker/sdk testing codecept run -c codeception.functional.yml + - name: Slack Notification for scheduled job + uses: ./.github/actions/scheduled-job-slack-notifications + if: always() + php-83-postgresql-functional-alpine: if: > !contains(github.event.pull_request.head.ref, 'hackathon') && contains(github.event.pull_request.labels.*.name, 'run-compatibility-ci') + || (github.event_name == 'schedule' && github.ref == 'refs/heads/master') name: "PHP 8.3 / PostgreSQL / Functional / Alpine" runs-on: ubuntu-22.04 env: @@ -495,8 +571,14 @@ jobs: docker/sdk cli composer dump-autoload -o -a --apcu docker/sdk testing codecept run -c codeception.functional.yml + - name: Slack Notification for scheduled job + uses: ./.github/actions/scheduled-job-slack-notifications + if: always() + php-82-mariadb-glue-alpine-dynamic-store-off: - if: contains(github.event.pull_request.labels.*.name, 'run-compatibility-ci') + if: > + contains(github.event.pull_request.labels.*.name, 'run-compatibility-ci') + || (github.event_name == 'schedule' && github.ref == 'refs/heads/master') name: "PHP 8.2 / MariaDB / Glue / Alpine / Dynamic Store OFF" runs-on: ubuntu-22.04 env: @@ -521,10 +603,15 @@ jobs: docker/sdk cli composer dump-autoload -o -a --apcu docker/sdk testing codecept run -c codeception.api.yml + - name: Slack Notification for scheduled job + uses: ./.github/actions/scheduled-job-slack-notifications + if: always() + php-82-mariadb-glue-alpine: if: > !contains(github.event.pull_request.head.ref, 'hackathon') && contains(github.event.pull_request.labels.*.name, 'run-compatibility-ci') + || (github.event_name == 'schedule' && github.ref == 'refs/heads/master') name: "PHP 8.2 / MariaDB / Glue / Alpine" runs-on: ubuntu-22.04 env: @@ -551,8 +638,14 @@ jobs: docker/sdk cli composer dump-autoload -o -a --apcu docker/sdk testing codecept run -c codeception.api.yml + - name: Slack Notification for scheduled job + uses: ./.github/actions/scheduled-job-slack-notifications + if: always() + php-82-postgresql-acceptance-alpine-dynamic-store-off: - if: contains(github.event.pull_request.labels.*.name, 'run-compatibility-ci') + if: > + contains(github.event.pull_request.labels.*.name, 'run-compatibility-ci') + || (github.event_name == 'schedule' && github.ref == 'refs/heads/master') name: "PHP 8.2 / PostgreSQL / Acceptance / Alpine / Dynamic Store OFF" runs-on: ubuntu-22.04 env: @@ -576,8 +669,14 @@ jobs: docker/sdk cli composer dump-autoload -o -a --apcu docker/sdk testing codecept run -c codeception.acceptance.yml + - name: Slack Notification for scheduled job + uses: ./.github/actions/scheduled-job-slack-notifications + if: always() + php-82-postgresql-acceptance-alpine: - if: contains(github.event.pull_request.labels.*.name, 'run-compatibility-ci') + if: > + contains(github.event.pull_request.labels.*.name, 'run-compatibility-ci') + || (github.event_name == 'schedule' && github.ref == 'refs/heads/master') name: "PHP 8.2 / PostgreSQL / Acceptance / Alpine" runs-on: ubuntu-22.04 env: @@ -603,9 +702,15 @@ jobs: docker/sdk cli composer dump-autoload -o -a --apcu docker/sdk testing codecept run -c codeception.acceptance.yml + - name: Slack Notification for scheduled job + uses: ./.github/actions/scheduled-job-slack-notifications + if: always() + php-82-postgresql-functional-alpine-dynamic-store-off: - if: contains(github.event.pull_request.labels.*.name, 'run-compatibility-ci') + if: > + contains(github.event.pull_request.labels.*.name, 'run-compatibility-ci') + || (github.event_name == 'schedule' && github.ref == 'refs/heads/master') name: "PHP 8.2 / PostgreSQL / Functional / Alpine / Dynamic Store OFF" runs-on: ubuntu-22.04 env: @@ -629,10 +734,15 @@ jobs: docker/sdk cli composer dump-autoload -o -a --apcu docker/sdk testing codecept run -c codeception.functional.yml + - name: Slack Notification for scheduled job + uses: ./.github/actions/scheduled-job-slack-notifications + if: always() + php-82-postgresql-functional-alpine: if: > !contains(github.event.pull_request.head.ref, 'hackathon') && contains(github.event.pull_request.labels.*.name, 'run-compatibility-ci') + || (github.event_name == 'schedule' && github.ref == 'refs/heads/master') name: "PHP 8.2 / PostgreSQL / Functional / Alpine" runs-on: ubuntu-22.04 env: @@ -658,8 +768,14 @@ jobs: docker/sdk cli composer dump-autoload -o -a --apcu docker/sdk testing codecept run -c codeception.functional.yml + - name: Slack Notification for scheduled job + uses: ./.github/actions/scheduled-job-slack-notifications + if: always() + php-82-mariadb-acceptance-alpine-dynamic-store-off: - if: contains(github.event.pull_request.labels.*.name, 'run-compatibility-ci') + if: > + contains(github.event.pull_request.labels.*.name, 'run-compatibility-ci') + || (github.event_name == 'schedule' && github.ref == 'refs/heads/master') name: "PHP 8.2 / MariaDB / Acceptance / Alpine / Dynamic Store OFF" runs-on: ubuntu-22.04 env: @@ -683,10 +799,15 @@ jobs: docker/sdk cli composer dump-autoload -o -a --apcu docker/sdk testing codecept run -c codeception.acceptance.yml + - name: Slack Notification for scheduled job + uses: ./.github/actions/scheduled-job-slack-notifications + if: always() + php-82-mariadb-acceptance-alpine: if: > !contains(github.event.pull_request.head.ref, 'hackathon') && contains(github.event.pull_request.labels.*.name, 'run-compatibility-ci') + || (github.event_name == 'schedule' && github.ref == 'refs/heads/master') name: "PHP 8.2 / MariaDB / Acceptance / Alpine" runs-on: ubuntu-22.04 env: @@ -712,9 +833,15 @@ jobs: docker/sdk cli composer dump-autoload -o -a --apcu docker/sdk testing codecept run -c codeception.acceptance.yml + - name: Slack Notification for scheduled job + uses: ./.github/actions/scheduled-job-slack-notifications + if: always() + php-82-mariadb-functional-alpine-dynamic-store-off: - if: contains(github.event.pull_request.labels.*.name, 'run-compatibility-ci') + if: > + contains(github.event.pull_request.labels.*.name, 'run-compatibility-ci') + || (github.event_name == 'schedule' && github.ref == 'refs/heads/master') name: "PHP 8.2 / MariaDB / Functional / Alpine / Dynamic Store OFF" runs-on: ubuntu-22.04 env: @@ -737,10 +864,15 @@ jobs: docker/sdk cli composer dump-autoload -o -a --apcu docker/sdk testing codecept run -c codeception.functional.yml + - name: Slack Notification for scheduled job + uses: ./.github/actions/scheduled-job-slack-notifications + if: always() + php-82-mariadb-functional-alpine: if: > !contains(github.event.pull_request.head.ref, 'hackathon') && contains(github.event.pull_request.labels.*.name, 'run-compatibility-ci') + || (github.event_name == 'schedule' && github.ref == 'refs/heads/master') name: "PHP 8.2 / MariaDB / Functional / Alpine" runs-on: ubuntu-22.04 env: @@ -765,9 +897,15 @@ jobs: docker/sdk cli composer dump-autoload -o -a --apcu docker/sdk testing codecept run -c codeception.functional.yml + - name: Slack Notification for scheduled job + uses: ./.github/actions/scheduled-job-slack-notifications + if: always() + php-82-postgres-functional-debian-dynamic-store-off: - if: contains(github.event.pull_request.labels.*.name, 'run-compatibility-ci') + if: > + contains(github.event.pull_request.labels.*.name, 'run-compatibility-ci') + || (github.event_name == 'schedule' && github.ref == 'refs/heads/master') name: "PHP 8.2 / PostgreSQL / Functional / Debian / Dynamic Store OFF" runs-on: ubuntu-22.04 env: @@ -790,10 +928,15 @@ jobs: docker/sdk cli composer dump-autoload -o -a --apcu docker/sdk testing codecept run -c codeception.functional.yml + - name: Slack Notification for scheduled job + uses: ./.github/actions/scheduled-job-slack-notifications + if: always() + php-82-postgres-functional-debian: if: > !contains(github.event.pull_request.head.ref, 'hackathon') && contains(github.event.pull_request.labels.*.name, 'run-compatibility-ci') + || (github.event_name == 'schedule' && github.ref == 'refs/heads/master') name: "PHP 8.2 / PostgreSQL / Functional / Debian" runs-on: ubuntu-22.04 env: @@ -818,11 +961,16 @@ jobs: docker/sdk cli composer dump-autoload -o -a --apcu docker/sdk testing codecept run -c codeception.functional.yml + - name: Slack Notification for scheduled job + uses: ./.github/actions/scheduled-job-slack-notifications + if: always() + frontend-assets-via-docker-php-8-2: if: > !contains(github.event.pull_request.head.ref, 'hackathon') && (contains(github.event.pull_request.labels.*.name, 'run-functional-ci') || contains(github.event.pull_request.labels.*.name, 'run-latest-ci')) + || (github.event_name == 'schedule' && github.ref == 'refs/heads/master') name: "Docker / Alpine / PHP 8.2 / Frontend & Assets" runs-on: ubuntu-22.04 env: @@ -842,10 +990,15 @@ jobs: - run: docker run -t --rm --entrypoint='' spryker_b2c_frontend:1.0-frontend ls -al /data/public/Yves/assets/myhash - run: docker run -t --rm --entrypoint='' spryker_b2c_frontend:1.0-frontend ls -al /data/public/Zed/assets/ + - name: Slack Notification for scheduled job + uses: ./.github/actions/scheduled-job-slack-notifications + if: always() + docker-alpine-php-82-mariadb-robot-dynamic-store-off: if: > !contains(github.event.pull_request.head.ref, 'hackathon') && contains(github.event.pull_request.labels.*.name, 'run-compatibility-ci') + || (github.event_name == 'schedule' && github.ref == 'refs/heads/master') name: "Docker / Alpine / PHP 8.2 / MariaDB / Robot / API / Dynamic Store OFF" runs-on: ubuntu-22.04 env: @@ -885,10 +1038,15 @@ jobs: run: | AWS_DEFAULT_REGION=${{env.ROBOT_TESTS_ARTIFACTS_BUCKET_REGION}} AWS_ACCESS_KEY_ID=${{ secrets.ROBOT_TESTS_ARTIFACTS_KEY }} AWS_SECRET_ACCESS_KEY=${{ secrets.ROBOT_TESTS_ARTIFACTS_SECRET }} aws s3 cp .robot/results/log.html s3://${{vars.ROBOT_TESTS_ARTIFACTS_BUCKET}}/b2c/dms-off/robot-api/${GITHUB_RUN_ID}/PHP8.2MariaDB/log.html + - name: Slack Notification for scheduled job + uses: ./.github/actions/scheduled-job-slack-notifications + if: always() + docker-alpine-php-83-postgresql-robot: if: > !contains(github.event.pull_request.head.ref, 'hackathon') && contains(github.event.pull_request.labels.*.name, 'run-compatibility-ci') + || (github.event_name == 'schedule' && github.ref == 'refs/heads/master') name: "Docker / Alpine / PHP 8.3 / PostgreSQL / Robot / API" runs-on: ubuntu-22.04 env: @@ -934,11 +1092,16 @@ jobs: run: | AWS_DEFAULT_REGION=${{env.ROBOT_TESTS_ARTIFACTS_BUCKET_REGION}} AWS_ACCESS_KEY_ID=${{ secrets.ROBOT_TESTS_ARTIFACTS_KEY }} AWS_SECRET_ACCESS_KEY=${{ secrets.ROBOT_TESTS_ARTIFACTS_SECRET }} aws s3 cp .robot/results/log.html s3://${{vars.ROBOT_TESTS_ARTIFACTS_BUCKET}}/b2c/dms-on/robot-api/${GITHUB_RUN_ID}/PHP8.3PostgreSQL/log.html + - name: Slack Notification for scheduled job + uses: ./.github/actions/scheduled-job-slack-notifications + if: always() + docker-alpine-php-83-mariadb-robot: if: > !contains(github.event.pull_request.head.ref, 'hackathon') && (contains(github.event.pull_request.labels.*.name, 'run-api-ci') || contains(github.event.pull_request.labels.*.name, 'run-latest-ci')) + || (github.event_name == 'schedule' && github.ref == 'refs/heads/master') name: "Docker / Alpine / PHP 8.3 / MariaDB / Robot / API" runs-on: ubuntu-22.04 env: @@ -979,10 +1142,15 @@ jobs: run: | AWS_DEFAULT_REGION=${{env.ROBOT_TESTS_ARTIFACTS_BUCKET_REGION}} AWS_ACCESS_KEY_ID=${{ secrets.ROBOT_TESTS_ARTIFACTS_KEY }} AWS_SECRET_ACCESS_KEY=${{ secrets.ROBOT_TESTS_ARTIFACTS_SECRET }} aws s3 cp .robot/results/log.html s3://${{vars.ROBOT_TESTS_ARTIFACTS_BUCKET}}/b2c/dms-on/robot-api/${GITHUB_RUN_ID}/PHP8.3MariaDB/log.html + - name: Slack Notification for scheduled job + uses: ./.github/actions/scheduled-job-slack-notifications + if: always() + docker-alpine-php-8-3-mariadb-cypress-dynamic-store-off: if: > !contains(github.event.pull_request.head.ref, 'hackathon') && contains(github.event.pull_request.labels.*.name, 'run-compatibility-ci') + || (github.event_name == 'schedule' && github.ref == 'refs/heads/master') name: "Docker / Alpine / PHP 8.3 / MariaDB / Cypress / UI / Dynamic Store OFF" runs-on: ubuntu-22.04 env: @@ -1022,11 +1190,16 @@ jobs: run: | AWS_DEFAULT_REGION=${{env.ROBOT_TESTS_ARTIFACTS_BUCKET_REGION}} AWS_ACCESS_KEY_ID=${{ secrets.ROBOT_TESTS_ARTIFACTS_KEY }} AWS_SECRET_ACCESS_KEY=${{ secrets.ROBOT_TESTS_ARTIFACTS_SECRET }} aws s3 cp .cypress s3://${{vars.ROBOT_TESTS_ARTIFACTS_BUCKET}}/b2c/dms-off/cypress/${GITHUB_RUN_ID}/PHP8.3MariaDB/ --recursive + - name: Slack Notification for scheduled job + uses: ./.github/actions/scheduled-job-slack-notifications + if: always() + docker-alpine-php-8-3-mariadb-cypress: if: > !contains(github.event.pull_request.head.ref, 'hackathon') && (contains(github.event.pull_request.labels.*.name, 'run-ui-ci') || contains(github.event.pull_request.labels.*.name, 'run-latest-ci')) + || (github.event_name == 'schedule' && github.ref == 'refs/heads/master') name: "Docker / Alpine / PHP 8.3 / MariaDB / Cypress / UI" runs-on: ubuntu-22.04 env: @@ -1069,6 +1242,10 @@ jobs: run: | AWS_DEFAULT_REGION=${{env.ROBOT_TESTS_ARTIFACTS_BUCKET_REGION}} AWS_ACCESS_KEY_ID=${{ secrets.ROBOT_TESTS_ARTIFACTS_KEY }} AWS_SECRET_ACCESS_KEY=${{ secrets.ROBOT_TESTS_ARTIFACTS_SECRET }} aws s3 cp .cypress s3://${{vars.ROBOT_TESTS_ARTIFACTS_BUCKET}}/b2c/dms-on/cypress/${GITHUB_RUN_ID}/PHP8.3MariaDB/ --recursive + - name: Slack Notification for scheduled job + uses: ./.github/actions/scheduled-job-slack-notifications + if: always() + positive-docker-alpine-php-82-mariadb-robot: name: "[Hackathon] Positive / Docker / Alpine / PHP 8.2 / MariaDB / Robot / API" if: "contains(github.event.pull_request.head.ref, 'hackathon')" diff --git a/.github/workflows/robot-ui-e2e-tests.yml b/.github/workflows/robot-ui-e2e-tests.yml index 5b9730e5d2..6afd5e19dc 100644 --- a/.github/workflows/robot-ui-e2e-tests.yml +++ b/.github/workflows/robot-ui-e2e-tests.yml @@ -3,10 +3,13 @@ name: "[b2c][master] Robot Regression UI E2E" on: pull_request: types: [ labeled, unlabeled, synchronize ] - push: - branches: - - master workflow_dispatch: + schedule: + - cron: '0 0 * * 0' + +env: + SLACK_BOT_TOKEN: ${{ secrets.SLACK_BOT_TOKEN }} + WEEKLY_CI_SLACK_CHANNEL_ID: ${{ secrets.WEEKLY_CI_SLACK_CHANNEL_ID }} concurrency: group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} @@ -18,7 +21,7 @@ jobs: (github.event_name == 'pull_request' && (contains(github.event.pull_request.labels.*.name, 'run-ui-ci') || contains(github.event.pull_request.labels.*.name, 'run-latest-ci')) - ) || (github.event_name == 'push' && github.ref == 'refs/heads/master') + ) || (github.event_name == 'schedule' && github.ref == 'refs/heads/master') name: "Docker / Alpine / PHP 8.3 / MariaDB / Robot / UI / Group One" runs-on: ubuntu-22.04 env: @@ -84,12 +87,17 @@ jobs: run: | AWS_DEFAULT_REGION=${{env.ROBOT_TESTS_ARTIFACTS_BUCKET_REGION}} AWS_ACCESS_KEY_ID=${{ secrets.ROBOT_TESTS_ARTIFACTS_KEY }} AWS_SECRET_ACCESS_KEY=${{ secrets.ROBOT_TESTS_ARTIFACTS_SECRET }} aws s3 cp .robot/results/log.html s3://${{vars.ROBOT_TESTS_ARTIFACTS_BUCKET}}/b2c/dms-on/robot-ui/${GITHUB_RUN_ID}/PHP8.3MariaDB/group1/log.html + - name: Slack Notification for scheduled job + uses: ./.github/actions/scheduled-job-slack-notifications + + if: always() + docker-alpine-php-8-3-mariadb-robot-ui-group-two: if: > (github.event_name == 'pull_request' && (contains(github.event.pull_request.labels.*.name, 'run-ui-ci') || contains(github.event.pull_request.labels.*.name, 'run-latest-ci')) - ) || (github.event_name == 'push' && github.ref == 'refs/heads/master') + ) || (github.event_name == 'schedule' && github.ref == 'refs/heads/master') name: "Docker / Alpine / PHP 8.3 / MariaDB / Robot / UI /Group Two" runs-on: ubuntu-22.04 env: @@ -155,12 +163,16 @@ jobs: run: | AWS_DEFAULT_REGION=${{env.ROBOT_TESTS_ARTIFACTS_BUCKET_REGION}} AWS_ACCESS_KEY_ID=${{ secrets.ROBOT_TESTS_ARTIFACTS_KEY }} AWS_SECRET_ACCESS_KEY=${{ secrets.ROBOT_TESTS_ARTIFACTS_SECRET }} aws s3 cp .robot/results/log.html s3://${{vars.ROBOT_TESTS_ARTIFACTS_BUCKET}}/b2c/dms-on/robot-ui/${GITHUB_RUN_ID}/PHP8.3MariaDB/group2/log.html + - name: Slack Notification for scheduled job + uses: ./.github/actions/scheduled-job-slack-notifications + if: always() + docker-alpine-php-8-3-mariadb-robot-ui-group-three: if: > (github.event_name == 'pull_request' && (contains(github.event.pull_request.labels.*.name, 'run-ui-ci') || contains(github.event.pull_request.labels.*.name, 'run-latest-ci')) - ) || (github.event_name == 'push' && github.ref == 'refs/heads/master') + ) || (github.event_name == 'schedule' && github.ref == 'refs/heads/master') name: "Docker / Alpine / PHP 8.3 / MariaDB / Robot / UI / Group Three" runs-on: ubuntu-22.04 env: @@ -225,11 +237,15 @@ jobs: run: | AWS_DEFAULT_REGION=${{env.ROBOT_TESTS_ARTIFACTS_BUCKET_REGION}} AWS_ACCESS_KEY_ID=${{ secrets.ROBOT_TESTS_ARTIFACTS_KEY }} AWS_SECRET_ACCESS_KEY=${{ secrets.ROBOT_TESTS_ARTIFACTS_SECRET }} aws s3 cp .robot/results/log.html s3://${{vars.ROBOT_TESTS_ARTIFACTS_BUCKET}}/b2c/dms-on/robot-ui/${GITHUB_RUN_ID}/PHP8.3MariaDB/group3/log.html + - name: Slack Notification for scheduled job + uses: ./.github/actions/scheduled-job-slack-notifications + if: always() + docker-alpine-php-82-postgresql-dynamic-store-off-robot-ui-group-one: if: > (github.event_name == 'pull_request' && contains(github.event.pull_request.labels.*.name, 'run-compatibility-ci') - ) || (github.event_name == 'push' && github.ref == 'refs/heads/master') + ) || (github.event_name == 'schedule' && github.ref == 'refs/heads/master') name: "Docker / Alpine / PHP 8.2 / PostgreSQL / Dynamic Store OFF / Robot / UI / Group One" runs-on: ubuntu-22.04 env: @@ -294,11 +310,15 @@ jobs: run: | AWS_DEFAULT_REGION=${{env.ROBOT_TESTS_ARTIFACTS_BUCKET_REGION}} AWS_ACCESS_KEY_ID=${{ secrets.ROBOT_TESTS_ARTIFACTS_KEY }} AWS_SECRET_ACCESS_KEY=${{ secrets.ROBOT_TESTS_ARTIFACTS_SECRET }} aws s3 cp .robot/results/log.html s3://${{vars.ROBOT_TESTS_ARTIFACTS_BUCKET}}/b2c/dms-off/robot-ui/${GITHUB_RUN_ID}/PHP8.2PostgreSQL/group1/log.html + - name: Slack Notification for scheduled job + uses: ./.github/actions/scheduled-job-slack-notifications + if: always() + docker-alpine-php-82-postgresql-dynamic-store-off-robot-ui-group-two: if: > (github.event_name == 'pull_request' && contains(github.event.pull_request.labels.*.name, 'run-compatibility-ci') - ) || (github.event_name == 'push' && github.ref == 'refs/heads/master') + ) || (github.event_name == 'schedule' && github.ref == 'refs/heads/master') name: "Docker / Alpine / PHP 8.2 / PostgreSQL / Dynamic Store OFF / Robot / UI / Group Two" runs-on: ubuntu-22.04 env: @@ -363,11 +383,15 @@ jobs: run: | AWS_DEFAULT_REGION=${{env.ROBOT_TESTS_ARTIFACTS_BUCKET_REGION}} AWS_ACCESS_KEY_ID=${{ secrets.ROBOT_TESTS_ARTIFACTS_KEY }} AWS_SECRET_ACCESS_KEY=${{ secrets.ROBOT_TESTS_ARTIFACTS_SECRET }} aws s3 cp .robot/results/log.html s3://${{vars.ROBOT_TESTS_ARTIFACTS_BUCKET}}/b2c/dms-off/robot-ui/${GITHUB_RUN_ID}/PHP8.2PostgreSQL/group2/log.html + - name: Slack Notification for scheduled job + uses: ./.github/actions/scheduled-job-slack-notifications + if: always() + docker-alpine-php-82-postgresql-dynamic-store-off-robot-ui-group-three: if: > (github.event_name == 'pull_request' && contains(github.event.pull_request.labels.*.name, 'run-compatibility-ci') - ) || (github.event_name == 'push' && github.ref == 'refs/heads/master') + ) || (github.event_name == 'schedule' && github.ref == 'refs/heads/master') name: "Docker / Alpine / PHP 8.2 / PostgreSQL / Dynamic Store OFF / Robot / UI / Group Three" runs-on: ubuntu-22.04 env: @@ -430,3 +454,7 @@ jobs: if: failure() run: | AWS_DEFAULT_REGION=${{env.ROBOT_TESTS_ARTIFACTS_BUCKET_REGION}} AWS_ACCESS_KEY_ID=${{ secrets.ROBOT_TESTS_ARTIFACTS_KEY }} AWS_SECRET_ACCESS_KEY=${{ secrets.ROBOT_TESTS_ARTIFACTS_SECRET }} aws s3 cp .robot/results/log.html s3://${{vars.ROBOT_TESTS_ARTIFACTS_BUCKET}}/b2c/dms-off/robot-ui/${GITHUB_RUN_ID}/PHP8.2PostgreSQL/group3/log.html + + - name: Slack Notification for scheduled job + uses: ./.github/actions/scheduled-job-slack-notifications + if: always()