Support generating tags using our anti-versioning approach #135
Labels
No Label
abra
abra-gandi
awaiting-feedback
backups
bug
build
ci/cd
community organising
contributing
coopcloud.tech
democracy
design
documentation
duplicate
enhancement
finance
funding
good first issue
help wanted
installer
kadabra
performance
proposal
question
recipes.coopcloud.tech
security
test
wontfix
No Milestone
No project
No Assignees
3 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: coop-cloud/organising#135
Loading…
Reference in New Issue
No description provided.
Delete Branch "%!s(<nil>)"
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?
coop-cloud/abra#93
Once we sort #120, this can be done. It'll require some rejigging of https://apps.coopcloud.tech but we can do it all in one go and just put it to bed once and for all.
Things to be done:
--major
,--minor
and--patch
as flags for generating the new tag¹ person A pulls wordpress version 2.4.1
person B pulls wordpress version 2.4.1
person A makes a minor change, pushes their work and the freshest wordpress version becomes 2.5.0
person B makes a patch on top of 2.4.1 and runs abra recipe release wordpress --patch but abra reads the tags from the remote repo and takes 2.5.0 as the newest version. So really it should be 2.4.2 but it's gonna get tagged as 2.5.1
the solution for that would be to not download tags from the remote before generating a new tag and only using the local tags.
zomg brain melter, just jotting this down, checked with @knoflook and this is maybe what the catalogue might looks like:
I'm still trying to wrap my head around the "big picture" flow of this. Is it this?
the recipe catalogue (apps.coopcloud.tech) is the source of truth for "which versions are published"
you run
abra recipe upgrade <recipe>
andabra recipe sync <recipe>
before running this newabra recipe tag <recipe>
command.upgrade
/sync
will leave unchecked in changes into~/.abra/apps/<recipe>
(new image tags and new deploy labels which match those tags)abra recipe tag <recipe>
considers the local repository with unchecked in changes. It checks theapp
service tag and looks in the recipe catalogue versions list. If theapp
image tag is, say,2.3.1
then we're looking for ana.b.c
part of thex.y.z+a.b.c
which matches? From there, we can do comparisons on the service tags and then ask the user - is this a minor/major/patch upgrade for thex.y.z
part? (this is the un-automatable part, right?)if there is no matching
a.b.c
part in the recipe catalogue then we can automate this release? We can follow the patch/minor/major of the upgrade and change thex.y.z
part to match?Unfinished thoughts...think we should deffo try to break stuff down into small parts and then just test the shit out of it...down to plan a meeting in to chat about this!
Some notes from previous chat: https://pad.autonomic.zone/SX1Hs84mSDSkU6DZy2KdDA?both
We're also planning in a chat this coming tuesday to work out more details together.