Skip to content

FINERACT-2421: Rework Github Actions workflow#5927

Draft
adamsaghy wants to merge 1 commit into
apache:developfrom
openMF:FINERACT-2421/rework-github-actions-workflow
Draft

FINERACT-2421: Rework Github Actions workflow#5927
adamsaghy wants to merge 1 commit into
apache:developfrom
openMF:FINERACT-2421/rework-github-actions-workflow

Conversation

@adamsaghy
Copy link
Copy Markdown
Contributor

@adamsaghy adamsaghy commented Jun 3, 2026

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!

  • Write the commit message as per our guidelines
  • Acknowledge that we will not review PRs that are not passing the build ("green") - it is your responsibility to get a proposed PR to pass the build, not primarily the project's maintainers.
  • Create/update unit or integration tests for verifying the changes made.
  • Follow our coding conventions.
  • Add required Swagger annotation and update API documentation at fineract-provider/src/main/resources/static/legacy-docs/apiLive.htm with details of any API changes
  • This PR must not be a "code dump". Large changes can be made in a branch, with assistance. Ask for help on the developer mailing list.

Your assigned reviewer(s) will follow our guidelines for code reviews.

@adamsaghy adamsaghy force-pushed the FINERACT-2421/rework-github-actions-workflow branch from d98d151 to 3c5866e Compare June 3, 2026 10:45
@adamsaghy adamsaghy requested review from Aman-Mittal and meonkeys June 3, 2026 11:18
@adamsaghy adamsaghy force-pushed the FINERACT-2421/rework-github-actions-workflow branch 3 times, most recently from c776325 to 565934e Compare June 3, 2026 11:42
@Aman-Mittal
Copy link
Copy Markdown
Member

@adamsaghy try rebasing now.

@adamsaghy adamsaghy force-pushed the FINERACT-2421/rework-github-actions-workflow branch 2 times, most recently from 6072c1b to 79b7b4c Compare June 3, 2026 14:53
@meonkeys
Copy link
Copy Markdown
Contributor

meonkeys commented Jun 3, 2026

Looks fine, I guess? I'd also appreciate a brief explanation of the changes.

Copy link
Copy Markdown
Contributor

@meonkeys meonkeys left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please provide a brief explanation of the changes.

@adamsaghy adamsaghy requested a review from meonkeys June 3, 2026 18:00
@adamsaghy
Copy link
Copy Markdown
Contributor Author

Please provide a brief explanation of the changes.

Updated the description. Thank you for reminding me!

@meonkeys meonkeys dismissed their stale review June 3, 2026 18:02

Thanks for adding description.

Copy link
Copy Markdown
Contributor

@meonkeys meonkeys left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, but I don't have much experience with github actions. I do a lot of local builds.

@adamsaghy adamsaghy force-pushed the FINERACT-2421/rework-github-actions-workflow branch from 79b7b4c to 67fa0b3 Compare June 3, 2026 18:18
@Aman-Mittal
Copy link
Copy Markdown
Member

@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.

@adamsaghy adamsaghy marked this pull request as draft June 4, 2026 10:25
@adamsaghy
Copy link
Copy Markdown
Contributor Author

@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.

@Aman-Mittal
Copy link
Copy Markdown
Member

@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.

@adamsaghy
Copy link
Copy Markdown
Contributor Author

@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...
Undetected regressions: same applies
Rollback: not sure how it matters...

The rule of thumb we were following so far: always go ahead.
In short, if something got broken and easy to fix: we fixed with a follow-up bug ticket, if not straightforward, we reversed to latest green build.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants