brigadecore / brigade

Event-driven scripting for Kubernetes
https://brigade.sh/
Apache License 2.0
2.4k stars 247 forks source link

improve speed and reliability of integration tests #1810

Closed krancour closed 2 years ago

krancour commented 2 years ago

Fixes #1809

The premise behind this improvement is simple -- that during CI, it's faster to push images we've already built to a registry and pull them later for the integration tests than it is to rebuild them later for the integration tests. What I do want to avoid, however, is publishing potentially unstable images that have not yet passed the full battery of tests to the same registries/repositories where we push stable images.

This PR modifies the brigade.ts script to select an "unstable" repository when pushing candidate images that still need to be integration tested and a "stable" repository when pushing the images associated with an official release.

The speed increase here also makes integration tests far less likely to time out.

I've already stood up an ACR instance to use for unstable images and relevant secrets have already been added. We can blow away all repositories in that registry periodically. We may even be able to automate that in a follow-up PR.

Other brigadecore repos do not need similar changes because this repo's complex integration tests are unique.

netlify[bot] commented 2 years ago

✔️ Deploy Preview for brigade-docs ready!

🔨 Explore the source changes: 676dd25b789f16373adeaa75c09e19410f3561e6

🔍 Inspect the deploy log: https://app.netlify.com/sites/brigade-docs/deploys/620ba342fc7da40008f890b3

😎 Browse the preview: https://deploy-preview-1810--brigade-docs.netlify.app