avocado
avocado copied to clipboard
Splitting out utilities libraries from Avocado core repo
This issue is to track the progress of splitting out some libraries from the avocado core so we can better handle our distribution model and improve the user experience.
Hi @ana, I would like to help here. And I was thinking about the actual steps (since this is an epic issue):
- [ ] Create a new repo
avocado-framework/avocado-utils
oravocado-framework/utils
; - [ ] Start migrating a few libraries to there (I would recommend start by
network
, since it is pretty new and it was designed using a more "modern" approach") - [ ] Publish on pypi;
- [ ] Create proper fedora packages;
- [ ] Update main project packages to include it as dependency;
- [ ] Update our documentation
Probably I'm missing a lot of stuff here, let me know what you have thought about it. And when we came up with a big list of tasks we can update the description of this epic issue. What do you think?
@beraldoleal thanks, happy to work on this with you.
About the new repository, I was thinking in splitting it from the current one instead of creating a new empty one. This way, we can keep the git history. This would mean freezing changes under avocado/utils
in the current repository and forwarding people to submit their changes to the new one. This can be done automatically with a GitHub Action. How does this sound?
I'm ok with the spiting to keep git log. But we need to create a plan with regards the actual plugins that we are going to migrate.
One of the ideas was to have an improved version of the plugins with actual maintainers responsible for each plugin, not sure if is still valid. Anyway we do have some options:
- Migrate all plugins that we have to the new repo;
- Migrate only a few plugins and do a gradual migration.
IMO 2 is less error prune but one major drawback is having two places for utilities (afaict, I don't see as a big problem and we can think about the new repo as the "future"). What do you think?
@beraldoleal I think this is the moment to create a shared document and try to lay out there the options with more detail. Let me share an initial doc with you.