This change was necessary since the base mysql image used to build druidfi/db:mysql5.7-drupal
does not seem to support Apple's M1 chip anytime soon.
- Run
drush helfi:tools:update-platform
or update yourdocker-compose.yml
manually.
The Drupal tools aims to provide a way to sync changes made in drupal-helfi-platform
to your project automatically.
- Update your
composer.json
to use correct installer-path: https://github.com/City-of-Helsinki/drupal-helfi-platform/commit/0359fd9d3f82f4d3e51eac5cb872b7ed0b5424c6#diff-d2ab9925cad7eac58e0ff4cc0d251a937ecf49e4b6bf57f8b95aab76648a9d34 - Install the package:
composer require drupal/helfi_drupal_tools
- Run
drush helfi:tools:update-platform
to update changed files. This might require some manual actions, such as moving customsettings.php
changes toall.settings.php
. - Commit or revert changes files.
Added a support for database syncing from dev/testing environment to local.
- Copy contents from
drush/
folder to your project's repository - Copy
tools/make/project/install.mk
and.gitignore
files to your project's repository - Add
OC_PROJECT_NAME=
environment variable to your.env
file. The value should be your project's name in OpenShift - Restart containers (
make stop && make up
)
Run make fresh
to start the database sync.
You can use stage_file_proxy
module to serve files directly from your testing/dev environment without having to sync them to your local environment.
- Copy
settings.php
and addSTAGE_FILE_PROXY_ORIGIN
andSTAGE_FILE_PROXY_ORIGIN_DIR
environment variables to your.env
file - Install and enable
stage_file_proxy
module (composer install drupal/stage_file_proxy
,drush en stage_file_proxy
)
If you store files in azure blob storage then STAGE_FILE_PROXY_ORIGIN
value should be something like https://{storage-accountname}.core.windows.net
and STAGE_FILE_PROXY_ORIGIN_DIR
should be your container's name, for example dev
.
Otherwise STAGE_FILE_PROXY_ORIGIN
should be an URL to your instance (https://nginx-{project}-{env}.agw.arodevtest.hel.fi
) and STAGE_FILE_PROXY_ORIGIN_DIR
is sites/default/files
.
- Remove
docker/local
folder (rm -r docker/local
) - Update value for
DRUPAL_IMAGE
in your.env
file:DRUPAL_IMAGE=ghcr.io/city-of-helsinki/drupal-web:8.0
- Copy
docker-compose.yml
to your project's repository
Tunnistamo module has a major release to support openid_connect:2.0.
- Run
composer require "drupal/helfi_tunnistamo:^2.0" -W
in your project's root - Run database updates:
drush updb -y
- Delete old openid_connect clients:
rm conf/cmi/openid_connect.settings.facebook.yml conf/cmi/openid_connect.settings.generic.yml conf/cmi/openid_connect.settings.github.yml conf/cmi/openid_connect.settings.google.yml conf/cmi/openid_connect.settings.linkedin.yml conf/cmi/openid_connect.settings.tunnistamo.yml
- Re-create tunnistamo client from
/admin/config/people/openid-connect
- Update any settings.php overrides (
settings
key was changed toclient
), for example:$config['openid_connect.settings.tunnistamo']['settings']['is_production']
should now be$config['openid_connect.client.tunnistamo']['settings']['is_production']
.
Update/install instructions for:
- drupal-helfi-platform-config 2.0.0
- Install the site with your current configuration by running either
make new
ormake fresh
. - When the site is up and running, run
composer require drupal/helfi_platform_config:^2.0 --with-all-dependencies
to retrieve the new version of HELfi Platform config. - Run updates and export the configurations by running
make drush-updb drush-cr drush-cex
. - Go through configuration changes from
/conf/cmi/
and revert/modify any changes what will override your customised configurations. - Commit the changes to your repository.
At the moment the deploy script is run every time a container replica is started. This can lead to a race condition when multiple containers are running deploy script at the same time, corrupting the entire configuration stack.
Replace your existing docker/openshift/entrypoints/20-deploy.sh
with the updated one from this repository.
Update/install instructions for:
- drupal-helfi-platform-config 1.3.0
- Update the HELfi platform config module by running:
composer require drupal/helfi_platform_config:1.3.0 --with-all-dependencies
. - Update your current Easy breadcrumb configuration file by copying the default settings file from
/public/modules/contrib/helfi_platform_config/features/helfi_base_config/config/install/easy_breadcrumb.settings.yml
to/conf/cmi
. Do not forget to change any previously made changes to what was made to the file. - Commit the configurations changes to your repository.
Deploy script was previously meant to be run after nginx process was started, causing it to never run. This should be fixed now.
You can either remove entire docker/openshift
folder and replace it with docker/openshift
folder from this repository or:
- Remove
docker/openshift/entrypoints/90-deploy.sh
file from your repository and replace it withdocker/openshift/entrypoints/20-deploy.sh
from platform's repository. - Modify
docker/openshift/Dockerfile
file and change lines containing90-deploy.sh
to20-deploy.sh
.
Added support to run crons on OpenShift environment. See docker/openshift/README.md for more information.
- Copy contents from docker/openshift folder to your repository's
docker/openshift
folder. - This change requires actions from IBM. Use helsinkisolutionoffice JIRA to create a ticket labeled
Drupal cron support: {project name}
and assign it to your project's EPIC.
Update/install instructions for:
- drupal-hdbt 1.3.5
- drupal-helfi-platform-config 1.2.6
composer update
// Update dependencies.make shell
// Log in to shelldrush features:import helfi_content -y
// Revert the Helfi content configuration feature.- Exit shell.
make drush-cr drush-cex
// Rebuild caches, Export configurations.- Check that the configuration changes hasn’t overridden any of your custom modifications.
- Commit the configurations changes to your repository.
Update/install instructions for:
- drupal-hdbt 1.3.4
- drupal-helfi-platform-config 1.2.5
composer update
// Update dependencies.make shell
// Log in to shelldrush features:import helfi_base_config -y
// Revert the Helfi base configuration feature.- Exit shell.
make drush-updb drush-cr drush-cex
// Run updates; Update theme blocks. ( hdbt_content 9001 ), Rebuild caches, Export configurations.- Check that the configuration changes hasn't overridden any of your custom modifications.
- Commit the configurations changes to your repository.
Updated Stonehenge to 3.x version. IMPORTANT: This contains backward incompatible changes and requires manual actions.
Stonehenge 3.x changed the default domain from *.docker.sh
to *.docker.so
.
To update any existing project to use Stonehenge 3.x:
- Go to your stonehenge installation folder and run
git pull && git checkout 3.x
- Run
make down && make up
(in stonehenge's installation folder) - Update your project's
.env
andREADME.md
with new*.docker.so
domain - Restart project's docker containers (
make stop && make up
)
Added new Docker base images. NOTE: This change needs to be coordinated with IBM. Use helsinkisolutionoffice JIRA to create a ticket where you coordinate this change. For example: https://helsinkisolutionoffice.atlassian.net/browse/PLATTA-749
Available PHP versions: 8.0 and 7.4 (8.0 is used by default).
- Copy contents from platform's docker/ directory to your repository's
docker/
folder - Update your repository's .env file to use correct image (commit):
-DRUPAL_IMAGE=druidfi/drupal:7.4-web
+DRUPAL_IMAGE=druidfi/drupal:8.0-web
- Run
docker-compose build
andmake stop && make start
inside your project to update your local environment to use PHP 8.0. - Update your repository's .github/workflows/test.yml to run tests with PHP 8 (commit):
-image: ghcr.io/city-of-helsinki/drupal-php-docker:7.4
+image: ghcr.io/city-of-helsinki/drupal-php-docker:8.0
PHP version can be changed by modifying docker/openshift/Dockerfile and docker/local/Dockerfile and changing the version tag from 8.0 to 7.4 (not recommended).
Added Admin toolbar (admin_toolbar
) as a dependency for the helfi-platform-config.
- In case of an error
"Unable to install HELfi Base config module since it requires the Admin Toolbar Extra Tools, Configuration replace, Field group modules."
- Enable the modules manually, export the configuration and commit the changes to your repository.
drush en -y admin_toolbar_tools config_replace field_group && drush cex -y
- Enable the modules manually, export the configuration and commit the changes to your repository.
Converted hdbt
and hdbt_admin
to be drupal-themes
s instead of drupal-custom-themes
s, meaning that they will be installed inside themes/contrib
folder from now on.
You can update existing themes with composer update drupal/hdbt
and composer update drupal/hdbt_admin
and then run drush cr
.
- Update paths on
conf/cmi/select2_icon.settings.yml
to point to/themes/contrib/hdbt/
instead of the current/themes/custom/hdbt/
.
Converted all helfi_
to be drupal-module
s instead of drupal-custom-module
s, meaning that they will be installed inside modules/contrib
folder from now on.
You can update existing modules with composer update drupal/helfi_*
and then run drush cr
.
- Replace your
phpunit.xml.dist
with updated one.
Excluded all helfi_
prefixed modules from phpunit tests (see phpunit.xml.dist) by default. Use phpunit.platform.xml
(vendor/bin/phpunit -c phpunit.platform.xml
) to run ALL tests, including custom helfi modules.