Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 2 additions & 12 deletions .github/workflows/TestTugboat.yml
Original file line number Diff line number Diff line change
Expand Up @@ -62,23 +62,14 @@ jobs:

- name: Install Drainpipe, again, now with Taskfile updated
run: |

ddev composer require lullabot/drainpipe --with-all-dependencies

# Compare the generated files to the ones used to build this repository
# preview - they should be the same.
- name: Test Generated Files
run: |

sed -i '/#drainpipe-start/,/#drainpipe-end/d' drainpipe/.tugboat/config.yml
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

# Run the online task to generate drush/drush.yml.
ddev task tugboat:drush-uli-ready
Expand Down Expand Up @@ -119,7 +110,6 @@ jobs:
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\"]
Expand All @@ -135,6 +125,6 @@ jobs:
- name: Test NODE_MAJOR is correct
run: |
export TUGBOAT_ROOT=. && \
eval "$(grep 'NODE_MAJOR=' .tugboat/steps/1-init.sh)" && \
eval "$(grep 'NODE_MAJOR=' .tugboat/config.yml)" && \
echo $NODE_MAJOR | grep -q 16

89 changes: 81 additions & 8 deletions .tugboat/config.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
# DO NOT EDIT THIS FILE
# This file is controlled by Drainpipe, run composer install to apply pending
# updates. You can add values to the php service using .tugboat/config.drainpipe-override.yml.
# updates. You can add values to the php and solr services adding a file named
# config.drainpipe-override.yml to the .tugboat folder.
#
# Example config.drainpipe-override.yml
# php:
Expand All @@ -19,17 +20,89 @@ services:
http: false
image: tugboatqa/php-nginx:8.3-fpm-bookworm
default: true

depends:
- mariadb
- redis

- elasticsearch
commands:
init: ./.tugboat/steps/1-init.sh
update: ./.tugboat/steps/2-update.sh
build: ./.tugboat/steps/3-build.sh
online: ./.tugboat/steps/4-online.sh

init:
- |
apt-get update
apt-get install -y mariadb-client
ln -snf "${TUGBOAT_ROOT}/web" "${DOCROOT}"
docker-php-ext-install opcache
apt-get install -y libpng-dev libjpeg-dev libfreetype6-dev
apt-get install -y libwebp-dev libwebp7 webp libmagickwand-dev
docker-php-ext-configure gd --with-freetype --with-jpeg --with-webp
docker-php-ext-install gd
apt-get install -y imagemagick
yes '' | pecl install -f redis
echo 'extension=redis.so' > /usr/local/etc/php/conf.d/redis.ini
#drainpipe-start
# This is necessary for testing as this repository doesn't hold a Drupal site.
shopt -s dotglob
rm -rf /var/www/html/*
composer create-project drupal/recommended-project /var/www/html
ln -snf "/var/www/html/web" "${DOCROOT}"
cd /var/www/html
composer config extra.drupal-scaffold.gitignore true
composer config --json extra.drupal-scaffold.allowed-packages \[\"lullabot/drainpipe\"]
composer config --no-plugins allow-plugins.composer/installers true
composer config --no-plugins allow-plugins.drupal/core-composer-scaffold true
composer config --no-plugins allow-plugins.lullabot/drainpipe true
composer config repositories.drainpipe --json "{\"type\": \"path\", \"url\": \"${TUGBOAT_ROOT}\", \"options\": {\"symlink\": true}}"
composer config extra.drainpipe --json '{"tugboat": {}}'
composer config minimum-stability dev
composer require lullabot/drainpipe --with-all-dependencies
cp web/sites/default/default.settings.php web/sites/default/settings.php
#drainpipe-end
mkdir -p "${DOCROOT}/sites/default/files"
chmod 777 "${DOCROOT}/sites/default/files"
chgrp -R www-data "${DOCROOT}/sites/default/files"
composer install
apt-get install -y ca-certificates gnupg
mkdir -p /etc/apt/keyrings
curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | sudo gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg
NODE_MAJOR=$(cat ${TUGBOAT_ROOT}/.nvmrc)
echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_$NODE_MAJOR.x nodistro main" | sudo tee /etc/apt/sources.list.d/nodesource.list
echo 'Package: *' > /etc/apt/preferences.d/nodesource-nodejs
echo 'Pin: origin deb.nodesource.com' >> /etc/apt/preferences.d/nodesource-nodejs
echo 'Pin-Priority: 1001' >> /etc/apt/preferences.d/nodesource-nodejs
apt-get update
apt-get -qq install nodejs
apt-get clean
corepack enable
nodejs -v | grep -q v$NODE_MAJOR
TASKFILE=$(cat ${TUGBOAT_ROOT}/vendor/lullabot/drainpipe/.taskfile)
sh -c "$(curl --location https://taskfile.dev/install.sh)" -- -d ${TASKFILE} -b /usr/local/bin
update:
- |
#drainpipe-start
cd /var/www/html
composer install
task sync
#drainpipe-end
composer install
chmod 755 ${DOCROOT}/sites/default
chgrp -R www-data "${DOCROOT}/sites/default/files"
find "${DOCROOT}/sites/default/files" -type d -exec chmod 2775 {} \;
find "${DOCROOT}/sites/default/files" -type f -exec chmod 0664 {} \;
#drainpipe-start
./vendor/bin/drush config:export --yes
#drainpipe-end
task update
build:
- |
#drainpipe-start
cd /var/www/html
#drainpipe-end
task build
task update
#drainpipe-start
task tugboat:drush-uli-ready
#drainpipe-end
online:
- task online:tugboat
aliases:
- foo
urls:
Expand Down
91 changes: 0 additions & 91 deletions .tugboat/steps/1-init.sh

This file was deleted.

24 changes: 0 additions & 24 deletions .tugboat/steps/2-update.sh

This file was deleted.

15 changes: 0 additions & 15 deletions .tugboat/steps/3-build.sh

This file was deleted.

12 changes: 0 additions & 12 deletions .tugboat/steps/4-online.sh

This file was deleted.

Loading
Loading