Skip to content

FINERACT-2493: New command processing - job scheduling #3061

FINERACT-2493: New command processing - job scheduling

FINERACT-2493: New command processing - job scheduling #3061

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 }}
build-documentation:
needs: build-core
uses: ./.github/workflows/build-documentation.yml
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-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 }}