emissary-ingress / emissary

open source Kubernetes-native API gateway for microservices built on the Envoy Proxy
https://www.getambassador.io
Apache License 2.0
4.35k stars 683 forks source link

Rebuild the CI pipeline #5711

Open kflynn opened 3 months ago

kflynn commented 3 months ago

Emissary 4's build system is so very different from Emissary 3's that I think the smart move here is to toss the existing CI pipeline and recreate something simpler. My gut feel (which might well be wrong!) is that the most sane path forward is maybe to start with a pipeline that does something like

or something like that. The points here:

  1. We can, and should, run static analysis and unit tests before building images at all. (I suppose we could do this in parallel with building images, but let's start with making it a gate?)
  2. We can, and should, build and test images without ever pushing them to GHCR.
  3. We should only publish to GHCR when the repo has an appropriate tag, because goreleaser makes building your own images reliably really easy.
  4. We may well need to completely redo E2E anyway.
kflynn commented 3 months ago

@the-wondersmith and @chen-anders, y'all have expressed interest in this, I believe. 🙂

the-wondersmith commented 3 months ago

@kflynn absolutely.