Skip to content

[8.x] Better CI handling πŸ€– πŸ€– πŸ€–

Choose a tag to compare

@AlexSkrypnyk AlexSkrypnyk released this 04 Feb 03:02

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.