Skip to content

FINERACT-2796: Add coverage for release build #3065

FINERACT-2796: Add coverage for release build

FINERACT-2796: Add coverage for release build #3065

Workflow file for this run

name: Fineract CI
on:
push:
branches:
- develop
- 'release/**'
- '1.*'
paths-ignore:
- '**/*.md'
pull_request:
paths-ignore:
- '**/*.md'
workflow_dispatch:
inputs:
upload_artifacts:
description: Upload test results, reports, and logs even when jobs succeed
required: false
default: false
type: boolean
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
permissions:
contents: read
jobs:
private-repository-ci-disabled:
if: >-
${{
github.event.repository.private == true &&
github.event_name != 'workflow_dispatch' &&
vars.ENABLE_PRIVATE_REPOSITORY_CI != 'true'
}}
runs-on: ubuntu-24.04
timeout-minutes: 5
steps:
- name: Private repository CI disabled
run: |
echo "GitHub Actions CI is not enabled by default for private repositories to avoid unwanted costs."
echo "GitHub Actions is only free on public repositories."
echo "To enable automatic CI runs for this private repository, set the repository variable ENABLE_PRIVATE_REPOSITORY_CI to true."
echo "Manual workflow_dispatch runs are still allowed."
build-core:
if: >-
${{
github.event.repository.private == false ||
github.event_name == 'workflow_dispatch' ||
vars.ENABLE_PRIVATE_REPOSITORY_CI == 'true'
}}
uses: ./.github/workflows/build-core.yml
with:
upload_artifacts: ${{ github.event_name == 'workflow_dispatch' && inputs.upload_artifacts }}
secrets:
DEVELOCITY_ACCESS_KEY: ${{ secrets.DEVELOCITY_ACCESS_KEY }}
build-embeddable-progressive-loan-jar:
needs: build-core
uses: ./.github/workflows/build-progressive-loan.yml
with:
upload_artifacts: ${{ github.event_name == 'workflow_dispatch' && inputs.upload_artifacts }}
secrets:
DEVELOCITY_ACCESS_KEY: ${{ secrets.DEVELOCITY_ACCESS_KEY }}
build-docker-image:
needs: build-core
uses: ./.github/workflows/build-docker.yml
with:
upload_artifacts: ${{ github.event_name == 'workflow_dispatch' && inputs.upload_artifacts }}
secrets:
DEVELOCITY_ACCESS_KEY: ${{ secrets.DEVELOCITY_ACCESS_KEY }}
run-quality-checks:
needs: build-core
uses: ./.github/workflows/build-quality-checks.yml
with:
upload_artifacts: ${{ github.event_name == 'workflow_dispatch' && inputs.upload_artifacts }}
secrets:
DEVELOCITY_ACCESS_KEY: ${{ secrets.DEVELOCITY_ACCESS_KEY }}
run-release-artifacts:
needs: build-core
uses: ./.github/workflows/build-release-artifacts.yml
with:
upload_artifacts: ${{ github.event_name == 'workflow_dispatch' && inputs.upload_artifacts }}
secrets:
DEVELOCITY_ACCESS_KEY: ${{ secrets.DEVELOCITY_ACCESS_KEY }}
run-cucumber-tests:
needs: build-core
uses: ./.github/workflows/build-cucumber.yml
with:
upload_artifacts: ${{ github.event_name == 'workflow_dispatch' && inputs.upload_artifacts }}
secrets:
DEVELOCITY_ACCESS_KEY: ${{ secrets.DEVELOCITY_ACCESS_KEY }}
run-integrations-tests-on-postgresql:
needs: build-core
uses: ./.github/workflows/build-postgresql.yml
with:
upload_artifacts: ${{ github.event_name == 'workflow_dispatch' && inputs.upload_artifacts }}
secrets:
DEVELOCITY_ACCESS_KEY: ${{ secrets.DEVELOCITY_ACCESS_KEY }}
run-integrations-tests-on-mysql:
needs: build-core
uses: ./.github/workflows/build-mysql.yml
with:
upload_artifacts: ${{ github.event_name == 'workflow_dispatch' && inputs.upload_artifacts }}
secrets:
DEVELOCITY_ACCESS_KEY: ${{ secrets.DEVELOCITY_ACCESS_KEY }}
run-integrations-tests-on-mariadb:
needs: build-core
uses: ./.github/workflows/build-mariadb.yml
with:
upload_artifacts: ${{ github.event_name == 'workflow_dispatch' && inputs.upload_artifacts }}
secrets:
DEVELOCITY_ACCESS_KEY: ${{ secrets.DEVELOCITY_ACCESS_KEY }}
run-e2e-tests:
needs: build-core
uses: ./.github/workflows/build-e2e-tests.yml
with:
upload_artifacts: ${{ github.event_name == 'workflow_dispatch' && inputs.upload_artifacts }}
secrets:
DEVELOCITY_ACCESS_KEY: ${{ secrets.DEVELOCITY_ACCESS_KEY }}
run-liquibase-only-on-postgresql:
needs: build-core
uses: ./.github/workflows/liquibase-only-postgresql.yml
secrets:
DEVELOCITY_ACCESS_KEY: ${{ secrets.DEVELOCITY_ACCESS_KEY }}
run-messaging-smoke-tests:
needs: build-core
uses: ./.github/workflows/smoke-messaging.yml
with:
upload_artifacts: ${{ github.event_name == 'workflow_dispatch' && inputs.upload_artifacts }}
secrets:
DEVELOCITY_ACCESS_KEY: ${{ secrets.DEVELOCITY_ACCESS_KEY }}
run-api-backward-compatibility:
needs: build-core
uses: ./.github/workflows/verify-api-backward-compatibility.yml
with:
upload_artifacts: ${{ github.event_name == 'workflow_dispatch' && inputs.upload_artifacts }}
secrets:
DEVELOCITY_ACCESS_KEY: ${{ secrets.DEVELOCITY_ACCESS_KEY }}
run-generated-client-api-method-compatibility:
needs: build-core
uses: ./.github/workflows/verify-generated-client-api-method-compatibility.yml
with:
upload_artifacts: ${{ github.event_name == 'workflow_dispatch' && inputs.upload_artifacts }}
secrets:
DEVELOCITY_ACCESS_KEY: ${{ secrets.DEVELOCITY_ACCESS_KEY }}
run-liquibase-backward-compatibility:
needs: build-core
uses: ./.github/workflows/verify-liquibase-backward-compatibility.yml
secrets:
DEVELOCITY_ACCESS_KEY: ${{ secrets.DEVELOCITY_ACCESS_KEY }}
run-liquibase-ddl-safety:
needs: build-core
uses: ./.github/workflows/verify-liquibase-ddl-safety.yml
with:
upload_artifacts: ${{ github.event_name == 'workflow_dispatch' && inputs.upload_artifacts }}
secrets:
DEVELOCITY_ACCESS_KEY: ${{ secrets.DEVELOCITY_ACCESS_KEY }}
run-regression-safety-db-changes:
needs: build-core
uses: ./.github/workflows/regression-safety-db-changes.yml
with:
upload_artifacts: ${{ github.event_name == 'workflow_dispatch' && inputs.upload_artifacts }}
secrets:
DEVELOCITY_ACCESS_KEY: ${{ secrets.DEVELOCITY_ACCESS_KEY }}
run-sonarqube:
needs: build-core
uses: ./.github/workflows/sonarqube.yml
secrets:
DEVELOCITY_ACCESS_KEY: ${{ secrets.DEVELOCITY_ACCESS_KEY }}
SONAR_ORGANIZATION: ${{ secrets.SONAR_ORGANIZATION }}
SONAR_PROJECT_KEY: ${{ secrets.SONAR_PROJECT_KEY }}
SONAR_HOST_URL: ${{ secrets.SONAR_HOST_URL }}
SONARCLOUD_TOKEN: ${{ secrets.SONARCLOUD_TOKEN }}
run-integration-tests-sequentially-on-postgresql:
needs: build-core
uses: ./.github/workflows/run-integration-test-sequentially-postgresql.yml
with:
upload_artifacts: ${{ github.event_name == 'workflow_dispatch' && inputs.upload_artifacts }}
secrets:
DEVELOCITY_ACCESS_KEY: ${{ secrets.DEVELOCITY_ACCESS_KEY }}
publish-dockerhub:
needs: build-core
uses: ./.github/workflows/publish-dockerhub.yml
secrets:
DEVELOCITY_ACCESS_KEY: ${{ secrets.DEVELOCITY_ACCESS_KEY }}
DOCKERHUB_USER: ${{ secrets.DOCKERHUB_USER }}
DOCKERHUB_TOKEN: ${{ secrets.DOCKERHUB_TOKEN }}