Skip to content

Merge node-pr.yml's install job into build and test#166

Merged
tmthrgd-aligent merged 1 commit into
mainfrom
fix/DO-1765_merge_node_install_job_into_build_and_test
Jul 2, 2026
Merged

Merge node-pr.yml's install job into build and test#166
tmthrgd-aligent merged 1 commit into
mainfrom
fix/DO-1765_merge_node_install_job_into_build_and_test

Conversation

@tmthrgd-aligent

Copy link
Copy Markdown
Contributor

Previously node-pr.yml worked in three stages. It would start by running an install job that would download and archive all node dependencies. It would then, in parallel, run separate build and test jobs that would start by installing node again and unpacking those dependencies.

This packing and unpacking step routinely took longer than the download did. It also consumes artifact storage space, which has caused persistent pipeline failures on one of our client hosted projects.

It also resulted in a lot of logic duplicated in three separate places.

Instead of all of this, we'll merge the install job into both the build and test jobs, and just download the node dependencies twice. This will actually result in faster pipeline runs approximately always.

It also gives us the advantage of having safe-chain installed in both build and test jobs. This could be advantageous if future changes were to see them run additional installs, or if they commands they execute from package.json were to run any install commands.

Previously node-pr.yml worked in three stages. It would start by running
an install job that would download and archive all node dependencies. It
would then, in parallel, run separate build and test jobs that would
start by installing node again and unpacking those dependencies.

This packing and unpacking step routinely took longer than the download
did. It also consumes artifact storage space, which has caused
persistent pipeline failures on one of our client hosted projects.

It also resulted in a lot of logic duplicated in three separate places.

Instead of all of this, we'll merge the install job into both the build
and test jobs, and just download the node dependencies twice. This will
actually result in faster pipeline runs approximately always.

It also gives us the advantage of having safe-chain installed in both
build and test jobs. This could be advantageous if future changes were
to see them run additional installs, or if they commands they execute
from package.json were to run any install commands.
@tmthrgd-aligent tmthrgd-aligent requested a review from a team as a code owner July 1, 2026 04:09
@tmthrgd-aligent

Copy link
Copy Markdown
Contributor Author

Have run a few tests against other repos and it fixes the Polyaire breakage as hoped.

PolyaireDev/polyaire-frontend: https://github.com/PolyaireDev/polyaire-frontend/pull/20. Action time goes from ~4:45 to ~4:00. (Failure is unrelated).
PolyaireDev/polyaire-digital-integration: https://github.com/PolyaireDev/polyaire-digital-integration/pull/23. Action time goes from ~1:56 to ~1:31.
aligent/aligent-applications-hosting: https://github.com/aligent/aligent-applications-hosting/pull/13. Action time seems largely unchanged.

@tmthrgd-aligent tmthrgd-aligent requested a review from AdamJHall July 1, 2026 05:10
@tmthrgd-aligent tmthrgd-aligent merged commit 1ce5720 into main Jul 2, 2026
3 checks passed
@tmthrgd-aligent tmthrgd-aligent deleted the fix/DO-1765_merge_node_install_job_into_build_and_test branch July 2, 2026 00:21

@aaronmedina-dev aaronmedina-dev left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants