Justafish/issue 204 acquia integration v3 #2033
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: Test Functional Tests | |
on: | |
push: | |
branches: | |
- main | |
pull_request: | |
types: [opened, synchronize, reopened] | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} | |
cancel-in-progress: true | |
jobs: | |
Build: | |
runs-on: ubuntu-24.04 | |
strategy: | |
matrix: | |
drupal-version: [ 10, 11 ] | |
steps: | |
- name: Create a Drupal project | |
run: composer create-project drupal/recommended-project:^${{ matrix.drupal-version }} . --ignore-platform-reqs | |
- uses: actions/checkout@v4 | |
with: | |
path: drainpipe | |
- name: Setup drainpipe-dev | |
run: mv drainpipe/drainpipe-dev . | |
- uses: ./drainpipe/scaffold/github/actions/common/set-env | |
- name: Install DDEV | |
uses: ./drainpipe/scaffold/github/actions/common/ddev | |
with: | |
git-name: Drainpipe Bot | |
git-email: no-reply@example.com | |
- name: Setup Project | |
run: | | |
ddev config --auto | |
ddev config --nodejs-version "22" | |
ddev config --corepack-enable | |
ddev start | |
ddev exec --raw composer config extra.drupal-scaffold.gitignore true | |
ddev exec --raw composer config --json extra.drupal-scaffold.allowed-packages '["lullabot/drainpipe-dev", "lullabot/drainpipe"]' | |
ddev exec --raw composer config --no-plugins allow-plugins.composer/installers true | |
ddev exec --raw composer config --no-plugins allow-plugins.drupal/core-composer-scaffold true | |
ddev exec --raw composer config --no-plugins allow-plugins.lullabot/drainpipe true | |
ddev exec --raw composer config --no-plugins allow-plugins.lullabot/drainpipe-dev true | |
ddev exec --raw composer config repositories.drainpipe --json '{"type": "path", "url": "drainpipe", "options": {"symlink": false}}' | |
ddev exec --raw composer config repositories.drainpipe-dev --json '{"type": "path", "url": "drainpipe-dev", "options": {"symlink": false}}' | |
ddev exec --raw composer config minimum-stability dev | |
ddev composer require "lullabot/drainpipe @dev" --with-all-dependencies | |
ddev composer require "lullabot/drainpipe-dev @dev" --dev --with-all-dependencies | |
git config --global user.email "no-reply@example.com" | |
git config --global user.name "Drainpipe Bot" | |
git init | |
echo "/drainpipe" >> .gitignore | |
echo "/drainpipe-dev" >> .gitignore | |
echo ".ddev/config.yaml" >> .gitignore | |
echo ".ddev/docker-compose.selenium.yaml" >> .gitignore | |
echo ".yarnrc.yml" >> .gitignore | |
echo "package.json" >> .gitignore | |
echo "yarn.lock" >> .gitignore | |
echo "package-lock.json" >> .gitignore | |
echo "README.md" >> .gitignore | |
git add . | |
git commit -m "Initial commit" | |
- name: Setup Nightwatch | |
run: | | |
echo "hooks:" >> .ddev/config.yaml | |
echo " post-start:" >> .ddev/config.yaml | |
echo " - exec: mysql -uroot -proot -hdb -e \"CREATE DATABASE IF NOT EXISTS firefox; GRANT ALL ON firefox.* TO 'db'@'%';\"" >> .ddev/config.yaml | |
echo " - exec: mysql -uroot -proot -hdb -e \"CREATE DATABASE IF NOT EXISTS chrome; GRANT ALL ON chrome.* TO 'db'@'%';\"" >> .ddev/config.yaml | |
ddev config --web-environment="NIGHTWATCH_DRUPAL_URL_FIREFOX=https://drupal_firefox,NIGHTWATCH_DRUPAL_URL_CHROME=https://drupal_chrome" | |
ddev config --additional-hostnames="*.drainpipe" | |
- name: Run the site installer | |
run: | | |
ddev drush --yes site:install minimal | |
ddev drush config:export --yes | |
- name: Create Artifact | |
run: zip -r /tmp/drainpipe.zip ./ | |
- name: Upload Artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: test-functional-build-${{ matrix.drupal-version }} | |
path: /tmp/drainpipe.zip | |
Test-NPM: | |
runs-on: ubuntu-24.04 | |
needs: Build | |
strategy: | |
matrix: | |
drupal-version: [ 10, 11 ] | |
steps: | |
- uses: actions/download-artifact@v4 | |
with: | |
name: test-functional-build-${{ matrix.drupal-version }} | |
- name: Restore Workspace | |
run: | | |
cd ../ | |
mv ${{ github.workspace }}/drainpipe.zip /tmp/drainpipe.zip | |
unzip -o /tmp/drainpipe.zip -d ${{ github.workspace }} | |
cd ${{ github.workspace }} | |
- uses: ./drainpipe/scaffold/github/actions/common/set-env | |
- name: Install DDEV | |
uses: ./drainpipe/scaffold/github/actions/common/ddev | |
with: | |
git-name: Drainpipe Bot | |
git-email: no-reply@example.com | |
- name: Start DDEV | |
run: ddev start | |
- name: Setup Nightwatch | |
run: | | |
ddev npm init -y | |
ddev npm install nightwatch nightwatch-accessibility @lullabot/nightwatch-drupal-commands lodash --save-dev | |
- name: Install Drupal | |
run: | | |
ddev task test:siteinstall:all | |
- name: Run Functional Tests | |
run: ddev task test:functional | |
- name: Upload test artifacts | |
if: ${{ always() }} | |
uses: actions/upload-artifact@v4 | |
with: | |
name: test_result-npm-${{ matrix.drupal-version }} | |
path: test_result | |
Test-Yarn-Classic: | |
runs-on: ubuntu-24.04 | |
needs: Build | |
strategy: | |
matrix: | |
drupal-version: [ 10, 11 ] | |
steps: | |
- uses: actions/download-artifact@v4 | |
with: | |
name: test-functional-build-${{ matrix.drupal-version }} | |
- name: Restore Workspace | |
run: | | |
cd ../ | |
mv ${{ github.workspace }}/drainpipe.zip /tmp/drainpipe.zip | |
unzip -o /tmp/drainpipe.zip -d ${{ github.workspace }} | |
cd ${{ github.workspace }} | |
- uses: ./drainpipe/scaffold/github/actions/common/set-env | |
- name: Install DDEV | |
uses: ./drainpipe/scaffold/github/actions/common/ddev | |
with: | |
git-name: Drainpipe Bot | |
git-email: no-reply@example.com# | |
- name: Start DDEV | |
run: ddev start | |
- name: Setup Nightwatch | |
run: | | |
ddev exec corepack disable | |
ddev exec npm i -g yarn@1.22.1 | |
ddev exec 'rm /usr/local/bin/yarn' | |
ddev exec 'ln -s $(npm root -g)/yarn/bin/yarn /usr/local/bin/yarn' | |
ddev yarn init -y | |
ddev yarn add nightwatch nightwatch-accessibility @lullabot/nightwatch-drupal-commands lodash --dev | |
- name: Install Drupal | |
run: | | |
ddev task test:siteinstall:all | |
- name: Run Functional Tests | |
run: ddev task test:functional | |
- name: Upload test artifacts | |
if: ${{ always() }} | |
uses: actions/upload-artifact@v4 | |
with: | |
name: test_result-yarn-classic-${{ matrix.drupal-version }} | |
path: test_result | |
Test-Yarn-3-Node-Linker: | |
runs-on: ubuntu-24.04 | |
needs: Build | |
strategy: | |
matrix: | |
drupal-version: [ 10, 11 ] | |
steps: | |
- uses: actions/download-artifact@v4 | |
with: | |
name: test-functional-build-${{ matrix.drupal-version }} | |
- name: Restore Workspace | |
run: | | |
cd ../ | |
mv ${{ github.workspace }}/drainpipe.zip /tmp/drainpipe.zip | |
unzip -o /tmp/drainpipe.zip -d ${{ github.workspace }} | |
cd ${{ github.workspace }} | |
- uses: ./drainpipe/scaffold/github/actions/common/set-env | |
- name: Install DDEV | |
uses: ./drainpipe/scaffold/github/actions/common/ddev | |
with: | |
git-name: Drainpipe Bot | |
git-email: no-reply@example.com# | |
- name: Start DDEV | |
run: ddev start | |
- name: Setup Nightwatch | |
run: | | |
ddev yarn set version berry | |
ddev yarn set version 3 | |
ddev yarn init -y | |
ddev yarn config set nodeLinker node-modules | |
ddev yarn add nightwatch nightwatch-accessibility @lullabot/nightwatch-drupal-commands lodash --dev | |
- name: Install Drupal | |
run: | | |
ddev task test:siteinstall:all | |
- name: Run Functional Tests | |
run: ddev task test:functional | |
- name: Upload test artifacts | |
if: ${{ always() }} | |
uses: actions/upload-artifact@v4 | |
with: | |
name: test_result-yarn3-nl-${{ matrix.drupal-version }} | |
path: test_result | |
Test-Yarn-4-Node-Linker: | |
runs-on: ubuntu-24.04 | |
needs: Build | |
strategy: | |
matrix: | |
drupal-version: [ 10, 11 ] | |
steps: | |
- uses: actions/download-artifact@v4 | |
with: | |
name: test-functional-build-${{ matrix.drupal-version }} | |
- name: Restore Workspace | |
run: | | |
cd ../ | |
mv ${{ github.workspace }}/drainpipe.zip /tmp/drainpipe.zip | |
unzip -o /tmp/drainpipe.zip -d ${{ github.workspace }} | |
cd ${{ github.workspace }} | |
- uses: ./drainpipe/scaffold/github/actions/common/set-env | |
- name: Install DDEV | |
uses: ./drainpipe/scaffold/github/actions/common/ddev | |
with: | |
git-name: Drainpipe Bot | |
git-email: no-reply@example.com# | |
- name: Start DDEV | |
run: ddev start | |
- name: Setup Nightwatch | |
run: | | |
ddev restart | |
ddev yarn set version berry | |
ddev yarn set version 4 | |
ddev yarn init -y | |
ddev yarn config set nodeLinker node-modules | |
ddev yarn add nightwatch nightwatch-accessibility @lullabot/nightwatch-drupal-commands lodash --dev | |
- name: Install Drupal | |
run: | | |
ddev task test:siteinstall:all | |
- name: Run Functional Tests | |
run: ddev task test:functional | |
- name: Upload test artifacts | |
if: ${{ always() }} | |
uses: actions/upload-artifact@v4 | |
with: | |
name: test_result-yarn4-nl-${{ matrix.drupal-version }} | |
path: test_result | |
Test-Yarn-3: | |
runs-on: ubuntu-24.04 | |
needs: Build | |
strategy: | |
matrix: | |
drupal-version: [ 10, 11 ] | |
steps: | |
- uses: actions/download-artifact@v4 | |
with: | |
name: test-functional-build-${{ matrix.drupal-version }} | |
- name: Restore Workspace | |
run: | | |
cd ../ | |
mv ${{ github.workspace }}/drainpipe.zip /tmp/drainpipe.zip | |
unzip -o /tmp/drainpipe.zip -d ${{ github.workspace }} | |
cd ${{ github.workspace }} | |
- uses: ./drainpipe/scaffold/github/actions/common/set-env | |
- name: Install DDEV | |
uses: ./drainpipe/scaffold/github/actions/common/ddev | |
with: | |
git-name: Drainpipe Bot | |
git-email: no-reply@example.com# | |
- name: Start DDEV | |
run: ddev start | |
- name: Setup Nightwatch | |
run: | | |
ddev yarn set version berry | |
ddev yarn set version 3 | |
ddev yarn init -y | |
echo "packageExtensions:" >> .yarnrc.yml | |
echo ' "nightwatch@*":' >> .yarnrc.yml | |
echo ' dependencies:' >> .yarnrc.yml | |
echo ' ws: "*"' >> .yarnrc.yml | |
echo ' "@nightwatch/vrt@*":' >> .yarnrc.yml | |
echo ' dependencies:' >> .yarnrc.yml | |
echo ' open: "^8"' >> .yarnrc.yml | |
ddev yarn add nightwatch nightwatch-axe-verbose @nightwatch/vrt @lullabot/nightwatch-drupal-commands --dev | |
- name: Install Drupal | |
run: | | |
ddev task test:siteinstall:all | |
- name: Run Functional Tests | |
run: ddev task test:functional | |
- name: Upload test artifacts | |
if: ${{ always() }} | |
uses: actions/upload-artifact@v4 | |
with: | |
name: test_result-yarn3-${{ matrix.drupal-version }} | |
path: test_result | |
Test-Yarn-4: | |
runs-on: ubuntu-24.04 | |
needs: Build | |
strategy: | |
matrix: | |
drupal-version: [ 10, 11 ] | |
steps: | |
- uses: actions/download-artifact@v4 | |
with: | |
name: test-functional-build-${{ matrix.drupal-version }} | |
- name: Restore Workspace | |
run: | | |
cd ../ | |
mv ${{ github.workspace }}/drainpipe.zip /tmp/drainpipe.zip | |
unzip -o /tmp/drainpipe.zip -d ${{ github.workspace }} | |
cd ${{ github.workspace }} | |
- uses: ./drainpipe/scaffold/github/actions/common/set-env | |
- name: Install DDEV | |
uses: ./drainpipe/scaffold/github/actions/common/ddev | |
with: | |
git-name: Drainpipe Bot | |
git-email: no-reply@example.com# | |
- name: Start DDEV | |
run: ddev start | |
- name: Setup Nightwatch | |
run: | | |
ddev restart | |
ddev yarn set version berry | |
ddev yarn init -y | |
echo "packageExtensions:" >> .yarnrc.yml | |
echo ' "nightwatch@*":' >> .yarnrc.yml | |
echo ' dependencies:' >> .yarnrc.yml | |
echo ' ws: "*"' >> .yarnrc.yml | |
echo ' "@nightwatch/vrt@*":' >> .yarnrc.yml | |
echo ' dependencies:' >> .yarnrc.yml | |
echo ' open: "^8"' >> .yarnrc.yml | |
ddev yarn cache clear | |
ddev yarn add nightwatch nightwatch-axe-verbose @nightwatch/vrt @nightwatch/vrt @lullabot/nightwatch-drupal-commands --dev | |
- name: Install Drupal | |
run: | | |
ddev task test:siteinstall:all | |
- name: Run Functional Tests | |
run: ddev task test:functional | |
- name: Upload test artifacts | |
if: ${{ always() }} | |
uses: actions/upload-artifact@v4 | |
with: | |
name: test_result-yarn4-${{ matrix.drupal-version }} | |
path: test_result |