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