| name: Fineract Documentation build |
| on: |
| workflow_call: |
| secrets: |
| DEVELOCITY_ACCESS_KEY: |
| required: false |
| permissions: |
| contents: read |
| jobs: |
| build: |
| runs-on: ubuntu-24.04 |
| timeout-minutes: 90 |
| env: |
| DEVELOCITY_ACCESS_KEY: ${{ secrets.DEVELOCITY_ACCESS_KEY }} |
| steps: |
| - name: Set up JDK 21 |
| uses: actions/setup-java@03ad4de0992f5dab5e18fcb136590ce7c4a0ac95 # v5 |
| with: |
| java-version: '21' |
| distribution: 'zulu' |
| - name: Download workspace |
| id: download-workspace |
| uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8 |
| continue-on-error: true |
| with: |
| name: fineract-workspace-${{ github.run_id }} |
| path: . |
| |
| - name: Extract workspace |
| if: steps.download-workspace.outcome == 'success' |
| run: tar -xf fineract-workspace.tar |
| |
| - name: Checkout |
| if: steps.download-workspace.outcome != 'success' |
| uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 |
| with: |
| persist-credentials: false |
| fetch-depth: 0 |
| fetch-tags: true |
| |
| - name: Build workspace fallback |
| if: steps.download-workspace.outcome != 'success' |
| uses: ./.github/actions/setup-and-build-fineract |
| with: |
| cache-read-only: false |
| - name: Setup Gradle |
| uses: gradle/actions/setup-gradle@3f131e8634966bd73d06cc69884922b02e6faf92 # v6.2.0 |
| - uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v6 |
| with: |
| node-version: 22 |
| - name: Configure vega-cli |
| run: | |
| VEGA_CLI_HOME="$RUNNER_TEMP/vega-cli" |
| mkdir -p "$VEGA_CLI_HOME" |
| cd "$VEGA_CLI_HOME" |
| npm init -y |
| npm pkg set private=true |
| npm pkg set devDependencies.vega-cli=6.2.0 |
| npm install --package-lock-only --no-audit --fund=false |
| npm ci --no-audit --fund=false |
| echo "$VEGA_CLI_HOME/node_modules/.bin" >> "$GITHUB_PATH" |
| - name: Validate Gradle wrapper |
| uses: gradle/actions/wrapper-validation@3f131e8634966bd73d06cc69884922b02e6faf92 # v6.2.0 |
| - name: Install additional software |
| run: | |
| sudo apt-get update |
| sudo apt-get install ghostscript graphviz -y |
| - name: Documentation build |
| run: ./gradlew --no-daemon --console=plain doc -x buildJavaSdk |