Skip to content

Releases: drevops/scaffold

1.22.0

19 Jul 03:47
Compare
Choose a tag to compare

What's new since 1.21.0

Purposely small release to address security issues mitigated in the most recent versions on the container images and switch to PHP 8.3.

🐳 Docker

New features

None

Fixes

Updates

πŸ’§ Drupal

New features

Updates

Fixes

πŸ€– CI and workflow

New features

Fixes

Updates

None

🧩 Integrations

Lagoon

None

Acquia

None

πŸ“ƒ Documentation

None

Scaffold

None

Full Changelog: 1.21.0...1.22.0

@AlexSkrypnyk, @renovate, @renovate[bot] and @tannguyen04

1.21.0

10 May 21:13
Compare
Choose a tag to compare

What's new since 1.20.0

🐳 Docker

New features

None

Fixes

None

Updates

πŸ’§ Drupal

New features

None

Updates

Fixes

  • Fixed a typo in env vars passed to containers in ahoy config + tests. @AlexSkrypnyk (#1291)
  • Fixed outdated PHP plaform version in the composer.json.

πŸ€– CI and workflow

New features

  • [#1315] Added Drupal config dir auto-discovery during provisioning to be based on setting.php. @AlexSkrypnyk (#1316)
  • [#1272] Added Drupal temp and private file dirs passed through env vars DRUPAL_PRIVATE_FILES and DRUPAL_TEMPORARY_FILES. @AlexSkrypnyk (#1314)
  • [#1056] Added support for a webhook notification. @tannguyen04 (#1273)
  • [#768] Added checking for bin existence in scripts. @AlexSkrypnyk (#1276)
  • [#1305] Added tests for Renovate config. @AlexSkrypnyk (#1306)
  • Added Renovate support for updating container images set through variables in docker-compose.yml.

Fixes

Updates

  • Updated CI Runner to 24.4.0. @AlexSkrypnyk (#1277)
  • Updated eps1lon/actions-label-merge-conflict to v3.
  • Updated self-hosted Renovate to major version 37.342.1.
  • Updated output from provision script to be more structural. @AlexSkrypnyk (#1317)

🧩 Integrations

Lagoon

None

Acquia

None

πŸ“ƒ Documentation

Scaffold

Full Changelog: 1.20.0...1.21.0

@AlexSkrypnyk, @renovate, @renovate[bot] and @tannguyen04

1.20.0

16 Apr 11:12
Compare
Choose a tag to compare

What's new since 1.19.0

In this release, the repository was renamed from DrevOps to Scaffold in the preparation to Scaffold 2.0

🐳 Docker

New features

Fixes

None

Updates

πŸ’§ Drupal

New features

Fixes

Updates

πŸ€– CI and workflow

New features

Updates

Fixes

🧩 Integrations

Lagoon

Acquia

None

πŸ“ƒ Documentation

Scaffold

Full Changelog: 1.19.0...1.20.0

@AlexSkrypnyk, @ivangrynenko, @renovate, @renovate[bot], @richardgaunt and @tannguyen04

1.19.0

16 Feb 00:00
Compare
Choose a tag to compare

Release 1.19.0 introduces updates across Docker, Drupal, CI workflows, and DrevOps.

Key highlights include upgrading to PHP 8.2, Docker images to version 24.1.0, and improved compatibility with Solr 8. Added Hadolint to CI for better linting, fixed CI issues, and updated CI configurations for smoother workflows.

Additionally, DrevOps has seen enhancements like moving Installer and DevTool to its own repositories and updating documentation practices.

What's new since 1.18.0

πŸ’§ Drupal

New features

None

Fixes

None

Updates

🐳 Docker

New features

None

Fixes

None

Updates

πŸ€– CI and workflow

New features

Fixes

Updates

🧩 Integrations

Lagoon

Acquia

None

πŸ“ƒ Documentation

None

DrevOps

Full Changelog: 1.18.0...1.19.0

@AlexSkrypnyk, @renovate and @renovate[bot]

1.18.0 Documentation, Rector, image updates

22 Nov 05:17
Compare
Choose a tag to compare

This release focuses on enhancing DevOps workflows and Drupal integration: it introduces the devtool CLI for DrevOps maintenance, Rector for CI, and updates Docker to v23.11.0.

Notably, it allows custom DREVOPS_LOCALDEV_URL settings, aligns composer.json with drupal-project, and renames several environment variables for clarity.

Additionally, it removes one-time login link generation in Drupal and obsolete modules, and updates stage_file_proxy to v2. The release also improves documentation and consolidates shellcheck exceptions for portability.

What's new since 1.17.4

🐳 Docker

New features

Fixes

None

Updates

πŸ’§ Drupal

New features

None

Fixes

Updates

πŸ€– CI and workflow

New features

Updates

  • Removed 'ahoy clean' in favour of ahoy reset and ahoy reset hard. @AlexSkrypnyk (#1079)
  • Renamed environmwent varibales @AlexSkrypnyk (#1075):
    • DREVOPS_DRUPAL_THEME -> DRUPAL_THEME
    • DREVOPS_ENVIRONMENT -> DRUPAL_ENVIRONMENT
    • DREVOPS_DRUPAL_PROFILE -> DRUPAL_PROFILE
    • DREVOPS_REDIS_ENABLED -> DRUPAL_REDIS_ENABLED
    • DREVOPS_CLAMAV_ENABLED -> DRUPAL_CLAMAV_ENABLED
    • CLAMAV_MODE -> DRUPAL_CLAMAV_MODE
    • DREVOPS_DRUPAL_SITE_EMAIL -> DRUPAL_SITE_EMAIL
    • DREVOPS_DRUPAL_DB_SANITIZE_PASSWORD -> DREVOPS_PROVISION_SANITIZE_DB_PASSWORD
    • DREVOPS_DRUPAL_UNBLOCK_ADMIN -> DRUPAL_UNBLOCK_ADMIN
    • DREVOPS_DRUPAL_DB_SANITIZE_REPLACE_USERNAME_WITH_EMAIL -> DREVOPS_PROVISION_SANITIZE_DB_REPLACE_USERNAME_WITH_EMAIL
    • DREVOPS_DRUPAL_DB_SANITIZE_ADDITIONAL_FILE -> DREVOPS_DRUPAL_DB_SANITIZE_ADDITIONAL_FILE

Fixes

None

🧩 Integrations

Lagoon

None (upstream fixes already included in images 23.11.0).

Acquia

None

πŸ“ƒ Documentation

  • Added several documentation sections.

DrevOps

Full Changelog: 1.17.4...1.18.0

@AlexSkrypnyk, @renovate and @renovate[bot]

Updated Docker images to v23.10.0

13 Oct 22:38
Compare
Choose a tag to compare

Fixed installer.

04 Oct 09:08
Compare
Choose a tag to compare

What's new since 1.17.0

Full Changelog: 1.17.0...1.18.0

@AlexSkrypnyk

Coverage, simple tooling config and `provision` command

04 Oct 01:15
Compare
Choose a tag to compare

This release is concentrated around stability and code quality: it brings code coverage, tooling config simplifactions and rename of install-site to provision command.

What's new since 1.16.1

🐳 Docker

New features

None

Fixes

Updates

πŸ’§ Drupal

New features

Fixes

None

Updates

πŸ€– CI and workflow

New features

Updates

  • Renamed site-install to provision and updated env variables. @AlexSkrypnyk (#966) πŸš€πŸš€πŸš€
    • DREVOPS_DRUPAL_INSTALL_FROM_PROFILE βž” DREVOPS_PROVISION_USE_PROFILE
    • DREVOPS_DRUPAL_INSTALL_OVERRIDE_EXISTING_DB βž” DREVOPS_PROVISION_OVERRIDE_DB
    • DREVOPS_DRUPAL_INSTALL_DB_SANITIZE_SKIP βž” DREVOPS_PROVISION_SANITIZE_DB_SKIP
    • DREVOPS_DRUPAL_INSTALL_USE_MAINTENANCE_MODE βž” DREVOPS_PROVISION_USE_MAINTENANCE_MODE
    • DREVOPS_DRUPAL_LOGIN_UNBLOCK_ADMIN βž” DREVOPS_DRUPAL_UNBLOCK_ADMIN
    • DREVOPS_TASK_PURGE_CACHE_ACQUIA_SKIP βž” DREVOPS_PURGE_CACHE_ACQUIA_SKIP
    • DREVOPS_DRUPAL_INSTALL_ENVIRONMENT βž” DREVOPS_PROVISION_ENVIRONMENT
  • Simplified testing tools to use config files. @AlexSkrypnyk (#1016) πŸš€πŸš€πŸš€
  • Simplified linting tools to use config files. @AlexSkrypnyk (#1018) πŸš€πŸš€πŸš€
  • Switched to the renamed CI runner image (drevops/ci-runner). @AlexSkrypnyk (#1024)
  • Update toshimaru/auto-author-assign action to v2 @renovate (#1009)
  • Renamed files with example suffix to use default suffix. @AlexSkrypnyk (#994)
  • Updated email notification script to use sendmail before using mail. @AlexSkrypnyk (#983)

Fixes

🧩 Integrations

Lagoon

None (upstream fixes already included in images 23.9.0).

Acquia

πŸ“ƒ Documentation

DrevOps

Full Changelog: 1.16.1...1.17.0

@AlexSkrypnyk, @renovate and @renovate[bot]

Fixes for Installer, Acquia integrations and site install.

05 Sep 23:57
Compare
Choose a tag to compare

DrevOps has moved to git-flow!
Releases and hotfixes are pushed to main branch, while development takes place in develop branch.
This allows to easier manage hotfixes and release more often.

What's new since 1.16.0

🐳 Docker

New features

None

Fixes

None

Updates

πŸ’§ Drupal

New features

None

Fixes

Updates

πŸ€– CI and workflow

New features

  • Replaced PHP Email notification script with shell-based version. @AlexSkrypnyk (#956)
  • Included .env into artifact deployment. This allows to control workflow from a single config file rather then having those variables being injected into provider's environment. @AlexSkrypnyk

Updates

Fixes

🧩 Integrations

Lagoon

None

Acquia

πŸ“ƒ Documentation

None

DrevOps

  • Refactored site-install to use drush:deploy (when config is provided) πŸš€ πŸš€ πŸš€ @AlexSkrypnyk
    • Introduced DREVOPS_DRUPAL_INSTALL_ENVIRONMENT variable passed to the custom scripts. This allows to avoid querrying Drupal's config to get the current env type in the custom shell scripts. πŸš€
    • Added passing of DREVOPS_DRUPAL_INSTALL_OVERRIDE_EXISTING_DB to the custom scripts if the DB was refreshed. This allows to know when the database was refreshed so that custom scripts could act appropriately. πŸš€
    • Changed custom scripts to contain 2-digit suffix. This allows to order custom scripts better.
  • Fixed several variable names and descriptions. @AlexSkrypnyk (#955)
  • Added shfmt linting of scripts and fixed formatting. @AlexSkrypnyk
  • Updated DREVOPS_DEBUG to be set by 1 rather than any value being present. This allows to cascade the override of the value set in "higher" configs (e.g., Lagoon's per-project value can be 1 but per-env can be set to 0). This approach is used for all variables in DrevOps. @AlexSkrypnyk (#964)
  • Updated color messages to be based on the TERM's dumb value. @AlexSkrypnyk (#975)
  • Installer:
  • DrevOps tests:
    • Renamed test files for consistency.
    • Refactored site install tests and added a tests runner helper script. @AlexSkrypnyk

Full Changelog: 1.16.0...1.16.1

@AlexSkrypnyk, @richardgaunt

Drupal 10, Docker Compose 2, more tools and DrevOps test optimisations

30 Jul 12:14
Compare
Choose a tag to compare

🐳 Docker

New features

  • Added support for Docker Compose v2 πŸš€πŸš€πŸš€.
  • Made docker-compose.yml version-less.
  • Added support for setting timezone in containers. Set timezone using DREVOPS_TZ variable in .env file. (#939)
  • Added removing of orphan containers when removing images.
  • Added running of the mariadb schema updates before capturing DB in a Docker image when exporting DB image.

Fixes

  • Fixed missing user to run mariadb container. (#899)
  • Fixed DREVOPS_DB_DOCKER_IMAGE_BASE not being pinned to a version. This now allows to choose a specific version of the DB image.
  • Fixed local emails not being sent to Mailhog.

Updates

  • Updated images to 23.7.0.
  • Re-pinned Chrome image to 111.0 and pinned local Chrome override image.
  • Replaced wait-for-dependencies container image with a pinned version of drevops/docker-wait-for-dependencies - DrevOps-owned image.
  • Renamed 'default.docker-compose.override.yml' to 'docker-compose.override.example.yml' to group this file with docker-compose.yml.
  • Renamed 'default.env.local' to '.env.local.example' to group this file with .env.
  • Moved Docker network stub creation to CI config.
  • Added back mounting volumes from pygmy.

πŸ’§ Drupal

New features

  • Upgraded to Drupal 10 πŸš€πŸš€πŸš€.
  • Added full Solr support via SearchAPI πŸš€. (#859)
  • Added support for Redis service πŸš€. (#858)
  • Added ClamAV support πŸš€.
  • Added "minimum-stability": "stable" and "prefer-stable": true stability flags to composer.json.
  • Added support for composer packages authentication with GitHub token using GITHUB_TOKEN variable.
  • Moved settings tests to be available for use in consumer sites.

Fixes

  • Fixed automated cron should not run in CI. (#845)
  • Fixed Shield configs in PROD environment: now allows to login to PROD without any env vars set. (#885)
  • Fixed node_modules not being ignored for themes.

Updates

  • Moved module-specific Drupal settings into separate files.
  • Renamed docroot to web and made it configurable in installer πŸš€. (#544)
  • Removed custom generation of DB settings in favour of using database settings set in settings.php.
  • Reverted ScriptHandler.php to the version from drupal-composer/drupal-project.
  • Updated ScriptHandler.php to handle Drupal 10.1.x deprecations (see drupal-composer/drupal-project#626)
  • Updated header color in a custom theme to better show that this is a custom override.

πŸ€– CI and workflow

New features

  • Added support for PHPStan πŸš€.
  • Added support for PHPMD πŸš€. (#908)
  • Added support for Twigcs πŸš€.
  • Added release drafter configuration πŸš€. (#789)
  • Added support for setting tags from environment variables in tests (e.g. setting DREVOPS_TEST_UNIT_GROUP=wip1 will run unit tests tagged with wip1).
  • Added new coloured verbose messages to all scripts.
  • Show DB image in the ahoy info.
  • Added 3 seconds waiting if Ahoy confirmation is suppressed.
  • Added build time. (#835)
  • Allow to disable lint tools by settings their targets to empty.
  • Allow to pass DREVOPS_LINT_TYPE as a variable.

Updates

  • Removed ahoy calls from CI πŸš€. This was the last step for a complete separation of scripts from environment-based callers (ahoy is for local, CI config for CI, lagoon.yml for Lagoon etc).
  • Pinned CI builder to 23.7.0. The image always must be pinned and updated manually to avoid breakages caused by upstream changes (#941)
  • Removed flag to switch-off Compose lock file validation. Composer file always have to be valid.
  • Made Lagoon webhook GitHub Actions handler configurable.
  • Updated database dump filenames timestamp format to be db_YYYYMMDD_HHMMSS.sql.
  • Added phpcs exclusion for tests.
  • Updated release drafter to use MINOR version as the next one.
  • Simplified artifact deployment gitignore config to deploy full code artifact.
  • Separated test scripts into a router script: a single test.sh that calls other test-*.sh scripts, like test-unit.sh etc.
  • Simplified DB download script to use globally defined environment variables.
  • Separated lint scripts into a router script: a single lint.sh that calls other lint-*.sh scripts, like lint-be.sh etc.
  • Simplified deploy scripts to use globally defined environment variables.
  • Renamed DREVOPS_GITHUB_TOKEN to GITHUB_TOKEN as this is a widely-used env var name.
  • Separated notification scripts into a router script: a single notify.sh that calls other notify-*.sh scripts, like notify-jira.sh, notify-email.sh etc.
  • Renamed DOCKER_USERNAME to DOCKER_USER in all scripts.
  • Renamed DREVOPS_AHOY_CONFIRM_RESPONSE to AHOY_CONFIRM_RESPONSE.
  • Updated scripts to use full drush commands and improved site install information. (#922)
  • Updated front-end linter bypass logic and messages.
  • Updated test runner bypass logic and messages.
  • Moved DREVOPS_DEV_VOLUMES_MOUNTED to commands in CI config.

Fixes

  • Fixed Renovate configuration when it tries to update php version in composer.json. (#798)
  • Fixed incorrect ahoy doctor status for when pygmy is not running.
  • Fixed ahoy doctor incorrectly assessing loaded SSH key.
  • Fixed SequelAce help string being shown in ahoy info if it is available on host.
  • Fixed missing test artefacts and reports in CI configuration.
  • Fixed BDD smoke tests not running in CI.
  • Fixed second confirm question for 'ahoy reset'.
  • Fixed github label creation script.
  • Fixed JIRA deployment notification.

🧩 Integrations

Lagoon

  • Added support for release/* and hotifx/* branches to be considered a test environment type in Lagoon.
  • Fixed deployment to Lagoon when no DREVOPS_* env variables were defined. (#805)
  • Simplified Lagoon configuration to use router scripts.
  • Updated Drush aliases to support Lagoon environments.

Acquia

  • Simplified Acquia variables to use globally defined environment variables.

πŸ“ƒ Documentation

  • Added multi-version docs publishing πŸš€. (#889)
  • Updated feature list and added documentation for several sections.
  • Simplified intro in README.txt (#833)
  • Moved per-project documentation under docs dir.

DrevOps

  • Moved DrevOps to semantic versioning πŸš€.
  • Added set -u to to all scripts to avoid unbound variables.
  • Moved variables extractor into own package. (#814)
  • Added linting of Dockerfiles. (#819)
  • Install script:
    • Fixed site tokens not being processed in GitHub pull request template.
    • Renamed install.php to installer.php and moved away from root.
    • Move installer unit tests to the installer directory.
    • Added functional tests scaffold and updated to PHPUnit 10 for installer.
    • Updated installer main branch to 'main' in CI config.
  • DrevOps tests:
    • Fixed spellchecker dictionary and added validation for it. (#817)
    • Fixed bats test framework setup to support a different temp dir.
    • Moved to using bats NodeJs library instead of host-installed binary. (#745)
    • Replaced using of real tokens with test tokens in tests.
    • Simplified utilities tests.
    • Renamed test assertions.
    • Updated docker-compose.yaml tests to support different sorting.
    • Improved test speed by using fast BDD tests.
    • Skipping CI tests that can run only in CI.