Merge pull request #1907 from acquia/ACMS-4329 #4514
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 | |
env: | |
ORCA_VERSION: ^4 | |
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_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: ../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: | | |
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 | |
composer config extra."drupal-scaffold".file-mapping {} --json -d ${ORCA_SUT_DIR} | |
# - 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: | | |
# 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 | |
# 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 | |
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 | |
composer config extra."drupal-scaffold".file-mapping {} --json -d ${ORCA_SUT_DIR} | |
- name: Before Install | |
run: | | |
# 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 | |
composer config extra."drupal-scaffold".file-mapping {} --json -d ${ORCA_SUT_DIR} | |
- 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 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: "github-actions@exmaple.com" | |
# | |
# GIT_COMMITTER_NAME: "Github Actions" | |
# GIT_COMMITTER_EMAIL: "github-actions@exmaple.com" | |
# 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: | | |
# ./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: "vishal.khode@acquia.com" | |
GIT_AUTHOR_EMAIL: "vishal.khode@acquia.com" | |
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 |