Add a 'test recipe' or 'local-only recipe' mode to recipes #700
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?
To support development of new recipes, a way to mark recipes as
local-onlyortest, so they won't ever be considered for git things at all (or maybe, considered for git things but only ever local git things).This status would have to be changeable (e.g. at the end of development to release the new recipe) and also heavily indicated in listings, and such so that there'd be no confusion on the operator's part that it's not been released.
In addition to supporting development of recipes pre-release, I believe that properly implemented this might lead the way toward multiple recipe repositories, rather than the centralized, single source we have now.
@cas a lot of this is already possible, I believe, but it's not well documented.
You can manually create releases (git tags) for recipes, or just
abrawithout the--publishflag to do it. Andabrawill understand those local tags and show them as release targets. I am not sure this is tested and I've just set up a new laptop so cannot re-confirm right now myself.It's already possible to completely divest from the centralised catalogue by using remote recipes in combination with
abra.yml(for convenience).For moving away from the central catalogue in a more structural way, I think we need to move towards a web API approach. The single JSON blob for the catalogue is really starting to slow
abradown. Also, doing comparison operations (is this local? is this remote?) is getting more costly as the catalogue grows.Concretely, for the ignore logic, I think you could add a
ignoreRecipes: [myRecipe, myOtherRecipe]to theabra.ymlwhich could somehow be loaded and then added at runtime into the usualRecipestruct? This would require adapting git-ops related code to check this flag then and ignore if necessary. I am not sure if this would be a big change or not.Hope this helps.
Thank you for this information!
The ignoreReucipes idea is a good one, if I get some abra hacking time I'll try to look at it.
I actually explored local recipes a while back and have a prototype laying around somewhere!
It works by setting
RECIPE=./my-local-recipeIt then ignores every got operation and just treats it like a nor all folder. This allows you to track the files in the same git repo as your app configs. If you are interested I can push my code and you can have a look at it
Hell yes @p4u1, please do push that code up somewhere!
@cas review/testing super welcome! #717