-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Migrate CI from TeamCity to GitHub Actions #24
Conversation
This is done using guardian/actions-riff-raff which is configured in the build.yml workflow file.
Previously this was being done by node-riffraff-artifact
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks great! Added a couple of minor comments.
As yarn comes pre-installed in the environment
To ensure different versions of dependencies are not installed during CI
UPDATE: I have added the |
Since making this change I tested by successfully deploying to PROD (there is no CODE stage), verifying that the cloudformation template has been replaced in AWS, and testing the lambda function in AWS, which runs successfully. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What does this change?
This migrates CI from TeamCity to GitHub Actions.
Previously the deprecated
node-riffraff-artifact
module was used to compress the bundled file into a .zip file and upload files to Riff-Raff. This PR moves to using the Actionactions-riffraff
instead and does the zipping manually, as this Action does not support compression.Trello card is here.
Further work
Node version 12 is defined in the
.nvmrc
, and version 14 is defined in cloudformation as the lambda runtime environment. Node 14 will be deprecated for AWS lambdas on Nov 27, 2023, so this will need to be upgraded, as well as upgrading the application node version.How to test
This has been tested by comparing the zip files from a previous successful build to a new build.
The size of the zip files are slightly different, but downloading each file and running
unzip -l front-press-monitor.zip
on the command line confirms that the unzippedindex.js
files are the same size.This has also been tested by testing the lambda function in AWS - it ran successfully, as confirmed by these logs:
Rollout
UPDATE: I have added the cloudformation.yml template to the files uploaded to riff-raff (previously this would have been done manually) and have configured the riff-raff.yaml file to enable riff-raff to deploy this.