Open Mandera opened 1 year ago
I also want to an initial step to halt simultaneous actions, somehow prioritize the first one, race condition is fine
Also stop creating so many commit when not needed, only commit if something changed
I think I should take an even bigger step back -- The entire workflow is convoluted. I'm trying to do everything at once, so let's break it down.
When changed:
If the version is bumped and tests pass then we publish.
Currently, these 2 of these steps happen for all 5 of my general packages (only Python) with every commit. Step 3 happens if the version is bumped. Workflow takes a long time and scales poorly. Doesn't handle external dependencies.
I think it's a mistake to treat my dependents differently. Workflow should run when any dependency is updated.
Since Packager isn't a dependency for Library, Library won't be triggered when Packager is published. This is where we can make high-level functions to manually re-sync everything. Oh but wouldn't this require a bump and push, to test and publish? Which would trigger everything. Perhaps a simple re-sync would never warrant a bump on its own.
dep <= x
C depends on B B depends on A
Recursive workflows, not ideal
If we can make indirect dependencies trigger then this seems better! I guess we could also rely on manual and scheduled triggers.
Probably don't bother, would mess up the dependency chain cause it would look like my package directly requires all indirect dependencies, it would "flatten" the chain.
I'll need to support private dependencies in the future, perhaps wait with this for now
I want to support [LINUX] and [WINDOWS] for when I only want to test on a single quick instance. Hmm maybe being able to write [3.8] could be good too. What about any combination?