Releases: einaregilsson/beanstalk-deploy
Fix encoding of version description
Tiny update. Version descriptions that had single quotes in them ' would ruin the signature of the AWS requests. Single quotes are now escaped properly.
Fix error detecting GitHub Actions run
GitHub stopped setting the GITHUB_ACTION
environment variable which we used to detected whether we were running as a console script or as an action. We now use the variable GITHUB_ACTIONS
to detect that.
v10
Two new features in this release:
- New parameter,
version_description
that lets you add a description to the version you're creating. - The parameter
environment_name
is now optional. Running the action with no environment name now just creates the version package in Beanstalk but does not deploy it anywhere.
Add "wait_for_deployment" parameter
New parameter available, wait_for_deployment
. Default value is true
. Controls whether the action waits for the deployment to be complete or whether it just starts it in AWS and then exits. Deployments, especially immutable ones can take a long time to complete and eat up a lot of GitHub Actions minutes. So if you prefer
to just start the deployment in Elastic Beanstalk and not wait for it to be completely finished then you can set this parameter to false
. Thanks to @kceb for the idea.
Handle throttled requests
Three new features in this release:
- Don't fail when
DescribeEvents
orDescribeEnvironments
calls get throttled by AWS. Will only fail on 5 consecutive failed requests. - Strip leading and trailing whitespace from input parameters.
- New optional parameter,
wait_for_environment_recovery
. Lets you control how many seconds to wait after a deployment for the environment to return to Green status. E.g. if you give 60 to this parameter it means that if 60 seconds after deployment is finished the environment status still isn't green we consider the deployment failed. Default value is 30 seconds.
Better logging of inputs and failures
No real new features in this one, but better logging:
- Log all inputs. Logs access and secret key lengths just to make sure they're there. A lot of errors have just been because people have messed up their inputs, and seeing them in the log makes those errors easier to find.
- Better logging of request errors, especially in the
DescribeApplicationVersion
API call. - During the wait for the deploy some users have been getting throttling errors from AWS. In those cases log exactly how many API calls we've made, to help diagnose why this is happening.
Slower polling for updates
The script now sends fewer requests for updates after the deployment starts. Some users were getting throttled by AWS for too many requests, so this should help with that. No other functional changes in this version.
Optional "use_existing_version_if_available" parameter.
Adds the optional parameter use_existing_version_if_available
. If it's set to true
then the program will use an existing version in Beanstalk if it exists, but otherwise upload the deployment_package
given and create the version and then deploy it. See issue #8 for discussion.
Fix incorrect input name
Only change in this release is updating the action.yml to show the region input name as region
which is what is actually used, instead of the incorrect aws_region
which was shown there before.
First release
First release.