BAU: Simplify frontend deployment process #1795
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
What
Previously we had two workflows:
The second workflow was triggered by the completion of the first.
This could lead to a situation where due to network slowdowns, two PRs merged in a short space of time could have their metadata (and possibly terraform) mixed up: the checkout stage in the deploy job just pulled the HEAD commit from the repo, regardless of the commit the
build and push
job was spawned from.In this new single workflow, we build the image and push the terraform within the same workflow run, meaning that race conditions are no longer possible.
Additionally, I've added a concurrency group, to ensure that only one deploy job can run at once.
Finally, I've added an actionlint pre-commit hook and improved the two
node
hooks - instead of building up a docker container each time, it just uses the localnode_modules
folder and runs the tasks natively. This is far faster.How to review