Fineract Continuous Integration — How It Works
O
Qubits of DPK
March 20, 2026
Core Open Source
What triggers CI
Every workflow runs on pull_request events — specifically when a PR is:
- opened — new PR created
- synchronize — new commit pushed to the PR branch
- reopened — PR reopened after being closed
The integration test workflows (build-mariadb.yml, build-postgresql.yml, build-mysql.yml) also run on push to any branch.
So every time you git push to your PR branch, all CI checks re-run automatically.
What each check does
Why CI is so heavy
The test-core-1..5 split exists because running all integration tests sequentially would take hours.
Even split across 5 groups × 3 databases = 15 parallel jobs, each capped at 60 minutes.
That's why a single CI run can show 40+ checks in the PR checks list.
Common CI failures and fixes
Workflow files location
All workflow definitions live in .github/workflows/ in the Fineract repo:
- pr-one-commit-per-user-check.yml
- verify-commits.yml
- pr-title-check.yml
- build-mariadb.yml, build-mysql.yml, build-postgresql.yml
- build-e2e-tests.yml
- smoke-messaging.yml
- liquibase-only-postgresql.yml
- verify-api-backward-compatibility.yml
- verify-liquibase-backward-compatibility.yml