Skip to content

Releases: docksal/ci-agent

v1.12.0

17 Jan 10:04
e321666
Compare
Choose a tag to compare
  • Bumped base versions
    • Alpine v3.17.1
      • Pinned at hotfix release to avoid future version conflicts in dependencies upon Alpine hotfix updates
    • Docker v20.10.21-r2
    • Docker Compose v1.29.2-r2
  • Bumped PHP versions
    • PHP 8.1
    • Composer to v2.2.6
    • Drush (fallback) 8.4.11
    • WP CLI 2.6.0
    • Dropped drush registry_rebuild module
    • Properly configure phpcs for Drupal and Wordpress checks
    • Dropped legacy Acquia drush settings
  • Added support for GitHub Actions CI
  • Reduced BRANCH_NAME_LENGTH_LIMIT to 20 characters
    • This gives the optional "service" part 15 characters to work with: <service>--<branch>--<repo>.example.com (where branch is 20 + 4 (for the md5 suffix), repo is 20, delimiters (--) are 2 + 2, which leaves 15 for service part)
    • Allowed to override BRANCH_NAME_LENGTH_LIMIT and REPO_NAME_LENGTH_LIMIT defaults
  • Updated README.md

v1.11.0

26 Jun 21:35
a978463
Compare
Choose a tag to compare

WARNING: This release switches Composer version from v1 to v2 in the php flavor of the image. To pin Composer to v1, use the previous stable version: docksal/ci-agent:1.10-php.

  • Version bumps
    • Alpine 3.14
    • Docker 20.10.7
    • Docker Compose 1.28.0
    • Composer 2.1.3

v1.10.0

13 Apr 04:26
61ad481
Compare
Choose a tag to compare
  • Switched CI builds to GitHub Actions
  • Version bumps (base)
    • Alpine 3.13
    • Docker 20.10.5
    • Docker Compose 1.28.5
    • Minio RELEASE.2021-04-06T23-11-00Z (@minio why not use semver for releases??)
  • Version bumps (php)
    • Composer 1.10.21
    • Drush 8.4.8
    • Drupal Console Launcher 1.9.7
    • wp-cli 2.4.0
  • Misc php build improvements
  • minio cli compatibility fixes with recent versions
  • Moved REMOTE_BUILD_DIR_CLEANUP to build-init (#63)
  • Generating SSH public keys in build-env (#65)

v1.9.0

07 Apr 23:42
e579f33
Compare
Choose a tag to compare
  • Added php7-pdo_mysql and mysql-client packages in the php image flavor
    • These packages are necessary for drush sql commands.
  • Ensured build-env script is sourced
  • Fixed broken loop for iterating over secrets
  • Added documentation for secrets

v1.8.0

30 Jan 20:32
fcfbb27
Compare
Choose a tag to compare
  • Added GitLab config examples
  • Adde preliminary support for Jenkins CI (pending examples and documentation)
  • Added DOCKSAL_HOST_SSH_PORT variable for overriding SSH port for docker-host (#52)
  • Added BUILD_ENVIRONMENT variable for setting DOCKSAL_ENVIRONMENT for sandbox (#53)
  • Added php7-posix package to PHP version of image (#57)
  • Switched travis builds to Ubuntu 18.04 (Bionic)

v1.7.0

31 May 17:28
2ca8663
Compare
Choose a tag to compare
  • Bitbucket: fixed missing build notification status title (#37)
  • Switched travis builds to Ubuntu 18.04 (xenial) minimal flavor
  • Switched to alpine v3.9 base image
  • Bumped docker and docker-compose versions
    • docker v18.09.2-ce
    • docker-compose v1.23.2
  • Allowed setting a custom domain for a sandbox via SANDBOX_DOMAIN (#47)
    • DOMAIN variable is deprecated, preserved for backward compatibility only
  • Added a method for preserving previous builds during build-init. (#48)
  • Updated mc mirror options in build-acp
    • Fixes mc: <ERROR> '--force' is deprecated please use '--overwrite' instead with '--remove' for the same functionality.
  • Docs updates
    • Replaced ubuntu with build-agent
    • Clarified base64 use on Mac vs Linux/etc (#42)
    • SANDBOX_PERMANENT variable
    • REMOTE_BUILD_DIR_CLEANUP variable
    • Non-volatile environments use case
  • Updated LICENSE year

v1.6.1

08 Nov 00:34
2f4c4a0
Compare
Choose a tag to compare
  • Fixed handling of "null" variables. Fixes #35
  • Switch to using /bin/bash -oe pipefail in build-env and Makefile commands
    • Make it closer to the way CircleCI and others run scripts.
    • TODO: revise and update other built-in scripts to use /bin/bash -oe pipefail as well.
  • Updated tests

v1.6.0

05 Nov 18:19
7db3f00
Compare
Choose a tag to compare
  • Failing build if any of the steps in sandbox-init fail
  • Implemented ssh-agent forwarding support between the ci-agent and the sandbox server
  • Droping variables with null values in build-env
    • This allows, at the project level, unsetting build variables set at the org level
  • Using a double hyphen (--) to separate branch from project in the domain name
  • Default to using rsync for codebase initialization on the server (REMOTE_CODEBASE_METHOD=rsync)
  • Moved CI_SSH_KEY to optional vars in docs
    • Since rsync is used by default to sync to codebase to the server, the CI_SSH_KEY is no longer a requirement, since the sandbox server does not need access to the git repo to get the codebase.
  • Fixed grep for secrets variables in build-init
  • Added tests for git settings and ssh keys

v1.5.0

11 Oct 04:40
ff5efe1
Compare
Choose a tag to compare
  • Switched to Alpine 3.8
  • Added make package
  • Miscellaneous improvements in build environment initialization (build-env)
    • [BREAKING CHANGE] Updated defaults for the sandbox user and builds directory
      • User: build-agent; builds directory: /home/build-agent/builds
      • These can be overridden via DOCKSAL_HOST_USER and REMOTE_BUILD_BASE respectively
    • Removed "set -e" option in build-env
      • Since build-env is sourced in all build steps, the "set -e" setting was propagated everywhere causing build steps to fail on any error. This can be especially nasty when npm packages installed from source fail to compile without obvious reasons.
    • Improved git_env and ssh_init - only write configs when necessary
    • Force using the key set via CI_SSH_KEY for all hosts. Fixes #26
    • Renamed BITBUCKETCI to BITBUCKET_CI
      • This variable is used internally and is set to "true" when a build is running on Bitbucket Pipelines
    • Added BUILD_ID variable - used as the unique identifier for a build
  • Updated docs
    • configuring SSH keys
    • CircleCI basic example
      • Doing "echo 'source build-env' >> $BASH_ENV" as the first step is important for CircleCI builds. Each run statement runs in its own isolated shell (exported variables are not preserved). $BASH_ENV can be used to pass environment variables between run statements.
  • Updated tests

v1.4.0

13 Sep 18:11
72a2b95
Compare
Choose a tag to compare
  • Fixed a regression with SECRET variables. Fixes #27
  • Use flat sub-domains (e.g. branch-project.example.com) for sandboxes
    • This allows using a single wildcard cert for the entire sandbox server
  • Update docker and docker-compose versions
    • docker 18.06.0
    • docker-compose 1.21.0
    • Installing docker-compose via pip, since the old way (installing glibc libraries) now fails
  • Use https for sandbox URLs in build-notify
  • Added BUILD_DIR build variable (see docs)
  • Added REMOTE_CODEBASE_METHOD variable (see docs)
    • Codebase can not be synced with rsync from agent to server in addition to the default git checkout method run on the server