vortex

Drupal project template

GPL-3.0 License

Stars
82
Committers
13

Bot releases are hidden (Show)

vortex - 1.21.0

Published by AlexSkrypnyk 6 months ago

What's new since 1.20.0

🐳 Docker

New features

None

Fixes

None

Updates

  • Update Container images to v24.5.0 @renovate (#1303)
  • Update clamav/clamav Docker tag to v1.3.1 @renovate (#1274)
  • [#1297] Updated DB image to use versioned mariadb-10.11-drupal image. mariadb-drupal is EOL. @AlexSkrypnyk (#1299)
  • [#1286] Removed support for .env.local from docker-compose.yml. @AlexSkrypnyk (#1287)

πŸ’§ Drupal

New features

None

Updates

  • Enforced strict types via PHPCS. @AlexSkrypnyk (#1282)
  • Updated PHP packages to the latest versions. @AlexSkrypnyk (#1294)

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

  • [#1298] Fixed CircleCI deployment branch regex. @AlexSkrypnyk (#1300)
  • Fixed CircleCI test to use new HTTP header. @AlexSkrypnyk (#1309)
  • Fixed CircleCI not logging in into Docker hub.
  • Fixed CircleCI build failure if CodeCov token is not provided.
  • Fixed formatting in CircleCI config. @AlexSkrypnyk (#1310)
  • Fixed SSH setup not correctly processing false value from variable. @AlexSkrypnyk (#1288)(#1285)
  • [#1284] Excluded test files from the test coverage report. @AlexSkrypnyk (#1289)
  • [#1279] Remove DB copy from ahoy provision. @AlexSkrypnyk (#1283)
  • [#1293] Simplified DREVOPS_DB_DOCKER_IMAGE to DREVOPS_DB_IMAGE. @AlexSkrypnyk (#1295)
  • Fixed Twig CS Fixer cache file to be excluded from .git.
  • Fixed Rector scanning too many files.

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

  • Updated docs to use "DrevOps Scaffold" when referencing "Scaffold" for clarity. @AlexSkrypnyk (#1319)
  • Added a CI check for docs tests to validate that docs are up-to-date. @AlexSkrypnyk (#1318)
  • [#1280] Fixed Edit this page on GitHub links to use the correct URL. @tannguyen04 (#1281)

Scaffold

  • [#1307] Added linting for GHAs. @AlexSkrypnyk (#1308)
  • [#1296] Removed references to "Docker" used in other meaning rather than a product. @AlexSkrypnyk (#1301)
  • Added SECURITY.md and CONTRIBUTING.md to the scaffold itself.

Full Changelog: https://github.com/drevops/scaffold/compare/1.20.0...1.21.0

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

vortex - Updated Docker images to v23.10.0

Published by AlexSkrypnyk about 1 year ago

🐳 Docker

  • Updated from PHP 7 to PHP 8.1 and optimised configuration files.
  • Updated images to the 22.4.1 version.
  • Renamed Docker files to use .dockerfile extension (i.e. Dockerfile.php -> php.dockerfile).
  • Added auth.json to a list of included files into Docker build.
  • Fixed forwarding emails to Mailhog locally.

πŸ’§ Drupal

  • Upgraded to Drush 11.
  • Added unit tests for settings: testing the resulting settings based on environment type and set environment variables.
  • Added support for settings to be included from the includes directory (ueful to store contrib module settings).
  • Added installer-path support for custom modules and themes in composer.json.
  • Fixed site salt value in settings.
  • Updated Shield settings to allow enabling from UI.
  • Updated theme scaffold to use Olivero as a base theme.
  • Updated theme npm run watch to run dev compilation.
  • Updated theme NPM packages to the latest versions.
  • Moved Livereload inclusion into theme.
  • Switched from non-supported node-sass to sass ((Dart SASS)[https://sass-lang.com/dart-sass]) in theme

πŸ€– CI and workflow

New features

  • New varibles system to clearly separate between DrevOps, Drupal and 3rd-party variables:
    • DrevOps variables use DREVOPS_ prefix.
    • Drupal variables use DRUPAL_ prefix.
    • 3-rd party services variables stay as-is.
  • New site install logic and logging to prevent accidental environment overwrites and deletions.
  • New Drupal deployment mechanism using drush deploy.
  • New RenovateBot config (including self-hosted CI config) and removed dependencies.io.
  • New deployment scripts for GitHub, NewRelic and JIRA notifications.
  • New local Ahoy commands: commands can be added into .ahoy.local.yml which is automatically included int main Ahoy configuration and is excluded to be committed to the codebase.
  • New script to mirror code between branches.
  • New script to create GitHub labels. Used to configure repositories.
  • New GitHub action to auto-assign PR author.

Updates

  • Refactored scripts to use better logging output.
  • Added Drupal login and logout scripts.
  • Allow to skip unit, functional and kernel tests tagged with skipped group by providing envir9onment variables.
  • Added skipping of site installation with DREVOPS_DRUPAL_INSTALL_SKIP.
  • Removed DREVOPS_DRUPAL_CONFIG_LABEL as Drush 11 does not support it anymore.
  • Added validation of the docker compose configuration.
  • Moved network creation to run after composer validation.
  • Added variables to skip linting (DREVOPS_LINT_SKIP) and tests (DREVOPS_TEST_SKIP).
  • Added a flag to only build and export code DREVOPS_EXPORT_CODE_ONLY.
  • Updated PHPCS ruleset to not contain overrides. Any file-specific overrides (like delimiting comments) were moved into files.
  • Renamed master to main in branch references.
  • Moved Behat screenshost directory under tests/bats/screenshots locally.
  • Added support for Behat test to pass tags from the env variable.
  • Added Behat test reports to CI: they can now be accessed via TEST tab.
  • Added copying email to username after sanitization.
  • Added Ahoy command to open DB in Sequel Ace.
  • Added ahoy doctor info to gather information about OS to make debugging easier.
  • Updated ahoy commands descriptions.

Fixes

  • Fixed DrevOps and Docker Compose env variables not being automatically passed to running containers from the host env. Allows to avoid specifying variables that need to be passed into containers.
  • Fixed skipping of BDD test re-runs when ran on local.
  • Fixed one-time Drupal link not shown on build.
  • Fixed DB Docker image not using base Docker image if it does not exist.
  • Fixed config_split warning during site install if it is not available.
  • Fixed only lint FE assets if FE theme has them and do not re-run FE assets compilation on host in CI to speed up build time.
  • Fixed .editorconfig being overridden on composer update.
  • Fixed deployment script to correctly handle deployment of skipped branches.
  • Fixed email not being passed to site install from profile during installation.
  • Fixed PHPCS ruleset to not scan .js files for uppercase TRUE/FALSE.
  • Fixed sanitized passwords not being set to a random password by default during site install.
  • Fixed failed deployments not failing CI.
  • Fixed incorrect Drush was used for retrieving a core version.

🧩 Integrations

Lagoon

  • Added backing up of DB before deployment to production in Lagoon.
  • Added support for specifying custom LagoonCLI version and Lagoon instance in Lagoon integration scripts.
  • Added support for LAGOON_PROJECT variable in .env.
  • Added showing of DrevOps variables during Lagoon rollout.
  • Added custom Lagoon task runner script.
  • Fixed Lagoon deployment failing if there are no environments.
  • Fixed sites installed from profile to handle DB override correctly in Lagoon.

Acquia

  • Fixed TARGET_ENV_REMAP variable in Acquia cache purge script.
  • Renamed code to artifact deployment type to push to Acquia.
  • Updated webhook deployment to allow specifying the curl method.
  • Updated notification hooks for Acquia.
  • Fixed sanitize script not working in non-prod environments.

πŸ“ƒ Documentation

  • Updated PR template to use checklist s instead of comments.
  • Simplified README.md file.
  • Added quickstart placeholder docs section.
  • Added docs publishing to docs.drevops.com.
  • Added a script to scan for shell variables and auto-generate docs.

Other

  • Updated condition check for all boolean variables: use explicit 1 for a truthful value. This is to allow overriding of the value without unsetting a variable.
  • Fixed unequal operator to be POSIX compliant in all scripts.
  • Moved workflow tests into a separate CI job to ease DrevOps maintenance.
  • Improvements in the DrevOps test system:
    • Updated Bats testing framework to Bats 1.7 and updated several helpers.
    • Updated Docker image workflow tests and added ARM support for tests.
    • Added DrevOps helpers test to the CI pipeline.
    • Updated Docker-Compose test fixtures.
  • Updated installer script:
    • Fixed theme discovery in installer.
    • Updated installer path to use https://install.drevops.com
    • Updated installer to use install from profile and override DB variables.
    • Fixed installer to remove deploy job CI config when an option without a deployment is selected.
vortex - Apple M1 support!

Published by AlexSkrypnyk almost 3 years ago

Docker

  • Updated images to be compatible with Apple M1 (thank to AmazeeIO for releasing images https://hub.docker.com/u/uselagoon).
  • Added python and gcc to support Node packages compiling on M1.

CI and workflow

  • Added ahoy composer.
  • Fixed BUILD_VERBOSE variable name.
  • Updated Drupal install script to be more verbose.
  • Added skipping of deployments using env variables DEPLOY_SKIP_PR_<NUMBER> and DEPLOY_SKIP_BRANCH_<SAFE_BRANCH>.

Integrations

  • Fixed Lagoon deployment to use moved Lagoon CLI binary.
  • Fixed download from Lagoon script not using specified SSH key if multiple keys are loaded (permission denied on DB download).
  • Updated Lagoon deployment script to support creating and deleting environments, including with fresh production database

Documentation

  • Added documentation to handle additional M1 configuration.
vortex - Apple M1 support!

Published by AlexSkrypnyk almost 3 years ago

vortex - Apple M1 support!

Published by AlexSkrypnyk almost 3 years ago

vortex - First D9 release!

Published by AlexSkrypnyk about 3 years ago

  • All configuration and changes from 8.x-1.13
vortex - [8.x] Images updates to 21.7.0 and Composer 2

Published by AlexSkrypnyk about 3 years ago

Docker

  • Added Composer 2.
  • Updated images to 21.7.0 and PHP 7.4.
  • Updated Xdebug flag value to use true for the new Docker images. Upstream #251

CI and workflow

  • Updated behat-screenshot to the latest version.
  • Updated behat-steps to use the new namespace. (#633)
  • Updated behat-format-progress-fail to the latest version.
  • Removed obsolete AMAZEEIO_ variables in favour of MARIADB_.
  • Removed port check from builds on Linux.
  • Added support for DATABASE_SSH_FINGERPRINT in CI.
  • Fixed parameter parsing within deployment notification script.

Back-end

  • Added running of post_update hooks on core module install.

Front-end

  • Updated FE development packages to the latest versions.
  • Added ahoy fei command to install FE packages.

Integrations

  • Fixed environment detection in Lagoon.
  • Updated Lagoon config to use correct configuration for routes for production and development environments.
  • Fixed Lagoon deployment not using production branch variable.
  • Fixed Lagoon private registry password variable name.
  • Fixed Lagoon dotfiles were not copied into container.
  • Fixed DB being sanitised in Acquia.

Documentation

  • Updated command descriptions and run all tests.
vortex - [7.x] Updated images to 21.7.0 and Composer 2

Published by AlexSkrypnyk about 3 years ago

vortex - [8.x] Portability and stability.

Published by AlexSkrypnyk almost 4 years ago

This release concentrates on stability and portability.

DrevOps scripts are no longer altered as a part of install for every project. All configuration is managed through .env file.

Docker

CI and workflow

  • Added support for custom scripts to run after site install. This allows to prevent the need to directly modify DrevOps scripts for every project.
  • Added JS and CSS to PHPCS lint target.
  • Added additional PHPCS rules to enforce no empty lines before and after function opening.
  • Fixed 'ahoy debug' not restarting nginx service.
  • Added support for local environment overrides using .env.local file.
  • Added CONFIRM_RESPONSE to default.env.local to suppress questions locally.
  • Fixed install script replacing content in binary files.
  • Added suppressing of DB download flag (#618).
  • Added conditional install of theme assets if the theme was provided. This allows to use DrevOps scripts without modifying them when a custom theme is not present (for example, with headless installations).
  • Added enabling and disabling maintenance mode on build.
  • Added re-running of failed Behat tests.
  • Fixed DIDI failed tests affecting other CI builds (internal DrevOps utilities).
  • Fixed Bats test helper to work with the latest Bats (internal DrevOps utilities).
  • Fixed Drush lookup to always use local version before global.

Back-end

  • Added post config import update Drush command post-config-import-update. Addresses this core issue https://www.drupal.org/project/drupal/issues/2901418.
  • Added Composer update changelog generator (used after composer update to nicely summarise the modified packages with links to release and compare URLs).
  • Added $config_exclude_modules variable to settings.
  • Fixed config_split not using correct configuration per environment.
  • Added support for npm assets packages for libraries. (#606)
  • Switched to drupal/core-dev and updated package versions. (#611)
  • Updated drupal install scripts to support DB settings read from environment variables. (#603)

Front-end

  • Removed obsolete minified theme file (cleanup).

Integrations

  • Added Lagoon cloud routes to trusted host patterns in settings.
  • Updated Lagoon integration settings. (#604)
  • Added deployment notification script which sends emails on successful deployment.

Documentation

  • Added FAQ item about debugging Behat tests.
vortex - Updates

Published by AlexSkrypnyk about 4 years ago

vortex - [8.x] Database stored in Docker image

Published by AlexSkrypnyk over 4 years ago

This release adds highly demanded and long overdue support for using databases stored in Docker image. Using this workflow allows to build large database images in CI overnight and download databases as a fresh image in the morning to use for development and as a cache in CI.

During development, rebuilding local environments for projects with large databases will no longer be a long process (due to the time it takes to import from the database dump), but rather a matter of restarting a container. On the large databases (>1G) the time is reduced from 15-20 minutes to 15-30 seconds.

Additionally, there is now a support for several database sources: files or docker registry. As a result - there is a support for the following workflows (simplified):

  • Download the database from CURL/FTP/Acquia as a dump file -> Import the database -> Develop/run tests -> Deploy
  • Download the database from CURL/FTP/Acquia as a dump file -> Import into the Docker database image -> Push image to the registry -> Use the image to develop/run tests -> Deploy
  • Download the database from the previous version of the image -> Use the image to develop/run tests -> Deploy

CI configuration now allows to enable using the database cache (file or Docker image) from the builds ran on the previous days. It also now supports nightly builds to cache the database to be used in builds during the day (significant builds speedup).

Lastly, the installer script was rewritten in PHP to allow more robust parameters handling and better development speed. It has own PHPUnit tests and updated Bats integration tests.

And of course, all the new functionality has automated tests.

Docker

  • Updated images to Lagoon v1.4.1.
  • Updated Docker Compose configuration to support custom database image taken from DATABASE_IMAGE environment variable.
  • Removed quite pulling of the images. This is due to requests from developers to see which images were cached and which were downloaded during the build.

CI

  • ❗❗Added support for nightly database builds + test.
  • ❗Added support for per-workflow caching.
  • Added support for cache fallback with a switch - using per-branch build caches from previous days.
  • Increased database job timeout in CI to 30 minutes.

Scripts

  • πŸ”₯πŸ”₯πŸ”₯ Rewritten installer in PHP.
    • Better installer written in PHP + complies with Drupal coding standards.
    • Installer is interactive by default (previsously was quiet).
    • Added PHPunit tests for installer.
    • Updated existing integration Bats tests for installer.
    • Fixed several issues with automated configuration discovery for existing projects.
    • Installer now always overrides existing files during an update.
  • πŸ”₯πŸ”₯πŸ”₯ Added support for database-in-Docker-image. This allows to work with DB image with in-built data.
    • ❗❗❗ Use https://github.com/drevops/mariadb-drupal-data as a base image + DB seeding script is included.
    • ❗❗❗ Workflow switch is controlled by DATABASE_IMAGE environment variable (one variable to controll the whole workflow).
    • ❗❗ Added support for exporting image as archive. Used by CI to pass built images between jobs as cache and re-use this cache in the subsequent jobs.
    • ❗ Added support for deploying an image to a registry when exporting (if EXPORT_DB_DEPLOY_DOCKER is set).
    • Added reload-db command. Used to quickly restart database image.
    • Added ahoy pull-db command. Used to pull the latest version of the Database image.
  • Added support for deployment of multiple docker images to Docker registry (according to provided service-to-image map).
  • Added support for archiving and un-archiving of Docker images.
  • Removed DrevOps test files from the downloadable package. This makes the downloadable archive cleaner.
  • Moved DrevOps' tests and documentation under scripts/drevops directory.
  • Added VERBOSE_BUILD variable to show the build progress.
  • Added linting of Bats tests with Shellcheck.
  • Improved bats test helpers and assertions.
  • Added confirmations to ahoy build and ahoy down commands.

Back-end

  • Removed Gherkin patch to run single tests with release of behat/gherkin version 4.6.1.
  • Fixed cron running locally and in CI.

Front-end

No changes

Integrations

  • Added support for ODE environments in Acquia (settings and hooks).
  • Acquia is no longer an integration enabled by default.
  • Lagoon is no longer an integration suggested by default.

Documentation

  • Added more documentation in comments to .env file.
  • Added more FAQs.
  • Added documentation scaffolding (still WIP).
vortex - [7.x] Database stored in Docker image

Published by AlexSkrypnyk over 4 years ago

This release adds highly demanded and long overdue support for using databases stored in Docker image. Using this workflow allows to build large database images in CI overnight and download databases as a fresh image in the morning to use for development and as a cache in CI.

During development, rebuilding local environments for projects with large databases will no longer be a long process (due to the time it takes to import from the database dump), but rather a matter of restarting a container. On the large databases (>1G) the time is reduced from 15-20 minutes to 15-30 seconds.

Additionally, there is now a support for several database sources: files or docker registry. As a result - there is a support for the following workflows (simplified):

  • Download the database from CURL/FTP/Acquia as a dump file -> Import the database -> Develop/run tests -> Deploy
  • Download the database from CURL/FTP/Acquia as a dump file -> Import into the Docker database image -> Push image to the registry -> Use the image to develop/run tests -> Deploy
  • Download the database from the previous version of the image -> Use the image to develop/run tests -> Deploy

CI configuration now allows to enable using the database cache (file or Docker image) from the builds ran on the previous days. It also now supports nightly builds to cache the database to be used in builds during the day (significant builds speedup).

Lastly, the installer script was rewritten in PHP to allow more robust parameters handling and better development speed. It has own PHPUnit tests and updated Bats integration tests.

And of course, all the new functionality has automated tests.

Docker

  • Updated images to Lagoon v1.4.1.
  • Updated Docker Compose configuration to support custom database image taken from DATABASE_IMAGE environment variable.
  • Removed quite pulling of the images. This is due to requests from developers to see which images were cached and which were downloaded during the build.

CI

  • ❗❗Added support for nightly database builds + test.
  • ❗Added support for per-workflow caching.
  • Added support for cache fallback with a switch - using per-branch build caches from previous days.
  • Increased database job timeout in CI to 30 minutes.

Scripts

  • πŸ”₯πŸ”₯πŸ”₯ Rewritten installer in PHP.
    • Better installer written in PHP + complies with Drupal coding standards.
    • Installer is interactive by default (previsously was quiet).
    • Added PHPunit tests for installer.
    • Updated existing integration Bats tests for installer.
    • Fixed several issues with automated configuration discovery for existing projects.
    • Installer now always overrides existing files during an update.
  • πŸ”₯πŸ”₯πŸ”₯ Added support for database-in-Docker-image. This allows to work with DB image with in-built data.
    • ❗❗❗ Use https://github.com/drevops/mariadb-drupal-data as a base image + DB seeding script is included.
    • ❗❗❗ Workflow switch is controlled by DATABASE_IMAGE environment variable (one variable to controll the whole workflow).
    • ❗❗ Added support for exporting image as archive. Used by CI to pass built images between jobs as cache and re-use this cache in the subsequent jobs.
    • ❗ Added support for deploying an image to a registry when exporting (if EXPORT_DB_DEPLOY_DOCKER is set).
    • Added reload-db command. Used to quickly restart database image.
    • Added ahoy pull-db command. Used to pull the latest version of the Database image.
  • Added support for deployment of multiple docker images to Docker registry (according to provided service-to-image map).
  • Added support for archiving and un-archiving of Docker images.
  • Removed DrevOps test files from the downloadable package. This makes the downloadable archive cleaner.
  • Moved DrevOps' tests and documentation under scripts/drevops directory.
  • Added VERBOSE_BUILD variable to show the build progress.
  • Added linting of Bats tests with Shellcheck.
  • Improved bats test helpers and assertions.
  • Added confirmations to ahoy build and ahoy down commands.

Back-end

  • Removed Gherkin patch to run single tests with release of behat/gherkin version 4.6.1.
  • Fixed cron running locally and in CI.

Front-end

No changes

Integrations

  • Added support for ODE environments in Acquia (settings and hooks).
  • Acquia is no longer an integration enabled by default.
  • Lagoon is no longer an integration suggested by default.

Documentation

  • Added more documentation in comments to .env file.
  • Added more FAQs.
  • Added documentation scaffolding (still WIP).
vortex - [8.x] Better CI handling πŸ€– πŸ€– πŸ€–

Published by AlexSkrypnyk over 4 years ago

DrevOps has moved to its own GitHub organisation https://github.com/drevops! πŸŽ‰ πŸŽ‰ πŸŽ‰
This allows to maintain all repositories related to DrevOps in one place.

Docker

  • πŸ”₯ Updated container images to 1.2.0.
  • πŸ”₯ Updated PHP to 7.3.
  • πŸ”₯ Added Dockerfile for mariadb service with ability to provide custom configuration.
  • Less output when installing FE tools.
  • Added docker pull progress output suppression.

CI

  • πŸ”₯πŸ”₯πŸ”₯ Removed additional CI scripts. CI now uses ahoy scripts directly!
  • πŸ”₯πŸ”₯ Refactored CI config to use YAML anchors as variables. Also, defined section that should change per-project.
  • πŸ”₯ Move code linting is a separate job in CI.
  • πŸ”₯ Added default timezone for CI runner container.
  • Updated CI builder image to use new namespace.
  • Added more timeout for commands without output in CI.
  • Fixed network warning in CI.
  • Updated default database directory location in CI.
  • Added artifacts storage in CI
  • Added test results storage in CI

Scripts

  • Workflow
    • πŸ”₯πŸ”₯ Updated install-site script to support installing from database or fresh install if database dump file is not available.
    • πŸ”₯πŸ”₯ Fixed env variables with values being overridden by values in .env. Any variable that has a value in the current environment would be overwritten by the value in the .env file.
    • Fixed ahoy clean command not removing files with readonly permissions.
    • Moved Composer validation to project build stage (but only if composer is installed).
    • Refactored all scripts to correctly work with database dump directory and filename.
    • Improved the logic of DB sanitization - now only runs if file exists.
  • Tools
    • Updated lint for PHPCS to not be verbose while scanning.
    • Added logs for running unit tests.
    • Removed global unit test directory. Tests should live with modules.
  • Doctor
    • Removed Composer presence check from Doctor. Composer is not required on host.
    • Fixed Doctor check for status code of the homepage to allow 200 and 403, returned depending on the installation type.
    • Updated Doctor to check the status of all containers.
    • Added DOCTOR_CHECK_MINIMAL shorthand variable to run minimal Doctor checks in CI env.
  • Installation
    • Fixed install.sh not correctly discovering project settings when installed into a custom directory + tests.
    • Fixed install.sh not failing on errors.
    • Fixed install.sh to never modify DrevOps scripts when installing.
  • Testing
    • Fixed some integration tests not running.
  • πŸ”₯ Added printing of debug output in DrevOps scripts using DREVOPS_DEBUG variable.
  • Fixed code formatting in multiple scripts.
  • Removed DOCKER_HOST temporary override in .env file.
  • Removed default deployer user name from the deployment script. This should be set through env variables.

Back-end

  • Core and Modules
    • Updated Drupal core version to 8.8.
    • Removed obsolete code to load hook implementations from included sub-directories.
    • Added Shield popup default title.
    • Removed custom patches. Some of the patches were breaking existing sites.
  • Settings
    • Improved readability of settings.php file.
    • Updated default values in settings.local.php file.
    • Added skipping of permissions hardening locally and in CI.
  • Testing
    • Renamed test helper class to a trait in your_site_core module.

Front-end

  • Renamed style.scss to styles.scss.
  • Fixed FE browser list for autoprefix package.
  • Removed Barrio base theme and twbs/bootstrap library from theme.

Integrations

  • Updated Acquia credentials in .env file to not rely on variables.
  • Added NewRelic notifications for Acquia production.
  • Fixed Acquia DB download script not correctly identifying it's location.
  • Refactored Acquia hooks scripts to allow configuration through environment variables and comply with coding standards.

Other

  • Removed obsolete Brewfile.
  • Removed obsolete .nvmrc file.
vortex - [7.x] Better CI handling πŸ€– πŸ€– πŸ€–

Published by AlexSkrypnyk over 4 years ago

DrevOps has moved to its own GitHub organisation https://github.com/drevops! πŸŽ‰ πŸŽ‰ πŸŽ‰
This allows to maintain all repositories related to DrevOps in one place.

Docker

  • πŸ”₯ Updated container images to 1.2.0.
  • πŸ”₯ Updated PHP to 7.3.
  • πŸ”₯ Added Dockerfile for mariadb service with ability to provide custom configuration.
  • Less output when installing FE tools.
  • Added docker pull progress output suppression.

CI

  • πŸ”₯πŸ”₯πŸ”₯ Removed additional CI scripts. CI now uses ahoy scripts directly!
  • πŸ”₯πŸ”₯ Refactored CI config to use YAML anchors as variables. Also, defined section that should change per-project.
  • πŸ”₯ Move code linting is a separate job in CI.
  • πŸ”₯ Added default timezone for CI runner container.
  • Updated CI builder image to use new namespace.
  • Added more timeout for commands without output in CI.
  • Fixed network warning in CI.
  • Updated default database directory location in CI.
  • Added artifacts storage in CI
  • Added test results storage in CI

Scripts

  • Workflow
    • πŸ”₯πŸ”₯ Updated install-site script to support installing from database or fresh install if database dump file is not available.
    • πŸ”₯πŸ”₯ Fixed env variables with values being overridden by values in .env. Any variable that has a value in the current environment would be overwritten by the value in the .env file.
    • Fixed ahoy clean command not removing files with readonly permissions.
    • Moved Composer validation to project build stage (but only if composer is installed).
    • Refactored all scripts to correctly work with database dump directory and filename.
    • Improved the logic of DB sanitization - now only runs if file exists.
  • Tools
    • Updated lint for PHPCS to not be verbose while scanning.
    • Updated PHPCS config to include more Features exclusions.
    • Added logs for running unit tests.
    • Removed global unit test directory. Tests should live with modules.
  • Doctor
    • Removed Composer presence check from Doctor. Composer is not required on host.
    • Fixed Doctor check for status code of the homepage to allow 200 and 403, returned depending on the installation type.
    • Updated Doctor to check the status of all containers.
    • Added DOCTOR_CHECK_MINIMAL shorthand variable to run minimal Doctor checks in CI env.
  • Installation
    • Fixed install.sh not correctly discovering project settings when installed into a custom directory + tests.
    • Fixed install.sh not failing on errors.
    • Fixed install.sh to never modify DrevOps scripts when installing.
  • Testing
    • Fixed some integration tests not running.
  • πŸ”₯ Added printing of debug output in DrevOps scripts using DREVOPS_DEBUG variable.
  • Fixed code formatting in multiple scripts.
  • Removed DOCKER_HOST temporary override in .env file.
  • Removed default deployer user name from the deployment script. This should be set through env variables.

Back-end

  • Core and Modules
    • Updated Drupal core version to 7.69.
    • Removed obsolete code to load hook implementations from included sub-directories.
    • Added Shield popup default title.
    • Removed custom patches. Some of the patches were breaking existing sites.
  • Settings
    • Improved readability of settings.php file.
    • Updated default values in settings.local.php file.
    • Added skipping of permissions hardening locally and in CI.
  • Testing
    • Fixed phpunit bootstrap.
    • Moved Drupal tests to your_site_core module.
    • Renamed test helper class to a trait.

Front-end

  • Renamed style.scss to styles.scss.
  • Fixed FE browser list for autoprefix package.
  • Removed Bootstrap 3 theme and library from theme.
  • Fixed sass-lint config file location.

Integrations

  • Updated Acquia credentials in .env file to not rely on variables.
  • Added NewRelic notifications for Acquia production.
  • Fixed Acquia DB download script not correctly identifying it's location.
  • Refactored Acquia hooks scripts to allow configuration through environment variables and comply with coding standards.

Other

  • Removed obsolete Brewfile.
  • Removed obsolete .nvmrc file.
vortex - [7.x] Renamed project to DrevOps πŸš€πŸš€πŸš€

Published by AlexSkrypnyk almost 5 years ago

It is time for this project to have a new catchy name: DrevOps

Drupal + DevOps = DrevOps

http://drevops.com

vortex - [8.x] Renamed project to DrevOps πŸš€πŸš€πŸš€

Published by AlexSkrypnyk almost 5 years ago

It is time for this project to have a new catchy name: DrevOps

Drupal + DevOps = DrevOps

http://drevops.com

vortex - Scripts for build unification πŸ”₯πŸ”₯πŸ”₯

Published by AlexSkrypnyk almost 5 years ago

This release is all about unifying workflows to work identically in all environments. It is implemented by extracting all configuration and logic from Ahoy config file into standalone scripts, which allows "cleaner" and portable logic implementation.

Added

  • ❗❗❗Moved workflow logic into scripts.
  • ❗❗❗Moved Gruntfile.js and other FE config to the theme.
  • Deployment as webhook.
  • Added config_split config for multiple environments.
  • Added SCSS helpers: rem, fonts, mixins.
  • Added toolbar removal mechanism to ease themeing while logged in as admin.
  • Added non-www to www redirection with Acquia support to .htaccess.
  • Added ahoy debug command.

Updated

  • ❗❗❗Removed support for .env.local.
  • ❗❗❗Removed composer.lock and package-lock.json.
  • Refactored tests for easy maintenance.
  • Removed local exclude support from the install script.
  • Patch to support for running single Behat test.
  • Updated Docker images to v1.1.2 and removed NPM workaround.
  • Updated mechanism for Xdebug status retrieval.
  • Updated Environment Indicator colors.
  • Added tests for tests failure bypass.
  • Updated dependencies.io configuration to only update PHP dependencies.
  • Refactored DB caching in CI.
  • Renamed ahoy test-behat to ahoy test-bdd.
  • Renamed ahoy test-phpunit to ahoy test-unit.

Fixed

  • Fixed demo DB not available on the first install.
  • Fixed environment conditions in settings.
  • Fixed Livereload not compiling JS.
  • Fixed Livereload loading on the admin path and admin theme.
  • Fixed testuite name in phpunit config.
  • Fixed config being imported when only sanitisation is required.
  • Fixed web driver not specifying explicitly to not use w3c format capabilities to the browser.
vortex - Scripts for build unification πŸ”₯πŸ”₯πŸ”₯

Published by AlexSkrypnyk almost 5 years ago

This release is all about unifying workflows to work identically in all environments. It is implemented by extracting all configuration and logic from Ahoy config file into standalone scripts, which allows "cleaner" and portable logic implementation.

Added

  • ❗❗❗Moved workflow logic into scripts.
  • ❗❗❗Moved Gruntfile.js and other FE config to the theme.
  • Deployment as webhook.
  • Added SCSS helpers: rem, fonts, mixins.
  • Added non-www to www redirection with Acquia support to .htaccess.
  • Added ahoy debug command.

Updated

  • ❗❗❗Removed support for .env.local.
  • ❗❗❗Removed composer.lock and package-lock.json.
  • Refactored tests for easy maintenance.
  • Removed local exclude support from the install script.
  • Patch to support for running single Behat test.
  • Updated Docker images to v1.1.2 and removed NPM workaround.
  • Updated mechanism for Xdebug status retrieval.
  • Updated Environment Indicator colors.
  • Added tests for tests failure bypass.
  • Updated dependencies.io configuration to only update PHP dependencies.
  • Refactored DB caching in CI.
  • Renamed ahoy test-behat to ahoy test-bdd.
  • Renamed ahoy test-phpunit to ahoy test-unit.

Fixed

  • Fixed demo DB not available on the first install.
  • Fixed environment conditions in settings.
  • Fixed Livereload not compiling JS.
  • Fixed Livereload loading on the admin path and admin theme.
  • Fixed testuite name in phpunit config.
  • Fixed config being imported when only sanitisation is required.
  • Fixed web driver not specifying explicitly to not use w3c format capabilities to the browser.
vortex - [7.x] Stabilisation release. Upgrade now!

Published by AlexSkrypnyk over 5 years ago

❗❗❗ Important note!
This release drastically changes how Drupal-Dev installs files. In previous versions, Drupal-Dev would be installing only required files and "attaching" the rest of the files in each environment by running ./drupal-dev.sh. This behaviour was (rightfully) criticised by the community, so the change was made to add all files to the project without the need to run ./drupal-dev.sh in every environment. With this change, every file of Drupal-Dev (based on your installation selection, of course) is now added to your project repository on installation, so that the project can have all required files in-place.

How to update?

Run ahoy update

Changes

Updated

  • ❗❗❗Disabled "attachability" of the environments.
  • Updated Drupal core and modules to the latest versions.
  • Updated Docker images to the latest version.

Added

  • Added Drupal-Dev version to the badge.stack and resolving issues easier.

Fixed

  • Fixed some internal files are added during installation.