Implement recipe upgrade/sync/release #39
Closed
opened 2021-08-03 09:59:11 +00:00 by decentral1se
·
4 comments
No Branch/Tag Specified
main
renovate/golang-1.26
renovate/github.com-charmbracelet-lipgloss-2.x
renovate/github.com-charmbracelet-bubbletea-2.x
renovate/otel-weaver-0.x
renovate/tonistiigi-xx-1.x
renovate/alpine-3.x
renovate/github.com-charmbracelet-log-2.x
chore-deps
fix/492
fix/deps
fix/613
0.13.0-beta
0.13.0-rc2-beta
0.13.0-rc1-beta
0.12.0-beta
0.11.0-beta
0.10.1-beta
0.10.0-beta
0.10.0-rc2-beta
0.10.0-rc1-beta
0.9.0-beta
0.8.1-beta
0.8.0-beta
0.8.0-rc2-beta
0.8.0-rc1-beta
0.7.0-beta
0.7.0-rc3-beta
0.7.0-rc2-beta
0.6.0-beta
0.5.1-beta
0.5.0-alpha
0.4.1-alpha
0.4.0-alpha
0.4.0-alpha-rc8
0.4.0-alpha-rc7
0.4.0-alpha-rc6
0.4.0-alpha-rc5
0.4.0-alpha-rc4
0.4.0-alpha-rc3
0.4.0-alpha-rc2
0.4.0-alpha-rc1
0.3.1-alpha-rc2
0.3.1-alpha-rc1
0.3.1-rc1
0.3.0-alpha
0.2.2-alpha
0.2.1-alpha
0.2.0-alpha
0.1.8-alpha
0.1.7-alpha
0.1.6-alpha
0.1.5-alpha
0.1.4-alpha
0.1.3-alpha
0.1.2-alpha
0.1.1-alpha
0.1.0-alpha
10.0.5
10.0.3
10.0.2
10.0.1
10.0.0
9.0.0
8.0.1
8.0.0
0.7.4
0.7.3
0.7.2
0.7.1
0.7.0
checkout
0.6.0
0.5.0
0.4.1
0.4.0
0.3.1
0.3.0
0.2.0
0.1.2
0.1.1
0.1.0
Labels
Clear labels
bug
build
ci/cd
critical fix
design
documentation
duplicate
easy-first-issue
enhancement
help wanted
i10n
i18n
installer
invalid
question
release
release-candidate
security
tech-debt
test
wontfix
Something is not working
go build related issues
Building things with CI/CD
https://docs.coopcloud.tech/federation/resolutions/passed/010/
UI/UX
Documenting all the things
This issue or pull request already exists
Something for new people to get stuck into. We hope it's easy!
New feature
Need some help
Everything to do with localisation
Everything to do with internationalisation
Everything to do with the install script.
Something is wrong
More information is needed
Release management
Related to the new release candidate
Security related
Unit/integration testing
This won't be fixed
No Label
Milestone
No items
No Milestone
Projects
Clear projects
No project
Assignees
3wordchant
aadil (Aadil Ayub)
abra-bot (Abra Bot)
ammaratef45
amras (Sarma)
Apfelwurm
BornDeleuze
Brooke
carla
cas (Cassowary)
coopcloud
cyrnel
decentral1se (decentral1se)
dede
devydave
fauno (fauno)
iexos
jade (Jade Ambrose)
jjsfunhouse
jmakdah2
joe-irving (Joe Irving)
kawaiipunk (KawaiiPunk)
knoflook
kolaente
lambdabundesverband
linnealovespie
moosemower
moritz
notplants
oxaliq (sorrel)
p4u1
pharaohgraphy (Andrew 🐦🔥❤️🔥✴️)
renovate-bot (Comrade Renovate Bot)
ripclap
simon
sixsmith (Sixsmith)
stevensting
trav
val (val (he/him))
yksflip
Clear assignees
No Assignees
decentral1se
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: toolshed/abra#39
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
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 releasestuff...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.goto do image meta retrieval like we did inabra-bash. I think we also usedskopeo loginto 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.jsonwill sit in a separate repository.Implement recipe release/lintto Implement recipe upgrade/sync/releaseOK,
abra recipe upgradeandabra recipe syncare 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 releasecommand 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.