Implement recipe upgrade/sync/release #39
Loading…
x
Reference in New Issue
Block a user
No description provided.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
I'm gonna try finish off the recipe sub-command 🥳
OK
abra recipe lint <recipe>
is done and seeing how easy all the Docker bindings make it to parse compose files and work with them really makes me think we've gone in the right direction here:9378db1979/cli/recipe/recipe.go (L152)
On to the
abra recipe release
stuff...We used https://github.com/containers/skopeo which I see also has little in the way of a public API so I might have to vendor
inspect.go
to do image meta retrieval like we did inabra-bash
. I think we also usedskopeo login
to avoid rate limits.Other options:
We discussed this and came up with a design (from this pad):
3 abra commands:
recipe upgrade <recipe>
(skopeo) -> update image tags to latest [renovate-bot]recipe sync <recipe>
update labels based on image tags,git tag
..., push to recipe reporecipe release <recipe>
update apps.json (open PR on that repo. push a branch?)And the
apps.json
will sit in a separate repository.Implement recipe release/lintto Implement recipe upgrade/sync/releaseOK,
abra recipe upgrade
andabra recipe sync
are in! They don't do any Git operations, just update the compose files on the local file system. It doesn't generate tags yet. No skopeo or external binaries required 🥳I actually started to have my doubts about the
abra recipe release
command and tag generation because I am not sure how "releasing" interacts with the app test suite we want to do. Maybe we'll still want to upgrade/sync ourselves and push that up for CI to run the test suite, generate the tag and make the final release?Idk but it felt like right now it'd be better to just leave things manual, get on with the rest and see how we go from there.