| name: Fineract Liquibase Only mode - PostgreSQL |
| |
| on: |
| workflow_call: |
| |
| permissions: |
| contents: read |
| |
| jobs: |
| test: |
| runs-on: ubuntu-22.04 |
| timeout-minutes: 60 |
| |
| services: |
| postgresql: |
| image: postgres:18.3 |
| ports: |
| - 5432:5432 |
| env: |
| POSTGRES_USER: root |
| POSTGRES_PASSWORD: postgres |
| options: --health-cmd="pg_isready -q -d postgres -U root" --health-interval=5s --health-timeout=2s --health-retries=3 |
| |
| env: |
| TZ: Asia/Kolkata |
| DEVELOCITY_ACCESS_KEY: ${{ secrets.DEVELOCITY_ACCESS_KEY }} |
| |
| steps: |
| - name: Set up JDK 21 |
| uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5 |
| with: |
| java-version: '21' |
| distribution: 'zulu' |
| |
| - name: Download workspace |
| uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8 |
| with: |
| name: fineract-workspace-${{ github.run_id }} |
| path: . |
| |
| - name: Extract workspace |
| run: tar -xf fineract-workspace.tar |
| |
| - name: Setup Gradle and Validate Wrapper |
| uses: gradle/actions/setup-gradle@0723195856401067f7a2779048b490ace7a47d7c # v5.0.2 |
| with: |
| validate-wrappers: true |
| |
| - name: Verify PostgreSQL connection |
| run: | |
| while ! pg_isready -d postgres -U root -h 127.0.0.1 -p 5432 ; do |
| sleep 1 |
| done |
| |
| - name: Initialise databases |
| run: | |
| ./gradlew --no-daemon -q createPGDB -PdbName=fineract_tenants -x buildJavaSdk |
| ./gradlew --no-daemon -q createPGDB -PdbName=fineract_default -x buildJavaSdk |
| |
| - name: Run Fineract in Liquibase only mode |
| env: |
| FINERACT_DEFAULT_TENANTDB_CONN_PARAMS: "" |
| FINERACT_DEFAULT_TENANTDB_DESCRIPTION: "Default Demo Tenant" |
| FINERACT_DEFAULT_TENANTDB_HOSTNAME: "localhost" |
| FINERACT_DEFAULT_TENANTDB_IDENTIFIER: "default" |
| FINERACT_DEFAULT_TENANTDB_NAME: "fineract_default" |
| FINERACT_DEFAULT_TENANTDB_PORT: "5432" |
| FINERACT_DEFAULT_TENANTDB_PWD: "postgres" |
| FINERACT_DEFAULT_TENANTDB_TIMEZONE: "Asia/Kolkata" |
| FINERACT_DEFAULT_TENANTDB_UID: "root" |
| FINERACT_HIKARI_DRIVER_SOURCE_CLASS_NAME: "org.postgresql.Driver" |
| FINERACT_HIKARI_JDBC_URL: "jdbc:postgresql://localhost:5432/fineract_tenants" |
| FINERACT_HIKARI_PASSWORD: "postgres" |
| FINERACT_HIKARI_USERNAME: "root" |
| SPRING_PROFILES_ACTIVE: "liquibase-only" |
| run: |
| ./gradlew --no-daemon fineract-provider:bootRun -x buildJavaSdk |