Releases: einaregilsson/beanstalk-deploy
v22
v21 - Use node16 runner
Retry throttled API requests for all operations
Changed the AWS logic so now all operations will retry with exponential back-off when they are throttled by AWS. Max 10 retry attempts for every operation, the retry attempts will be logged as warnings in the build log.
Thanks to @n-hebert for his contributions.
Allow upload only actions to result in no change when version already exists.
When you use the action without an environment name then it only creates a new version in Beanstalk but doesn't deploy it anywhere. This can for example be used if you want to first just upload a version, then run the action again to deploy to many environments in
a matrix action. If a workflow run fails somewhere after you've uploaded the version you might want to run it again. In that case it can be useful to run an upload only action that checks if a version already exists in Beanstalk and does nothing if the version exists.
This can now be done by setting the use_existing_version_if_available
parameter to true
. When it's set to true
and no environment name is set then the action will check if the version exists and exit successfully if it exists. If it doesn't exist the action uploads the version.
Thanks to @n-hebert for the pull-request.
Use existing bucket option
One new feature in this release, the ability to use an existing bucket for your builds, not the one EB creates for you. Use the optional existing_bucket_name
parameter to specify a bucket. Thanks to @dsiemensma-m4m who contributed this change.
Use region specific buckets
This release fixes an issue with buckets in regions other than the default region. No change is needed to the parameters, it should just work now.
Fix encoding of version label and description
Two changes in this release:
-
A lot of special character errors were happening because a lot of characters are illegal in S3 filenames but are legal in the version label itself in Elastic Beanstalk. So now we replace any characters other than letters, numbers and - and _ with a dash, - in the S3 filename, but leave the version label as it is. The only character that Elastic Beanstalk itself has a problem with in a version label is the forward slash /, so you still can't use that one.
-
Many people like to use their latest commit message
${{github.event.head_commit.message}}
as the version description but were having problems. The action will now truncate the message at 200 characters, so it doesn't cause Elastic Beanstalk to reject it. It's now also encoding asterisk * correctly, which was causing a lot of squash commits to fail.
Allow more special characters in version label
One change in this release. A lot of special character errors were happening because a lot of characters are illegal in S3 filenames but are legal in the version label itself in Elastic Beanstalk. So now we replace any characters other than letters, numbers and - and _ with a dash, - in the S3 filename, but leave the version label as it is.
The only character that Elastic Beanstalk itself has a problem with in a version label is the forward slash /, so you still can't use that one.
Special characters in version description
You can now use the special characters ()!:
for the version_description
parameter. I think we now cover the full range of special characters there, but let me know if you still get problems.
Bugfix: Applications can now have spaces in the name
Fixes old bug where you couldn't deploy to applications with a space in the name.