fix(deps): update symfony packages to v7 (major) #1812
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 Tugboat" | |
on: | |
pull_request: | |
types: [opened, synchronize, reopened] | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} | |
cancel-in-progress: true | |
jobs: | |
Test-Tugboat: | |
runs-on: ubuntu-24.04 | |
steps: | |
- name: Create a Drupal project | |
run: composer create-project drupal/recommended-project . --ignore-platform-reqs | |
- uses: actions/checkout@v4 | |
with: | |
path: drainpipe | |
- 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: [email protected] | |
ssh-private-key: ${{ secrets.SSH_PRIVATE_KEY }} | |
# Lock in versions so tests know what to expect. | |
# Redis tag v1.2.0 == 6-bullseye | |
# Elasticsearch tag v0.3.2 == 7.17.14 | |
- name: Setup Project | |
run: | | |
ddev config --auto | |
ddev config --php-version "8.3" | |
ddev config --nodejs-version "18" | |
ddev get ddev/ddev-redis --version v1.2.0 | |
ddev get ddev/ddev-elasticsearch --version v0.3.2 | |
ddev restart | |
ddev exec --raw composer config extra.drupal-scaffold.gitignore true | |
ddev exec --raw composer config --json extra.drupal-scaffold.allowed-packages \[\"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 repositories.drainpipe --json '{"type": "path", "url": "drainpipe", "options": {"symlink": false}}' | |
ddev exec --raw composer config minimum-stability dev | |
ddev exec --raw composer config extra.drainpipe --json '{"tugboat": {}}' | |
mkdir -p .tugboat | |
echo "php:" > .tugboat/config.drainpipe-override.yml | |
echo " aliases:" >> .tugboat/config.drainpipe-override.yml | |
echo " - foo" >> .tugboat/config.drainpipe-override.yml | |
echo " urls:" >> .tugboat/config.drainpipe-override.yml | |
echo " - /" >> .tugboat/config.drainpipe-override.yml | |
echo " - /?v=1" >> .tugboat/config.drainpipe-override.yml | |
echo " screenshot:" >> .tugboat/config.drainpipe-override.yml | |
echo " timeout: 45" >> .tugboat/config.drainpipe-override.yml | |
echo " visualdiff:" >> .tugboat/config.drainpipe-override.yml | |
echo " fullPage: false" >> .tugboat/config.drainpipe-override.yml | |
ddev composer require lullabot/drainpipe --with-all-dependencies | |
- name: Add an online step | |
run: | | |
echo " online:tugboat:" >> Taskfile.yml | |
echo " cmds:" >> Taskfile.yml | |
echo " - echo \"Tugboat online\"" >> Taskfile.yml | |
ddev composer install | |
# Compare the generated files to the ones used to build this repository | |
# preview - they should be the same. | |
- name: Test Generated Files | |
run: | | |
diff -up drainpipe/.tugboat/config.yml .tugboat/config.yml | |
sed -i '/#drainpipe-start/,/#drainpipe-end/d' drainpipe/.tugboat/steps/1-init.sh | |
sed -i '/#drainpipe-start/,/#drainpipe-end/d' drainpipe/.tugboat/steps/2-update.sh | |
sed -i '/#drainpipe-start/,/#drainpipe-end/d' drainpipe/.tugboat/steps/3-build.sh | |
sed -i '/#drainpipe-start/,/#drainpipe-end/d' drainpipe/.tugboat/steps/4-online.sh | |
diff -up drainpipe/.tugboat/steps/1-init.sh .tugboat/steps/1-init.sh | |
diff -up drainpipe/.tugboat/steps/2-update.sh .tugboat/steps/2-update.sh | |
diff -up drainpipe/.tugboat/steps/3-build.sh .tugboat/steps/3-build.sh | |
diff -up drainpipe/.tugboat/steps/4-online.sh .tugboat/steps/4-online.sh | |
- name: Add a build:tugboat step | |
run: | | |
echo " build:tugboat:" >> Taskfile.yml | |
echo " cmds:" >> Taskfile.yml | |
echo " - echo \"Tugboat build\"" >> Taskfile.yml | |
ddev composer install | |
if ! grep -q './vendor/bin/task build:tugboat' .tugboat/steps/3-build.sh; then | |
exit 1 | |
fi | |
- name: Upload test artifacts | |
if: ${{ always() }} | |
uses: actions/upload-artifact@v4 | |
with: | |
name: .tugboat | |
path: .tugboat | |
Test-Non-Default-Nodejs: | |
runs-on: ubuntu-24.04 | |
steps: | |
- name: Create a Drupal project | |
run: composer create-project drupal/recommended-project . --ignore-platform-req=ext-gd | |
- uses: actions/checkout@v4 | |
with: | |
path: drainpipe | |
- 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: [email protected] | |
ssh-private-key: ${{ secrets.SSH_PRIVATE_KEY }} | |
- name: Setup Project | |
run: | | |
ddev config --auto | |
ddev config --php-version "8.3" | |
ddev config --nodejs-version "16" | |
ddev restart | |
ddev exec --raw composer config extra.drupal-scaffold.gitignore true | |
ddev exec --raw composer config --json extra.drupal-scaffold.allowed-packages \[\"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 repositories.drainpipe --json '{"type": "path", "url": "drainpipe", "options": {"symlink": false}}' | |
ddev exec --raw composer config minimum-stability dev | |
ddev exec --raw composer config extra.drainpipe --json '{"tugboat": {}}' | |
ddev composer require lullabot/drainpipe --with-all-dependencies | |
- name: Test NODE_MAJOR is correct | |
run: | | |
cat .tugboat/steps/1-init.sh | |
grep -q NODE_MAJOR=16 .tugboat/steps/1-init.sh | |