ci: break up ci.yaml into smaller workflow files - use workflow calls
Description
The ci.yaml file is huge and it makes it more difficult to resolve merge conflicts in it and also to make changes.
We should keep ci.yaml but it should mostly just import other workflow files so that it's easier to maintain.
Acceptance Criteria
- No performance degradation
- Tests are still passing
- Parallelism we currently have is not reduced.
Hii, @petermetz can I work on this, please?
Hii, @petermetz can I work on this, please?
@Dev-Destructor Sure thing! Let me know if any questions!
Hii, @petermetz can I work on this, please?
@Dev-Destructor Sure thing! Let me know if any questions!
Yeah sure, thanks for assigning me.
@petermetz just a quick question:-
- How many smaller workflows are you thinking about?
@petermetz just a quick question:-
- How many smaller workflows are you thinking about?
@Dev-Destructor It's a bit of an iterative/experimenting process to find out the right combination but my initial idea would be to do one per monorepo package. This means most of the time a single job per package but for the fabric connector for example there's 10+ jobs so there it will be more.
That could be a good idea to look into depending on how well it fits with the other PR that is working on dynamic diff analysis to determine which jobs to run: https://github.com/hyperledger/cacti/issues/2364
On Sun, Sep 3, 2023 at 9:52 AM Debobrata Pal @.***> wrote:
Another suggestion, if we are splitting the workflow by packages then how about we invoke the workflow not just by using branches but also paths? For example:- the cactus-core workflow will only invoke whenever someone pushes inside the cactus-core package. That way other workflows won't be invoked for changes in a specific path. I might be wrong. Please share your thoughts on that.
name: Cactus_CI 'on': pull_request: branches: - main - dev - petermetz/** push: branches: - main - dev
— Reply to this email directly, view it on GitHub https://github.com/hyperledger/cacti/issues/2639#issuecomment-1704351681, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAMCQ76SQXO52I2JIYPFTVLXYSYVJANCNFSM6AAAAAA35RHXQA . You are receiving this because you were mentioned.Message ID: @.***>
That could be a good idea to look into depending on how well it fits with the other PR that is working on dynamic diff analysis to determine which jobs to run: #2364 … On Sun, Sep 3, 2023 at 9:52 AM Debobrata Pal @.> wrote: Another suggestion, if we are splitting the workflow by packages then how about we invoke the workflow not just by using branches but also paths? For example:- the cactus-core workflow will only invoke whenever someone pushes inside the cactus-core package. That way other workflows won't be invoked for changes in a specific path. I might be wrong. Please share your thoughts on that. name: Cactus_CI 'on': pull_request: branches: - main - dev - petermetz/ push: branches: - main - dev — Reply to this email directly, view it on GitHub <#2639 (comment)>, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAMCQ76SQXO52I2JIYPFTVLXYSYVJANCNFSM6AAAAAA35RHXQA . You are receiving this because you were mentioned.Message ID: @.**>
Okay, looking into it :-)