Merge aws-cdk.yml's prepare and cdk jobs#176
Conversation
9c04df1 to
3dd2b96
Compare
Previously aws-cdk.yml was split into two separate jobs, one containing the 'preparation' steps and one performing the actual work. Between these two jobs it shared the node_modules directory as an artifact. This packing, uploading, downloading and unpacking step adds needless overhead and may take upwards of 30s to complete. It also consumes artifact storage space, which has caused persistent pipeline failures on one of our client hosted projects. This separation serves no meaningful purpose so we merge them into one single job. It also gives us the slight advantage of having safe-chain installed throughout the entire workflow rather than just the prepare job. This is a useful defence in depth measure, though it is unlikely to offer any real security benefit.
3dd2b96 to
05d05a6
Compare
|
Changes have been successfully tested against a number of repositories: https://github.com/aligent/manta-cdk/pull/4, https://github.com/aligent/remote-cmd-bastion-hosting/pull/10, https://github.com/aligent/spendless-shoegroup-cdk/pull/10, https://github.com/PolyaireDev/polyaire-digital-integration/pull/26, https://github.com/aligent/otr-hosting/pull/3 and https://github.com/aligent/internal-infra/pull/2. This is a hard one to test as deployments aren't something we can just do for the sake of a test, that being said, https://github.com/PolyaireDev/polyaire-digital-integration/pull/26 does test a deployment to a dev environment. All PRs have passing checks, have had their logs inspected for correctness and where logs of previous runs still exist, they have been compared for consistency. |
Previously aws-cdk.yml was split into two separate jobs, one containing the 'preparation' steps and one performing the actual work. Between these two jobs it shared the node_modules directory as an artifact.
This packing, uploading, downloading and unpacking step adds needless overhead and may take upwards of 30s to complete. It also consumes artifact storage space, which has caused persistent pipeline failures on one of our client hosted projects.
This separation serves no meaningful purpose so we merge them into one single job.
It also gives us the slight advantage of having safe-chain installed throughout the entire workflow rather than just the prepare job. This is a useful defence in depth measure, though it is unlikely to offer any real security benefit.