Releases: buildkite/elastic-ci-stack-for-aws
v6.1.0
v6.1.0 (2023-08-01)
Changed
- Bump buildkite-agent to v3.50.4 #1177 (@DrJosh9000)
- Disable client side pager for aws-cli v2 for the buildkite-agent user #1174 (@triarius)
- Add
ScalerMinPollInterval
param #1173 (@amartani)
Upgrading
Perform a CloudFormation stack update with the following URL:
https://s3.amazonaws.com/buildkite-aws-stack/v6.1.0/aws-stack.yml
If you want to launch a new stack, you can use this link (make sure not to use your production AWS account, create a new one for CI):
Documentation
v6.0.0
v6.0.0 (2023-07-26)
Changed
- Upgrade base image to Amazon Linux 2023 #1122 (@triarius)
- Many packages have been added, upgraded, or removed since Amazon Linux 2. We've explicitly called out what's been intentionally left out by us below. Refer to docs.aws.amazon.com/linux/al2023/ug/compare-with-al2.html for the changes Amazon have made.
- Publish template to both
main
andmaster
#1129 (@triarius) - Increase job cancel grace period to 60s #1144 (@triarius)
- Allow the
MaxSize
to be 0 #1140 (@triarius) - Default EC2 instance names to stack name #1137 (@triarius)
- Rename the parameter
InstanceType
toInstanceTypes
#1138 (@triarius) - Rename the parameter
ManagedPolicyARN
toManagedPolicyARNs
#1138 (@triarius) - Rename the parameter
SecurityGroupId
toSecurityGroupIds
#1128 (@triarius) - Rename the parameter
EnableAgentGitMirrorsExperiment
toBuildkiteAgentEnableGitMirrors
#1123 (@triarius) - Enable the
ansi-timestamps
setting if and only ifBuildkiteAgentTimestampLines
parameter is"false"
#1132 (@triarius) - Bump buildkite-agent-scaler to v1.5.0 #1169 (@tomellis91)
- Bump docker compose to v2.20.2 #1150 (@triarius)
- Bump buildx to v0.11.2 #1150 (@triarius)
Added
- Support running and building multi-platform docker images #1139 #1122 #1149 (@triarius)
- Support i4g instance types #1138 (@triarius)
- Added the parameter
SpotAllocationStrategy
#1130 (@triarius) - Added the parameter
ScalerEventScheduleRate
to control the rate at which buildkite-agent-scaler is invoked #1169 (@tomellis91)
Fixed
Removed
- Remove deprecated
SpotPrice
parameter #1130 (@triarius) - Removed packages. These packages are either not available on Amazon Linux 2023, or not installed by default on the base image we use. We have decided to not install them, as suitable replacements may be found.
Known Issues
- If you invoke docker compose with the
docker-compose
command, the--compatibilty
flag will be prepended for you. This will be the case with the docker-compose-buildkite-plugin unless you specifycli-version: 2
in your plugin config. - Docker build errors from docker compose will now exit with status code
17
or18
when previously they would have exited with code1
. Please adjust your retry rules accordingly. - The
docker
group is now a system group. Previously, its group ID was hard-coded to be1001
, but now it could take some value from999
descending. If you relied on the GID being hard-coded to1001
in your builds, they may have permission errors. We recommend you use something like the bash expressiongetent group docker | awk -F: '{print $3}'
to detect what the ID of the docker group is instead.
Upgrading
Perform a CloudFormation stack update with the following URL:
https://s3.amazonaws.com/buildkite-aws-stack/v6.0.0/aws-stack.yml
If you want to launch a new stack, you can use this link (make sure not to use your production AWS account, create a new one for CI):
Documentation
v5.22.2
⚠️ Known Issues
This version of the Elastic CI Stack contains a version of the agent with known issues with uploading pipelines. Please use v6.2.0 or v5.22.3 instead.
v5.22.2 (2023-07-24)
Changed
- Bump buildkite-agent to v3.50.3 #1164 (@DrJosh9000)
Internal
Upgrading
Perform a CloudFormation stack update with the following URL:
https://s3.amazonaws.com/buildkite-aws-stack/v5.22.2/aws-stack.yml
If you want to launch a new stack, you can use this link (make sure not to use your production AWS account, create a new one for CI):
Documentation
v5.22.1
⚠️ Known Issues
This version of the Elastic CI Stack contains a version of the agent with known issues with uploading pipelines. Please use v6.2.0 or v5.22.3 instead.
v5.22.1 (2023-07-21)
Changed
Upgrading
Perform a CloudFormation stack update with the following URL:
https://s3.amazonaws.com/buildkite-aws-stack/v5.22.1/aws-stack.yml
If you want to launch a new stack, you can use this link (make sure not to use your production AWS account, create a new one for CI):
Documentation
v5.22.0
⚠️ Known Issues
This version of the Elastic CI Stack contains a version of the agent with known issues with uploading pipelines. Please use v6.2.0 or v5.22.3 instead.
v5.22.0 (2023-07-20)
Changed
- Bump buildkite-agent to v3.50.1 #1157 (@DrJosh9000)
- Handle hard failures (eg. kernel panic) during bootstrap #1143 (@trvrnrth)
- Backport de-experimentifying git-mirrors #1141 (@triarius)
- Enable ansi-timestamps iff BuildkiteAgentTimestampLines is false #1132 (@triarius)
- Don't (re)install docker (on Windows) #1136 (@triarius)
Upgrading
Perform a CloudFormation stack update with the following URL:
https://s3.amazonaws.com/buildkite-aws-stack/v5.22.0/aws-stack.yml
If you want to launch a new stack, you can use this link (make sure not to use your production AWS account, create a new one for CI):
Documentation
v6.0.0-beta2
We've been dogfooding v6.0.0-beta1 for some time and are ready to make another beta release.
Known Issues
- Building docker images intermittently fails with
connection aborted
andIO ERROR
when trying to write files to the container's file system. This happens reasonably infrequently, and we recommend detecting build errors from docker and retrying, either inside your build scripts or by retrying the command step. If you are using docker compose to build images, or the docker-compose-buildkite-plugin, the exit status to retry on will be17
in most cases. - If you invoke docker compose with the
docker-compose
command, the--compatibilty
flag will be prepended for you. We still recommend you use thecli-version: 2
syntax in your Buildkite docker-compose plugin blocks, which is the equivalent of invoking docker compose with thedocker compose
command. - The ID of the
docker
group is now determined when the docker package is installed. Previously it was hard-coded to be1001
, but now it is993
, but that may change in later releases. If you rely on the GID being hard-coded to1001
in your builds, they may have permission errors. We recommend you use something like the bash syntaxgetent group docker | awk -F: '{print $3}'
to detect what the ID of thedocker
group is instead.
v6.0.0-beta2 (2023-07-17)
Changed
- Bump docker compose to v2.20.0 and buildx to v0.11.1 #1150 (@triarius)
- Reorganise build scripts to restart docker after installing qemu #1149 (@triarius)
Fixed
- Fix issues with docker-compose plugin by creating a script to prepend
--compatibility
flag to docker-compose #1148 (@triarius) subuid
andsubgid
files no longer have multiple ranges #1149 (@triarius)
Upgrading
Perform a CloudFormation stack update with the following URL:
https://s3.amazonaws.com/buildkite-aws-stack/v6.0.0-beta2/aws-stack.yml
If you want to launch a new stack, you can use this link (make sure not to use your production AWS account, create a new one for CI):
Documentation
v6.0.0-beta1
We are excited to announce the release of v6.0.0-beta1 of the Elastic CI Stack for AWS. We have been using this internally in our pipelines for some time, and we are ready for the next phase of releasing it to customers.
Two highlights of this release are:
Amazon Linux 2023
We have upgraded the Base AMI for Linux EC2 instances to Amazon Linux 2023. This upgrade brings numerous improvements and updates to the underlying operating system. You can find more details on the changes made by Amazon in their official documentation here. Many packages have been added, upgraded, or removed since Amazon Linux 2, making Amazon Linux 2023 a more robust and up-to-date choice for your CI/CD runners.
This update was made in response to valuable feedback from our customers. Specifically, we received requests for Amazon Linux 2023 because Amazon Linux 2 did not support Node 18+, and our customers wanted to leverage the latest version of Node.js in their CI/CD workflows.
Multi-Platform Docker Image Support
We have added support for running and building multi-platform docker images on Linux. This feature allows you to build and run docker images on different architectures, such as arm64 images on x86_64 machines and vice versa. We have been using this to create multi-platform images for the Buildkite Agent, so we are excited to release it to our customers too.
We appreciate your input and strive to continuously improve our platform based on your needs. Thank you for your support, and we hope these updates enhance your CI/CD experience on AWS EC2.
Please refer to the full changelog for more details on all the changes and fixes included in this release. If you have any questions or need assistance, please don't hesitate to reach out to our support team. Happy deploying!
Known Issues
- The docker-compose-buildkite-plugin may need to be run with the configuration option
cli-version: 2
in some situations. We're likely to make this the default in a future version of the plugin, but for now we recommend you set this in your pipeline definitions. - The ID of the
docker
group is now determined when the docker package is installed. Previously it was hard-coded to be1001
, but now it is993
, but that may change in later releases. If you rely on the GID being hard-coded to1001
in your builds, they may have permission errors. We recommend you use something like the bash syntaxgetent group docker | awk -F: '{print $3}'
to detect what the ID of thedocker
group is instead.
v6.0.0-beta1 (2023-06-28)
Changed
- Upgrade base image to Amazon Linux 2023 #1122 (@triarius)
- Publish template to both
main
andmaster
#1129 (@triarius) - Increase job cancel grace period to 60s #1144 (@triarius)
- Allow the
MaxSize
to be 0 #1140 (@triarius) - Default EC2 instance names to stack name #1137 (@triarius)
- Rename the parameter
InstanceType
toInstanceTypes
#1138 (@triarius) - Rename the parameter
ManagedPolicyARN
toManagedPolicyARNs
#1138 (@triarius) - Rename the parameter
SecurityGroupId
toSecurityGroupIds
#1128 (@triarius) - Rename the parameter
EnableAgentGitMirrorsExperiment
toBuildkiteAgentEnableGitMirrors
#1123 (@triarius) - Enable the
ansi-timestamps
setting if and only ifBuildkiteAgentTimestampLines
parameter is"false"
#1132 (@triarius)
Added
- Support running and building multi-platform docker images #1139 #1122 (@triarius)
- Support i4g instance types #1138 (@triarius)
- The parameter
SpotAllocationStrategy
#1130 (@triarius)
Fixed
Removed
- Remove deprecated
SpotPrice
parameter #1130 (@triarius) - These packages are either not available on Amazon Linux 2023, or not installed by default on the base image we use. We have decided to not make them available as suitable replacements are available.
- Python 2
- OpenSSL v1.0
- AWS CLI v1
- Docker-Compose v1
- Cronie
Upgrading
Perform a CloudFormation stack update with the following URL:
https://s3.amazonaws.com/buildkite-aws-stack/v6.0.0-beta1/aws-stack.yml
If you want to launch a new stack, you can use this link (make sure not to use your production AWS account, create a new one for CI):
Documentation
v5.21.0
v5.21.0 (2023-05-25)
Changed
- Bump
buildkite-agent
to v3.47.0 #1120 (@DrJosh9000) - Bumping python from 3.7 to 3.10 #1117 (@123sarahj123)
- Bump Docker buildx from 0.10.4 to 0.10.5 #1119 (@orien)
- Bump
buildkite-agent-scaler
to v1.4.0 #1118 (@triarius)
Upgrading
Perform a CloudFormation stack update with the following URL:
https://s3.amazonaws.com/buildkite-aws-stack/v5.21.0/aws-stack.yml
If you want to launch a new stack, you can use this link (make sure not to use your production AWS account, create a new one for CI):
Documentation
v5.20.0
5.20.0 (2023-05-05)
Changed
- Bump buildkite-agent to v3.46.0 #1114 (@moskyb)
- Update description of BuildkiteAdditionalSudoPermissions parameter #1113 (@triarius)
Fixed
Upgrading
Perform a CloudFormation stack update with the following URL:
https://s3.amazonaws.com/buildkite-aws-stack/v5.20.0/aws-stack.yml
If you want to launch a new stack, you can use this link (make sure not to use your production AWS account, create a new one for CI):
Documentation
v5.19.0
v5.19.0 (2023-04-24)
Added
Fixed
Upgrading
Perform a CloudFormation stack update with the following URL:
https://s3.amazonaws.com/buildkite-aws-stack/v5.19.0/aws-stack.yml
If you want to launch a new stack, you can use this link (make sure not to use your production AWS account, create a new one for CI):