FINERACT-2421: Rework Github Actions workflow#5927
Conversation
d98d151 to
3c5866e
Compare
c776325 to
565934e
Compare
|
@adamsaghy try rebasing now. |
6072c1b to
79b7b4c
Compare
|
Looks fine, I guess? I'd also appreciate a brief explanation of the changes. |
meonkeys
left a comment
There was a problem hiding this comment.
Please provide a brief explanation of the changes.
Updated the description. Thank you for reminding me! |
meonkeys
left a comment
There was a problem hiding this comment.
LGTM, but I don't have much experience with github actions. I do a lot of local builds.
79b7b4c to
67fa0b3
Compare
|
@adamsaghy I think we can also allow upload logs in case of release ready branches. What do you think on that? While on PR we can only upload failure logs but release ready branches i think it would be great practice to keep logs on that. |
I am not sure, i am following you on this one. |
My reasoning behind this is that. from what i know that will be used by many forks and organizations so it will be beneficial for us in that case if something gone wrong in code despite passing checks and e2e. Sometimes keeping this logs comes handy if there is any logical bugs or any undetected regressions later on. Or for rollback anything lateron. I am not blocking this PR but for observability we need to rethink that. |
I dont think we did or used the logs for that ever... Logical bugs: lead to bugfixes, but you wont be able to identify by going through the "green" tests... The rule of thumb we were following so far: |
Description
This PR is trying to improve on multiple ways of our CI execution:
Having a common action to setup and build Fineract -> action.yml
Reusing this common setup and build across Fineract -> Building a workspace and upload as artifact is reverted till further investigation around restrictions / limitations and costs. Alongside i would like to compare execution times, usage metrics between the two approaches.
Uploading and archiving artifacts (logs) only if workflow job fails. In case of success, these are not relevant anymore -> No need to upload and store them
Retention days to be reduced to 1 day: More than enough to evaluate logs, no need to further collect and store them
Compression level to be increased, even the used artifact storages should be minimal -> Consideration for users who are running Fineract CI on private repo or their own runner.
Timeout: Increased timeout to ensure, even if the job is queued for a longer time, still fit into the timeframe
Limiting branches to be used to execute full CI -> By default only develop (later main) and releases and tags to be considered
Adding concurrency group and cancel prior execution in case a CI execution is triggered on a newer version of the code changes / PR
chat
Checklist
Please make sure these boxes are checked before submitting your pull request - thanks!
Your assigned reviewer(s) will follow our guidelines for code reviews.