Drupal11 readiness #4333
Workflow file for this run
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: "Acquia CMS CI" | |
on: | |
push: | |
branches: [ develop, qa, stage, main, release/*, feature/* ] | |
paths-ignore: | |
- README.md | |
pull_request: | |
# branches: [ develop ] | |
paths-ignore: | |
- README.md | |
jobs: | |
static_code_analysis: | |
if: ${{ github.event_name == 'pull_request' }} | |
runs-on: ubuntu-latest | |
env: | |
# Provide your package's name. | |
ORCA_SUT_NAME: acquia/acquia_cms | |
ORCA_SUT_BRANCH: develop | |
ORCA_VERSION: ^4 | |
ORCA_PACKAGES_CONFIG_ALTER: ../acquia_cms/tests/packages_alter.yml | |
ORCA_FIXTURE_PROJECT_TEMPLATE: acquia/drupal-recommended-project | |
ORCA_ENABLE_NIGHTWATCH: "FALSE" | |
ORCA_PHPCS_STANDARD: AcquiaPHP | |
ORCA_SUT_DIR: /home/runner/work/acquia_cms/acquia_cms | |
COMPOSER_PROCESS_TIMEOUT: 1800 | |
ORCA_JOB: ${{ matrix.orca-job }} | |
GITHUB_EVENT: $ {{ github.event_name }} | |
JOB_TYPE: "static-code-analysis" | |
#ACMS_JOB: ${{ matrix.acms-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 | |
#- STRICT_DEPRECATED_CODE_SCAN | |
#php-version: [ "8.1" ] | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Use Node.js 20.x | |
uses: actions/setup-node@v4 | |
with: | |
node-version: 20.x | |
- uses: shivammathur/setup-php@v2 | |
with: | |
php-version: 8.3 | |
#coverage: xdebug | |
- name: Download ORCA | |
run: | | |
composer self-update | |
composer create-project --no-dev --ignore-platform-req=php acquia/orca ../orca "$ORCA_VERSION" -n | |
curl https://gist.githubusercontent.com/rajeshreeputra/170586f217b422eb9cdfd9ca9457a2e3/raw/c2f277ba9005b91d7f662cacf37b3940a66a9b8c/sut-path-reposories.patch | git -C ../orca apply | |
curl https://gist.githubusercontent.com/rajeshreeputra/efe6fd50fc839e0e05480a5eb58d1ba4/raw/c5e81aa3c0fba9f4abe42460f3d24c7ca976a527/remove-local-settings.patch | git -C ../orca apply | |
- name: Before Install | |
run: | | |
# Added below in CI to test acquia_cms on Drupal Core >=9.5. | |
composer require "drupal/core:>=9.5" --no-update --no-install -d modules/acquia_cms_common | |
sed -i 's/^core_version_requirement.*/core_version_requirement: ">=9.5"/' modules/acquia_cms_common/acquia_cms_common.info.yml | |
../orca/bin/ci/before_install.sh | |
- name: Install | |
shell: 'script -q -e -c "bash {0}"' | |
run: ./tests/ci/install.sh | |
- name: Before script | |
run: ../orca/bin/ci/before_script.sh | |
- name: Script | |
run: ./tests/ci/script.sh | |
- name: Before Cache | |
run: ../orca/bin/ci/before_cache.sh | |
- name: After script | |
run: | | |
../orca/bin/ci/after_success.sh | |
../orca/bin/ci/after_failure.sh | |
../orca/bin/ci/after_script.sh | |
drupal_check: | |
if: ${{ github.event_name == 'pull_request' }} | |
name: PHPStan | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Use Node.js 20.x | |
uses: actions/setup-node@v4 | |
with: | |
node-version: 20.x | |
- uses: shivammathur/setup-php@v2 | |
with: | |
php-version: 8.3 | |
#coverage: xdebug | |
- name: Execute PHPStan | |
run: | | |
# Remove Acquia CMS modules. | |
# @todo: Remove module from below which you want to make Drupal 11 compatible. | |
composer remove "drupal/acquia_cms_headless" --no-install --no-update | |
# Remove acquia_cms_headless module. | |
rm -fr modules/acquia_cms_headless | |
# Unset the repository path. | |
composer config repositories.acquia_cms_headless --unset | |
rm composer.lock | |
composer install | |
./vendor/bin/phpstan analyze | |
integrated_tests: | |
if: ${{ github.event_name == 'pull_request' }} | |
name: ${{ matrix.acms_job }} (${{ matrix.orca-job }}) | |
runs-on: ubuntu-24.04 | |
env: | |
# Site test artifacts. | |
# ACMS_DB_ARTIFACT: "/home/runner/work/acquia_cms/acquia_cms/tests/acms.sql.gz" | |
# ACMS_FILES_ARTIFACT: "/home/runner/work/acquia_cms/acquia_cms/tests/acms-files.tar.gz" | |
# ACMS_STARTER_DB_ARTIFACT: "/home/runner/work/acquia_cms/acquia_cms/tests/acms-starter.sql.gz" | |
# ACMS_STARTER_FILES_ARTIFACT: "/home/runner/work/acquia_cms/acquia_cms/tests/acms-files-starter.tar.gz" | |
# Provide your package's name. | |
ORCA_SUT_NAME: acquia/acquia_cms | |
ORCA_SUT_BRANCH: develop | |
ORCA_PACKAGES_CONFIG_ALTER: ../acquia_cms/tests/packages_alter.yml | |
ORCA_FIXTURE_PROJECT_TEMPLATE: acquia/drupal-recommended-project | |
ORCA_ENABLE_NIGHTWATCH: "FALSE" | |
ORCA_PHPCS_STANDARD: AcquiaPHP | |
ORCA_SUT_DIR: /home/runner/work/acquia_cms/acquia_cms | |
COMPOSER_PROCESS_TIMEOUT: 1800 | |
ORCA_JOB: ${{ matrix.orca-job }} | |
# AWS_S3_BUCKET_PATH: s3://acquia-cms-artifacts/backstop | |
# Set Required API Keys. | |
CONNECTOR_ID: ${{ secrets.CONNECTOR_ID }} | |
SEARCH_UUID: ${{ secrets.SEARCH_UUID }} | |
CONNECTOR_KEY: ${{ secrets.CONNECTOR_KEY }} | |
GMAPS_KEY: ${{ secrets.GMAPS_KEY }} | |
SITESTUDIO_API_KEY: ${{ secrets.SITESTUDIO_API_KEY }} | |
SITESTUDIO_ORG_KEY: ${{ secrets.SITESTUDIO_ORG_KEY }} | |
ACMS_JOB: ${{ matrix.acms_job }} | |
JOB_TYPE: "integrated-tests" | |
CI: true | |
strategy: | |
fail-fast: false | |
matrix: | |
orca-job: | |
- INTEGRATED_TEST_ON_LATEST_LTS | |
- ISOLATED_TEST_ON_CURRENT | |
acms_job: | |
- integrated_php_unit_tests | |
- integrated_existing_site_tests | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Use Node.js 20.x | |
uses: actions/setup-node@v4 | |
with: | |
node-version: 20.x | |
- uses: shivammathur/setup-php@v2 | |
with: | |
php-version: 8.3 | |
#coverage: xdebug | |
- name: Setup MySQL | |
run: | | |
sudo /etc/init.d/mysql start | |
mysql -uroot -proot < ./tests/ci/install.sql | |
- name: Download ORCA | |
run: | | |
composer self-update | |
composer create-project --no-dev --ignore-platform-req=php acquia/orca ../orca "$ORCA_VERSION" -n | |
curl https://gist.githubusercontent.com/rajeshreeputra/170586f217b422eb9cdfd9ca9457a2e3/raw/c2f277ba9005b91d7f662cacf37b3940a66a9b8c/sut-path-reposories.patch | git -C ../orca apply | |
curl https://gist.githubusercontent.com/rajeshreeputra/efe6fd50fc839e0e05480a5eb58d1ba4/raw/c5e81aa3c0fba9f4abe42460f3d24c7ca976a527/remove-local-settings.patch | git -C ../orca apply | |
# - name: Configure AWS Credentials | |
# uses: aws-actions/configure-aws-credentials@v1 | |
# with: | |
# aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} | |
# aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} | |
# aws-region: ${{ secrets.AWS_DEFAULT_REGION }} | |
- name: Before Install | |
run: | | |
# Remove Acquia CMS modules. | |
# @todo: Remove module from below which you want to make Drupal 11 compatible. | |
composer remove "drupal/acquia_cms_headless" --no-install --no-update | |
# Remove acquia_cms_headless module. | |
rm -fr modules/acquia_cms_headless | |
# Unset the repository path. | |
composer config repositories.acquia_cms_headless --unset | |
# Update the CI by adding patches without pinning the following modules. | |
#composer require "drupal/facets:^2.0.6" --no-update --no-install -d modules/acquia_cms_search | |
# Added below in CI to test acquia_cms on Drupal Core >=9.5. | |
composer require "drupal/core:>=9.5" --no-update --no-install -d modules/acquia_cms_common | |
sed -i 's/^core_version_requirement.*/core_version_requirement: ">=9.5"/' modules/acquia_cms_common/acquia_cms_common.info.yml | |
# Remove all PHPUnit tests from individual modules, except the integrated & ExistingSite tests. | |
if [ "${ACMS_JOB}" = "integrated_existing_site_tests" ]; then | |
find modules/*/tests tests -type f -name "*Test.php" ! -path "*/ExistingSite*/*" -exec rm -fr '{}' ';' | |
elif [ "${ACMS_JOB}" = "integrated_php_unit_tests" ]; then | |
# Remove all isolated/existing_site phpunit tests from acquia_cms modules. | |
find modules/*/tests -type f -name "*Test.php" -exec rm -fr '{}' ';' | |
# Remove all existing_site phpunit tests from acquia_cms repo as those get's covered from integrated_existing_site_tests. | |
find tests/src -type f -name "*Test.php" -path "*/ExistingSite*/*" -exec rm -fr '{}' ';' | |
fi | |
../orca/bin/ci/before_install.sh | |
chromedriver --disable-dev-shm-usage --disable-extensions --disable-gpu --headless --no-sandbox --port=4444 & | |
CHROMEDRIVER_PID=$! | |
echo "CHROMEDRIVER_PID=${CHROMEDRIVER_PID}" >> ${GITHUB_ENV} | |
- name: Install | |
shell: 'script -q -e -c "bash {0}"' | |
run: ./tests/ci/install.sh | |
- name: Before script | |
run: ../orca/bin/ci/before_script.sh | |
- name: Script | |
run: ./tests/ci/script.sh | |
- name: Before Cache | |
run : ../orca/bin/ci/before_cache.sh | |
- name: After script | |
run: | | |
kill -0 ${{ env.CHROMEDRIVER_PID }} | |
../orca/bin/ci/after_success.sh | |
../orca/bin/ci/after_failure.sh | |
../orca/bin/ci/after_script.sh | |
isolated_tests: | |
if: ${{ github.event_name == 'pull_request' }} | |
name: acquia_cms (${{ matrix.modules }}) on (${{ matrix.orca-job }}) | |
runs-on: ubuntu-24.04 | |
env: | |
# Set ORCA related environment variables. | |
ORCA_SUT_NAME: acquia/acquia_cms | |
ORCA_SUT_BRANCH: develop | |
ORCA_PACKAGES_CONFIG_ALTER: ../acquia_cms/tests/packages_alter.yml | |
ORCA_FIXTURE_PROJECT_TEMPLATE: acquia/drupal-recommended-project | |
ORCA_ENABLE_NIGHTWATCH: "FALSE" | |
ORCA_PHPCS_STANDARD: AcquiaPHP | |
ORCA_SUT_DIR: /home/runner/work/acquia_cms/acquia_cms | |
ORCA_JOB: ${{ matrix.orca-job }} | |
# Set Required API Keys. | |
CONNECTOR_ID: ${{ secrets.CONNECTOR_ID }} | |
SEARCH_UUID: ${{ secrets.SEARCH_UUID }} | |
CONNECTOR_KEY: ${{ secrets.CONNECTOR_KEY }} | |
GMAPS_KEY: ${{ secrets.GMAPS_KEY }} | |
SITESTUDIO_API_KEY: ${{ secrets.SITESTUDIO_API_KEY }} | |
SITESTUDIO_ORG_KEY: ${{ secrets.SITESTUDIO_ORG_KEY }} | |
#Add other required environment variables. | |
COMPOSER_PROCESS_TIMEOUT: 1800 | |
MODULE: ${{ matrix.modules }} | |
JOB_TYPE: "isolated-tests" | |
CI: true | |
strategy: | |
fail-fast: false | |
matrix: | |
orca-job: | |
- INTEGRATED_TEST_ON_LATEST_LTS | |
- ISOLATED_TEST_ON_CURRENT | |
#php-version: [ "8.1" ] | |
modules: | |
- acquia_cms_article | |
- acquia_cms_audio | |
- acquia_cms_common | |
- acquia_cms_document | |
- acquia_cms_event | |
# - acquia_cms_headless | |
- acquia_cms_image | |
- acquia_cms_page | |
- acquia_cms_person | |
- acquia_cms_place | |
- acquia_cms_search | |
# - acquia_cms_site_studio | |
- acquia_cms_tour | |
- acquia_cms_video | |
# - sitestudio_config_management | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Use Node.js 12.13.1 | |
uses: actions/setup-node@v3 | |
with: | |
node-version: 12.13.1 | |
- uses: shivammathur/setup-php@v2 | |
with: | |
php-version: 8.3 | |
#coverage: xdebug | |
- name: Download ORCA | |
run: | | |
composer self-update | |
composer create-project --no-dev --ignore-platform-req=php acquia/orca ../orca "$ORCA_VERSION" -n | |
curl https://gist.githubusercontent.com/rajeshreeputra/170586f217b422eb9cdfd9ca9457a2e3/raw/c2f277ba9005b91d7f662cacf37b3940a66a9b8c/sut-path-reposories.patch | git -C ../orca apply | |
- name: Before Install | |
run: | | |
# Remove Acquia CMS modules. | |
# @todo: Remove module from below which you want to make Drupal 11 compatible. | |
composer remove "drupal/acquia_cms_headless" --no-install --no-update | |
# Remove acquia_cms_headless module. | |
rm -fr modules/acquia_cms_headless | |
# Unset the repository path. | |
composer config repositories.acquia_cms_headless --unset | |
# Remove all ExistingSite test in CI. | |
find tests/src -type f -name "*Test.php" -path "*/ExistingSite*/*" -exec rm -fr '{}' ';' | |
# Remove all PHPUnit test files, excluding the current module's PHPUnit tests. | |
find modules -type f -name "*Test.php" ! -path "*/${MODULE}/*" -exec rm -fr '{}' ';' | |
# Do not run any existing site tests. We run them seperately. | |
find modules -type d -name ExistingSite | xargs rm -rf && rm -rf tests/src/ | |
../orca/bin/ci/before_install.sh | |
chromedriver --disable-dev-shm-usage --disable-extensions --disable-gpu --headless --no-sandbox --port=4444 & | |
CHROMEDRIVER_PID=$! | |
echo "CHROMEDRIVER_PID=${CHROMEDRIVER_PID}" >> ${GITHUB_ENV} | |
- name: Install | |
shell: 'script -q -e -c "bash {0}"' | |
run: ./tests/ci/install.sh | |
- name: Before script | |
run: ../orca/bin/ci/before_script.sh | |
- name: Script | |
run: ./tests/ci/script.sh | |
- name: Before Cache | |
run: ../orca/bin/ci/before_cache.sh | |
- name: After script | |
run: | | |
kill -0 ${{ env.CHROMEDRIVER_PID }} | |
../orca/bin/ci/after_success.sh | |
../orca/bin/ci/after_failure.sh | |
../orca/bin/ci/after_script.sh | |
backstop_tests: | |
if: ${{ github.event_name == 'pull_request' }} | |
name: backstop with ${{ matrix.orca-job }} on PHP ${{ matrix.php-version }} | |
runs-on: ubuntu-latest | |
env: | |
# Site test artifacts. | |
# ACMS_DB_ARTIFACT: "/home/runner/work/acquia_cms/acquia_cms/tests/acms.sql.gz" | |
# ACMS_FILES_ARTIFACT: "/home/runner/work/acquia_cms/acquia_cms/tests/acms-files.tar.gz" | |
# ACMS_STARTER_DB_ARTIFACT: "/home/runner/work/acquia_cms/acquia_cms/tests/acms-starter.sql.gz" | |
# ACMS_STARTER_FILES_ARTIFACT: "/home/runner/work/acquia_cms/acquia_cms/tests/acms-files-starter.tar.gz" | |
# Provide your package's name. | |
ORCA_SUT_NAME: acquia/acquia_cms | |
ORCA_SUT_BRANCH: develop | |
ORCA_PACKAGES_CONFIG_ALTER: ../acquia_cms/tests/packages_alter.yml | |
ORCA_FIXTURE_PROJECT_TEMPLATE: acquia/drupal-recommended-project | |
ORCA_ENABLE_NIGHTWATCH: "FALSE" | |
ORCA_PHPCS_STANDARD: AcquiaPHP | |
ORCA_SUT_DIR: /home/runner/work/acquia_cms/acquia_cms | |
COMPOSER_PROCESS_TIMEOUT: 1800 | |
ORCA_JOB: ${{ matrix.orca-job }} | |
AWS_S3_BUCKET_PATH: s3://acquia-cms-artifacts/backstop | |
# Set Required API Keys. | |
CONNECTOR_ID: ${{ secrets.CONNECTOR_ID }} | |
SEARCH_UUID: ${{ secrets.SEARCH_UUID }} | |
CONNECTOR_KEY: ${{ secrets.CONNECTOR_KEY }} | |
GMAPS_KEY: ${{ secrets.GMAPS_KEY }} | |
SITESTUDIO_API_KEY: ${{ secrets.SITESTUDIO_API_KEY }} | |
SITESTUDIO_ORG_KEY: ${{ secrets.SITESTUDIO_ORG_KEY }} | |
COPY_BACKSTOP_IMAGES: false | |
ACMS_JOB: "backstop_tests" | |
JOB_TYPE: "integrated-tests" | |
CI: true | |
strategy: | |
fail-fast: false | |
matrix: | |
orca-job: | |
- INTEGRATED_TEST_ON_LATEST_LTS | |
# - INTEGRATED_TEST_ON_PREVIOUS_MINOR | |
- ISOLATED_TEST_ON_CURRENT | |
php-version: | |
- 8.1 | |
- 8.3 | |
exclude: | |
- php-version: 8.1 | |
orca-job: ISOLATED_TEST_ON_CURRENT | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Use Node.js 20.x | |
uses: actions/setup-node@v4 | |
with: | |
node-version: 20.x | |
- uses: shivammathur/setup-php@v2 | |
with: | |
php-version: ${{ matrix.php-version }} | |
#coverage: xdebug | |
- name: Setup MySQL | |
run: | | |
sudo /etc/init.d/mysql start | |
mysql -uroot -proot < ./tests/ci/install.sql | |
- name: Download ORCA | |
run: | | |
composer self-update | |
composer create-project --no-dev --ignore-platform-req=php acquia/orca ../orca "$ORCA_VERSION" -n | |
curl https://gist.githubusercontent.com/rajeshreeputra/170586f217b422eb9cdfd9ca9457a2e3/raw/c2f277ba9005b91d7f662cacf37b3940a66a9b8c/sut-path-reposories.patch | git -C ../orca apply | |
# Remove Drupal core 9.5.x as oldest support in favor of 10.3.x | |
# curl https://gist.githubusercontent.com/vishalkhode1/342a0eee801e51f48b4d9701749c1c94/raw/orca-oldest-support.patch | git -C ../orca apply | |
- name: Configure AWS Credentials | |
uses: aws-actions/configure-aws-credentials@v1 | |
with: | |
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} | |
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} | |
aws-region: ${{ secrets.AWS_DEFAULT_REGION }} | |
- name: Before Install | |
run: | | |
# Remove Acquia CMS modules. | |
# @todo: Remove module from below which you want to make Drupal 11 compatible. | |
composer remove "drupal/acquia_cms_headless" --no-install --no-update | |
# Remove acquia_cms_headless module. | |
rm -fr modules/acquia_cms_headless | |
# Unset the repository path. | |
composer config repositories.acquia_cms_headless --unset | |
# Added below in CI to test acquia_cms on Drupal Core >=9.5. | |
# composer require "drupal/core:>=9.5" --no-update --no-install -d modules/acquia_cms_common | |
# sed -i 's/^core_version_requirement.*/core_version_requirement: ">=9.5"/' modules/acquia_cms_common/acquia_cms_common.info.yml | |
# Remove all PHPunit tests from acquia_cms modules. | |
find modules/*/tests tests/src -type f -name "*Test.php" -exec rm -fr '{}' ';' | |
if [ "${ORCA_JOB}" = "INTEGRATED_TEST_ON_PREVIOUS_MINOR" ]; then | |
# Update drupal/core patch as per Drupal Core version. | |
sed -i 's/2024-01-18\/3370946-page-title-backport-10-2-2_0.patch/2024-01-18\/3370946-page-title-backport-10-1-8.patch/g' modules/acquia_cms_common/composer.json | |
fi | |
../orca/bin/ci/before_install.sh | |
chromedriver --disable-dev-shm-usage --disable-extensions --disable-gpu --headless --no-sandbox --port=4444 & | |
CHROMEDRIVER_PID=$! | |
echo "CHROMEDRIVER_PID=${CHROMEDRIVER_PID}" >> ${GITHUB_ENV} | |
- name: Install | |
shell: 'script -q -e -c "bash {0}"' | |
run: ./tests/ci/install.sh | |
- name: Before script | |
run: ../orca/bin/ci/before_script.sh | |
- name: Script | |
run: ./tests/ci/script.sh | |
- name: Before Cache | |
run: ../orca/bin/ci/before_cache.sh | |
- name: After script | |
run: | | |
kill -0 ${{ env.CHROMEDRIVER_PID }} | |
../orca/bin/ci/after_success.sh | |
../orca/bin/ci/after_failure.sh | |
../orca/bin/ci/after_script.sh | |
# run_update_hooks: | |
# if: ${{ github.event_name == 'pull_request' }} | |
# name: "Module Upgrades" | |
# runs-on: ubuntu-latest | |
# env: | |
# # Set ORCA related environment variables. | |
# ORCA_SUT_NAME: acquia/acquia_cms | |
# ORCA_SUT_BRANCH: develop | |
# ORCA_PACKAGES_CONFIG_ALTER: ../acquia_cms/tests/packages_alter.yml | |
# ORCA_FIXTURE_PROJECT_TEMPLATE: acquia/drupal-recommended-project | |
# ORCA_ENABLE_NIGHTWATCH: "FALSE" | |
# ORCA_SUT_DIR: /home/runner/work/acquia_cms/acquia_cms | |
# | |
# # Set Required API Keys. | |
# CONNECTOR_ID: ${{ secrets.CONNECTOR_ID }} | |
# SEARCH_UUID: ${{ secrets.SEARCH_UUID }} | |
# CONNECTOR_KEY: ${{ secrets.CONNECTOR_KEY }} | |
# GMAPS_KEY: ${{ secrets.GMAPS_KEY }} | |
# SITESTUDIO_API_KEY: ${{ secrets.SITESTUDIO_API_KEY }} | |
# SITESTUDIO_ORG_KEY: ${{ secrets.SITESTUDIO_ORG_KEY }} | |
# | |
# #Add other required environment variables. | |
# COMPOSER_PROCESS_TIMEOUT: 1800 | |
# CI: true | |
# GIT_AUTHOR_NAME: "Github Actions" | |
# GIT_AUTHOR_EMAIL: "[email protected]" | |
# | |
# GIT_COMMITTER_NAME: "Github Actions" | |
# GIT_COMMITTER_EMAIL: "[email protected]" | |
# ORCA_JOB: ISOLATED_TEST_ON_CURRENT | |
# ACMS_JOB: "upgrade_modules" | |
# strategy: | |
# fail-fast: false | |
# #php-version: [ "8.1" ] | |
# steps: | |
# - uses: actions/checkout@v4 | |
# - name: Use Node.js 20.x | |
# uses: actions/setup-node@v4 | |
# with: | |
# node-version: 20.x | |
# - uses: shivammathur/setup-php@v2 | |
# with: | |
# php-version: 8.3 | |
# #coverage: xdebug | |
# - name: Setup MySQL | |
# run: | | |
# sudo /etc/init.d/mysql start | |
# mysql -uroot -proot < ./tests/ci/install.sql | |
# - name: Download ORCA | |
# run: | | |
# composer self-update | |
# composer create-project --no-dev --ignore-platform-req=php acquia/orca ../orca "$ORCA_VERSION" -n | |
# curl https://gist.githubusercontent.com/rajeshreeputra/170586f217b422eb9cdfd9ca9457a2e3/raw/c2f277ba9005b91d7f662cacf37b3940a66a9b8c/sut-path-reposories.patch | git -C ../orca apply | |
# curl https://gist.githubusercontent.com/rajeshreeputra/efe6fd50fc839e0e05480a5eb58d1ba4/raw/c5e81aa3c0fba9f4abe42460f3d24c7ca976a527/remove-local-settings.patch | git -C ../orca apply | |
# - name: Before Install | |
# run: | | |
# # Added below in CI to test acquia_cms on Drupal Core >=9.5. | |
# composer require "drupal/core:>=9.5" --no-update --no-install -d modules/acquia_cms_common | |
# sed -i 's/^core_version_requirement.*/core_version_requirement: ">=9.5"/' modules/acquia_cms_common/acquia_cms_common.info.yml | |
# ./tests/ci/before_install.blt.sh | |
# - name: Install | |
# shell: 'script -q -e -c "bash {0}"' | |
# run: ./tests/ci/install.sh | |
# - name: Run Update hooks | |
# shell: 'script -q -e -c "bash {0}"' | |
# run: ./tests/ci/run_update_hooks.sh | |
# env: | |
# # @see ./tests/ci/before_install.blt.sh | |
# DRUPAL_ORG_CHANGES: ${{ env.DRUPAL_ORG_CHANGES }} | |
# - name: Script - run backstop tests | |
# run: | | |
# source ../orca/bin/ci/_includes.sh | |
# cd ${ORCA_FIXTURE_DIR} | |
# chromedriver --disable-dev-shm-usage --disable-extensions --disable-gpu --headless --no-sandbox --port=4444 & | |
# CHROMEDRIVER_PID=$! | |
# echo "CHROMEDRIVER_PID=${CHROMEDRIVER_PID}" >> ${GITHUB_ENV} | |
# ./vendor/bin/drush en acquia_cms_development -y | |
# ./vendor/bin/drush en acquia_cms_starter -y | |
# ./vendor/bin/drush cr | |
# cd ${ORCA_SUT_DIR} | |
# ./tests/ci/script.sh | |
# Deploy code to drupal.org. | |
deploy_code: | |
if: ${{ github.ref == 'refs/heads/main' && github.event_name == 'push' }} | |
name: "Continuous Deployment (CD)" | |
env: | |
GIT_AUTHOR_NAME: "Vishal Khode" | |
GIT_COMMITTER_NAME: "Vishal Khode" | |
GIT_COMMITTER_EMAIL: "[email protected]" | |
GIT_AUTHOR_EMAIL: "[email protected]" | |
AWS_S3_BUCKET_PATH: s3://acquia-cms-artifacts | |
runs-on: ubuntu-latest | |
environment: code_deployment | |
concurrency: production | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- name: Configure SSH keys | |
run: | | |
mkdir -p ~/.ssh | |
echo "${DRUPAL_SSH_PRIVATE_KEY}" > ~/.ssh/id_rsa | |
chmod 600 ~/.ssh/id_rsa | |
eval `ssh-agent -s` | |
ssh-add ~/.ssh/id_rsa | |
ssh-keyscan "${DRUPAL_SSH_KNOWN_HOSTS}" >> ~/.ssh/known_hosts | |
shell: bash | |
env: | |
DRUPAL_SSH_PRIVATE_KEY: ${{ secrets.DRUPAL_SSH_PRIVATE_KEY }} | |
DRUPAL_SSH_KNOWN_HOSTS: git.drupal.org | |
- name: Configure AWS Credentials | |
uses: aws-actions/configure-aws-credentials@v1 | |
with: | |
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} | |
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} | |
aws-region: ${{ secrets.AWS_DEFAULT_REGION }} | |
- name: Download Splitsh-lite | |
run: | | |
cd ${GITHUB_WORKSPACE}/scripts/ | |
aws s3 cp ${AWS_S3_BUCKET_PATH}/splitsh-lite/lite_linux_amd64.tar.gz . && tar xvzf lite_linux_amd64.tar.gz | |
chmod +x splitsh-lite | |
cd - | |
- name: deploy_code | |
run: | | |
${GITHUB_WORKSPACE}/scripts/deploy_code.sh |