Acquia CMS CRON #747
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 CRON" | |
on: | |
schedule: | |
- cron: "0 0 * * *" | |
# Set ORCA related environment variables. | |
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_ENABLE_NIGHTWATCH: "FALSE" | |
ORCA_PHPCS_STANDARD: AcquiaPHP | |
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 | |
jobs: | |
static_code_analysis: | |
runs-on: ubuntu-latest | |
env: | |
ORCA_JOB: ${{ matrix.orca-job }} | |
GITHUB_EVENT: $ {{ github.event_name }} | |
JOB_TYPE: "static-code-analysis" | |
strategy: | |
matrix: | |
orca-job: | |
- STATIC_CODE_ANALYSIS | |
- STRICT_DEPRECATED_CODE_SCAN | |
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 | |
- 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 | |
integrated_tests: | |
name: ${{ matrix.acms_job }} (${{ matrix.orca-job }}) | |
runs-on: ubuntu-latest | |
env: | |
ORCA_JOB: ${{ matrix.orca-job }} | |
ACMS_JOB: ${{ matrix.acms_job }} | |
JOB_TYPE: "integrated-tests" | |
strategy: | |
fail-fast: false | |
matrix: | |
orca-job: | |
- INTEGRATED_TEST_ON_LATEST_LTS | |
acms_job: | |
- integrated_php_unit_tests | |
- integrated_existing_site_tests | |
- backstop_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 | |
- 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/vishalkhode1/342a0eee801e51f48b4d9701749c1c94/raw/orca-oldest-support.patch | git -C ../orca apply | |
- name: Before Install | |
run: | | |
# 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 | |
# Change requireSameDimensions to true in backstop settings. | |
if [ "${ACMS_JOB}" = "backstop_tests" ]; then | |
sed -i '54s/"requireSameDimensions": true/"requireSameDimensions": false/' tests/backstop/backstop-settings.js | |
sed -i '111s/"requireSameDimensions": true/"requireSameDimensions": false/' tests/backstop/backstop-settings.js | |
sed -i '130s/"requireSameDimensions": true/"requireSameDimensions": false/' tests/backstop/backstop-settings.js | |
sed -i '149s/"requireSameDimensions": true/"requireSameDimensions": false/' tests/backstop/backstop-settings.js | |
sed -i '168s/"requireSameDimensions": true/"requireSameDimensions": false/' tests/backstop/backstop-settings.js | |
sed -i '187s/"requireSameDimensions": true/"requireSameDimensions": false/' tests/backstop/backstop-settings.js | |
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: | |
name: acquia_cms (${{ matrix.orca-job }}) | |
runs-on: ubuntu-latest | |
env: | |
# Set ORCA related environment variables. | |
ORCA_JOB: ${{ matrix.orca-job }} | |
# Set Required API Keys. | |
MODULES: ${{ matrix.modules }} | |
JOB_TYPE: "isolated-tests" | |
strategy: | |
fail-fast: false | |
matrix: | |
orca-job: | |
- ISOLATED_TEST_ON_CURRENT_DEV | |
- ISOLATED_TEST_ON_NEXT_MINOR_DEV | |
- INTEGRATED_TEST_ON_LATEST_LTS | |
php-version: | |
- 8.1 | |
- 8.3 | |
exclude: | |
- php-version: 8.3 | |
orca-job: INTEGRATED_TEST_ON_LATEST_LTS | |
- php-version: 8.1 | |
orca-job: [ ISOLATED_TEST_ON_CURRENT_DEV, ISOLATED_TEST_ON_NEXT_MINOR_DEV] | |
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: 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/vishalkhode1/342a0eee801e51f48b4d9701749c1c94/raw/orca-oldest-support.patch | git -C ../orca apply | |
- name: Before Install | |
run: | | |
# Do not run any existing site tests. We run them seperately. | |
find tests/src modules -type f -name "*Test.php" -path "*/ExistingSite*/*" -exec rm -fr '{}' ';' | |
../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 | |
blt_test: | |
name: "BLT site install" | |
runs-on: ubuntu-latest | |
env: | |
# Provide your package's name. | |
ACMS_JOB: "blt" | |
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: ISOLATED_TEST_ON_CURRENT | |
# Set Required API Keys. | |
CONNECTOR_ID: ${{ secrets.CONNECTOR_ID }} | |
GMAPS_KEY: ${{ secrets.GMAPS_KEY }} | |
SEARCH_UUID: ${{ secrets.SEARCH_UUID }} | |
SITESTUDIO_API_KEY: ${{ secrets.SITESTUDIO_API_KEY }} | |
SITESTUDIO_ORG_KEY: ${{ secrets.SITESTUDIO_ORG_KEY }} | |
CI: true | |
UUID: "80f92d63-154b-4672-a6f3-831c97ad69da" | |
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 | |
- 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 | |
- 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: BLT Site Install | |
shell: 'script -q -e -c "bash {0}"' | |
run: ./tests/ci/blt_si.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 | |
cypress_tests: | |
name: Cypress Tests with ${{ matrix.orca-job }} on PHP ${{ matrix.php-version }} | |
runs-on: ubuntu-latest | |
env: | |
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 }} | |
CONNECTOR_ID: ${{ secrets.CONNECTOR_ID }} | |
GMAPS_KEY: ${{ secrets.GMAPS_KEY }} | |
SEARCH_UUID: ${{ secrets.SEARCH_UUID }} | |
SITESTUDIO_API_KEY: ${{ secrets.SITESTUDIO_API_KEY }} | |
SITESTUDIO_ORG_KEY: ${{ secrets.SITESTUDIO_ORG_KEY }} | |
ACMS_JOB: "cypress_tests" | |
JOB_TYPE: "integrated-tests" | |
CI: true | |
strategy: | |
fail-fast: false | |
matrix: | |
orca-job: | |
- ISOLATED_TEST_ON_CURRENT | |
- INTEGRATED_TEST_ON_PREVIOUS_MINOR | |
php-version: | |
- 8.3 | |
# exclude: | |
# - php-version: 8.3 | |
# orca-job: INTEGRATED_TEST_ON_PREVIOUS_MINOR | |
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 | |
curl https://gist.githubusercontent.com/vishalkhode1/342a0eee801e51f48b4d9701749c1c94/raw/orca-oldest-support.patch | git -C ../orca apply | |
- 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 '{}' ';' | |
../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 | |
dev_version_test: | |
name: ${{ matrix.acms_job }} (${{ matrix.modules }}) | |
runs-on: ubuntu-latest | |
env: | |
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 }} | |
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" | |
MODULE: ${{ matrix.modules }} | |
CI: true | |
strategy: | |
fail-fast: false | |
matrix: | |
orca-job: | |
- ISOLATED_TEST_ON_CURRENT | |
acms_job: | |
- dev_version_test | |
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@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 | |
- 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 | |
- name: Before Install | |
run: | | |
# Update the CI by altering modules requirement version. | |
sed -i 's/"drupal\/next": "^1.6"/"drupal\/next": "^1.0"/' modules/acquia_cms_headless/composer.json | |
sed -i 's/"drupal\/facets": "2.0.7"/"drupal\/facets": "^2.0.7"/' modules/acquia_cms_search/composer.json | |
sed -i 's/"drupal\/search_api": "1.30 || 1.31"/"drupal\/search_api": "^1.30"/' modules/acquia_cms_search/composer.json | |
# 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 |