ORCA CI #2417
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: ORCA CI | |
on: | |
push: | |
# Prevent duplicate jobs on Dependabot PRs that interfere with automerge. | |
branches-ignore: | |
- 'dependabot/**' | |
pull_request: | |
schedule: | |
- cron: "0 0 * * *" | |
jobs: | |
build: | |
runs-on: ubuntu-24.04 | |
env: | |
ORCA_SUT_NAME: acquia/drupal-recommended-project | |
ORCA_SUT_BRANCH: master | |
ORCA_VERSION: ${{ matrix.orca-version }} | |
ORCA_JOB: ${{ matrix.orca-job }} | |
# Google env variables. | |
ORCA_GOOGLE_API_CLIENT_ID: ${{ secrets.ORCA_GOOGLE_API_CLIENT_ID }} | |
ORCA_GOOGLE_API_CLIENT_SECRET: ${{ secrets.ORCA_GOOGLE_API_CLIENT_SECRET }} | |
ORCA_GOOGLE_API_REFRESH_TOKEN: ${{ secrets.ORCA_GOOGLE_API_REFRESH_TOKEN }} | |
strategy: | |
matrix: | |
orca-job: | |
- STATIC_CODE_ANALYSIS | |
- INTEGRATED_TEST_ON_PREVIOUS_MINOR | |
##- INTEGRATED_UPGRADE_TEST_FROM_PREVIOUS_MINOR | |
- ISOLATED_TEST_ON_CURRENT | |
- INTEGRATED_TEST_ON_CURRENT | |
- ISOLATED_TEST_ON_CURRENT_DEV | |
- INTEGRATED_TEST_ON_CURRENT_DEV | |
- ISOLATED_TEST_ON_NEXT_MINOR | |
- INTEGRATED_TEST_ON_NEXT_MINOR | |
- INTEGRATED_TEST_ON_NEXT_MINOR_DEV | |
- ISOLATED_TEST_ON_NEXT_MINOR_DEV | |
# We do not run deprecated code scans since they'd scan the entire | |
# codebase (since the SUT is the project template). | |
php-version: [ "8.3" ] | |
orca-version: [ "^4" ] | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-node@v4 | |
with: | |
node-version: 20.x | |
- uses: shivammathur/setup-php@v2 | |
with: | |
php-version: ${{ matrix.php-version }} | |
coverage: xdebug2 | |
- name: Before install | |
run: | | |
composer create-project --no-dev acquia/orca ../orca "$ORCA_VERSION" | |
../orca/bin/ci/before_install.sh | |
if [[ ! "$ORCA_JOB" ]]; then composer install; fi | |
- name: Install | |
run: ../orca/bin/ci/install.sh | |
- name: Before script | |
run: ../orca/bin/ci/before_script.sh | |
- name: Script | |
run: ../orca/bin/ci/script.sh | |
- name: After script | |
run: ../orca/bin/ci/after_script.sh | |
- name: After success | |
if: ${{ success() }} | |
run: ../orca/bin/ci/after_success.sh | |
- name: After failure | |
if: ${{ failure() }} | |
run: ../orca/bin/ci/after_failure.sh | |
# Require all checks to pass without having to enumerate them in the branch protection UI. | |
# @see https://github.community/t/is-it-possible-to-require-all-github-actions-tasks-to-pass-without-enumerating-them/117957 | |
all-successful: | |
if: always() | |
runs-on: ubuntu-latest | |
needs: [build] | |
steps: | |
- name: Decide whether the needed jobs succeeded or failed | |
uses: re-actors/alls-green@release/v1 | |
with: | |
jobs: ${{ toJSON(needs) }} | |
- name: All checks successful | |
run: echo "🎉" |