spinkube / containerd-shim-spin

A ContainerD shim for running Spin Applications.
Apache License 2.0
82 stars 16 forks source link

Canary images are seemingly built against PRs #225

Open bacongobbler opened 3 weeks ago

bacongobbler commented 3 weeks ago

@kate-goldenring and I were testing the canary release of containerd-shim-spin this morning. The latest canary appears to be pointing to 636a7f5, which appears to be a commit from #224.

Shouldn't node-installer images be built only when a PR is merged to main?

https://github.com/spinkube/containerd-shim-spin/pkgs/container/containerd-shim-spin%2Fnode-installer/300921402?tag=20241105-224120-g636a7f5

vdice commented 3 weeks ago

That is indeed the case today: node-installer images are pushed for branches/PRs on origin. This functionality was added as I recall there being requests to publish artifacts for more impactful branches/PRs. Ref https://github.com/spinkube/containerd-shim-spin/blob/main/README.md#locating-build-artifacts for a full breakdown on CI artifacts.

However, we can certainly disable this if we'd prefer images only be pushed from main. Contributors could then merge to main on their forks if they required artifacts while working on features. Or we could perhaps continue publishing but with a different repo name (eg ghcr.io/spinkube/containerd-shim-spin/node-installer-pr) or tag naming convention?

For today, to select an image published via a commit on main, acquire the desired commit and then locate the corresponding artifact via the $(date +%Y%m%d-%H%M%S)-g$(git rev-parse --short HEAD) naming convention. Eg, https://github.com/spinkube/containerd-shim-spin/commit/45010e1ab10740f2d8f1af5c1106f2076385328f is the current main commit and its corresponding Docker image is https://github.com/spinkube/containerd-shim-spin/pkgs/container/containerd-shim-spin%2Fnode-installer/300913767?tag=20241105-221902-g45010e1