Skip to content

ORCA CI

ORCA CI #1028

Workflow file for this run

---
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-environment-detector
ORCA_SUT_BRANCH: main
ORCA_VERSION: ${{ matrix.orca-version }}
ORCA_JOB: ${{ matrix.orca-job }}
ORCA_COVERALLS_ENABLE: ${{ matrix.coveralls-enable }}
COVERALLS_REPO_TOKEN: ${{ secrets.GITHUB_TOKEN }}
# 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_OLDEST_SUPPORTED
# - INTEGRATED_TEST_ON_LATEST_LTS
- INTEGRATED_TEST_ON_PREVIOUS_MINOR
# - INTEGRATED_UPGRADE_TEST_FROM_PREVIOUS_MINOR
# - ISOLATED_TEST_ON_CURRENT
- INTEGRATED_TEST_ON_CURRENT
# - INTEGRATED_UPGRADE_TEST_TO_NEXT_MINOR
- ISOLATED_TEST_ON_CURRENT_DEV
- INTEGRATED_TEST_ON_CURRENT_DEV
- STRICT_DEPRECATED_CODE_SCAN
- ISOLATED_TEST_ON_NEXT_MINOR
- INTEGRATED_TEST_ON_NEXT_MINOR
# - ISOLATED_UPGRADE_TEST_TO_NEXT_MAJOR_BETA_OR_LATER
# - ISOLATED_UPGRADE_TEST_TO_NEXT_MAJOR_DEV
- DEPRECATED_CODE_SCAN_W_CONTRIB
- INTEGRATED_TEST_ON_NEXT_MINOR_DEV
- ISOLATED_TEST_ON_NEXT_MINOR_DEV
# - INTEGRATED_UPGRADE_TEST_TO_NEXT_MINOR_DEV
- LOOSE_DEPRECATED_CODE_SCAN
php-version: [ "8.3" ]
coveralls-enable: [ "FALSE" ]
orca-version: [ "^4" ]
include:
- orca-job: ISOLATED_TEST_ON_CURRENT
php-version: "8.3"
coveralls-enable: "TRUE"
# - orca-job: ISOLATED_TEST_ON_NEXT_MAJOR_LATEST_MINOR_DEV
# php-version: "8.3"
# - orca-job: INTEGRATED_TEST_ON_NEXT_MAJOR_LATEST_MINOR_DEV
# php-version: "8.3"
# - orca-job: ISOLATED_TEST_ON_NEXT_MAJOR_LATEST_MINOR_BETA_OR_LATER
# php-version: "8.3"
# - orca-job: INTEGRATED_TEST_ON_NEXT_MAJOR_LATEST_MINOR_BETA_OR_LATER
# php-version: "8.3"
- orca-job: INTEGRATED_TEST_ON_LATEST_EOL_MAJOR
php-version: "8.0"
coveralls-enable: "FALSE"
orca-version: "^3"
- orca-job: INTEGRATED_TEST_ON_LATEST_EOL_MAJOR
php-version: "8.1"
coveralls-enable: "FALSE"
orca-version: "^4"
- orca-job: INTEGRATED_TEST_ON_OLDEST_SUPPORTED
php-version: "8.1"
coveralls-enable: "FALSE"
orca-version: "^4"
steps:
- uses: actions/checkout@v2
- uses: actions/setup-node@v2
with:
node-version: 12.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
- 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 "🎉"