name: Keycloak Documentation on: push: branches-ignore: - main - dependabot/** - copilot/** - quarkus-next pull_request: workflow_dispatch: env: MAVEN_ARGS: "-B -nsu -Daether.connector.http.connectionMaxTtl=25" concurrency: # Only cancel jobs for PR updates group: documentation-${{ github.ref }} cancel-in-progress: true defaults: run: shell: bash permissions: contents: read jobs: conditional: name: Check conditional workflows and jobs runs-on: ubuntu-latest outputs: documentation: ${{ steps.conditional.outputs.documentation }} permissions: contents: read pull-requests: read steps: - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 - id: conditional uses: ./.github/actions/conditional with: token: ${{ secrets.GITHUB_TOKEN }} build: name: Build if: ${{ needs.conditional.outputs.documentation == 'true' }} runs-on: ubuntu-latest needs: conditional steps: - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 - id: setup-java name: Setup Java uses: ./.github/actions/java-setup - id: maven-cache name: Maven cache uses: ./.github/actions/maven-cache - id: build-test-documentation name: Build and verify Keycloak documentation shell: bash run: | ./mvnw install -Dtest=!ExternalLinksTest -am -pl docs/documentation/tests,docs/documentation/dist -e -Pdocumentation - id: upload-keycloak-documentation name: Upload Keycloak documentation uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0 with: name: keycloak-documentation path: docs/documentation/dist/target/*.zip retention-days: 1 external-links: name: External links check if: ${{ needs.conditional.outputs.documentation == 'true' }} runs-on: ubuntu-latest needs: conditional steps: - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 - id: setup-java name: Setup Java uses: ./.github/actions/java-setup - id: maven-cache name: Maven cache uses: ./.github/actions/maven-cache - id: build-test-documentation name: Build and verify Keycloak documentation shell: bash run: | ./mvnw install -Dtest=ExternalLinksTest -am -pl docs/documentation/tests -e -Pdocumentation check: name: Status Check - Keycloak Documentation if: always() needs: - conditional - build runs-on: ubuntu-latest steps: - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 - uses: ./.github/actions/status-check with: jobs: ${{ toJSON(needs) }}