Support generating tags using our anti-versioning approach #135
Closed
opened 2021-09-09 13:02:52 +00:00 by femmefaytale
·
5 comments
Labels
Clear labels
abra
awaiting-feedback
backups
bug
build
ci/cd
community organising
contributing
coopcloud.tech
design
documentation
duplicate
enhancement
fedi
fedi-infra
finance
funding
good first issue
help wanted
installer
legal
performance
proposal
question
security
test
wontfix
Everything to do with abra
Ping/pong on comms
Something is not working
Go build related issues
Getting the robots into the mix
Opening this thing up
Contributors stuff
Our main website
Design thinking required
Let's write things together
This issue or pull request already exists
New feature
Democratic decision making
Money things
Anything related to grant funding
Easy start with development
Need some help
Installation related issues
Performance related
Large change which requires feedback & decisin making
More information is needed
Securing our shit
Unit or integration test suite
This won't be fixed
No labels
enhancement
Milestone
No items
No Milestone
Projects
Clear projects
No projects
Assignees
3wordchant
aadil (Aadil Ayub)
abra-bot (Abra Bot)
ammaratef45
amras (Sarma)
Apfelwurm
BornDeleuze
Brooke
carla
cas (Cassowary)
coopcloud
cyrnel
decentral1se (d1)
dede
devydave
fauno (fauno)
iexos
jade (Jade Ambrose)
jjsfunhouse
jmakdah2 (Jackie Makdah)
joe-irving (Joe Irving)
kawaiipunk (KawaiiPunk)
knoflook
kolaente
lambdabundesverband
linnealovespie (April)
moosemower
moritz
notplants
oxaliq (sorrel)
p4u1
pharaohgraphy (Andrew 🐦🔥❤️🔥✴️)
renovate-bot (Comrade Renovate Bot)
ripclap
simon
sixsmith (Sixsmith)
stevensting
trav (Trav Fryer)
val (val (he/him))
yksflip
Clear assignees
No Assignees
knoflook
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: toolshed/organising#135
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.
coop-cloud/abra#93
Once we sort coop-cloud/organising#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,--minorand--patchas 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/syncwill 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 theappservice tag and looks in the recipe catalogue versions list. If theappimage tag is, say,2.3.1then we're looking for ana.b.cpart of thex.y.z+a.b.cwhich 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.zpart? (this is the un-automatable part, right?)if there is no matching
a.b.cpart in the recipe catalogue then we can automate this release? We can follow the patch/minor/major of the upgrade and change thex.y.zpart 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.