Keycloak Documentation #198
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Keycloak Documentation | |
on: | |
push: | |
branches-ignore: | |
- main | |
- dependabot/** | |
pull_request: | |
schedule: | |
- cron: 0 5 * * * | |
workflow_dispatch: | |
env: | |
DEFAULT_JDK_VERSION: 17 | |
DEFAULT_JDK_DIST: temurin | |
concurrency: | |
# Only cancel jobs for PR updates | |
group: documentation-${{ github.head_ref || github.run_id }} | |
cancel-in-progress: true | |
defaults: | |
run: | |
shell: bash | |
jobs: | |
conditional: | |
name: Check conditional workflows and jobs | |
if: github.event_name != 'schedule' || github.repository == 'keycloak/keycloak' | |
runs-on: ubuntu-latest | |
outputs: | |
documentation: ${{ steps.conditional.outputs.documentation }} | |
steps: | |
- uses: actions/checkout@v3 | |
- id: conditional | |
uses: ./.github/actions/conditional | |
build: | |
name: Build | |
if: ${{ needs.conditional.outputs.documentation == 'true' }} | |
runs-on: ubuntu-latest | |
needs: conditional | |
steps: | |
- uses: actions/checkout@v3 | |
- id: setup-java | |
name: Setup Java | |
uses: actions/setup-java@v3 | |
with: | |
distribution: ${{ env.DEFAULT_JDK_DIST }} | |
java-version: ${{ env.DEFAULT_JDK_VERSION }} | |
- id: maven-cache | |
name: Maven cache | |
uses: ./.github/actions/maven-cache | |
- id: build-documentation | |
name: Build Keycloak | |
shell: bash | |
run: | | |
MVN_HTTP_CONFIG="-Dhttp.keepAlive=false -Dmaven.wagon.http.pool=false -Dmaven.wagon.http.retryHandler.class=standard -Dmaven.wagon.http.retryHandler.count=3 -Dmaven.wagon.httpconnectionManager.ttlSeconds=120" | |
./mvnw install -DskipTests -am -pl docs/documentation/tests,docs/documentation/dist -nsu -B -e $MVN_HTTP_CONFIG -Pdocumentation | |
- id: test-documentation | |
name: Verify Keycloak documentation | |
shell: bash | |
run: | | |
./mvnw test -Dtest=!ExternalLinksTest -am -pl docs/documentation/tests,docs/documentation/dist -nsu -B -e -Pdocumentation | |
- id: upload-keycloak-documentation | |
name: Upload Keycloak documentation | |
uses: actions/upload-artifact@v3 | |
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@v3 | |
- id: setup-java | |
name: Setup Java | |
uses: actions/setup-java@v3 | |
with: | |
distribution: ${{ env.DEFAULT_JDK_DIST }} | |
java-version: ${{ env.DEFAULT_JDK_VERSION }} | |
- id: maven-cache | |
name: Maven cache | |
uses: ./.github/actions/maven-cache | |
- id: build-documentation | |
name: Build Keycloak | |
shell: bash | |
run: | | |
MVN_HTTP_CONFIG="-Dhttp.keepAlive=false -Dmaven.wagon.http.pool=false -Dmaven.wagon.http.retryHandler.class=standard -Dmaven.wagon.http.retryHandler.count=3 -Dmaven.wagon.httpconnectionManager.ttlSeconds=120" | |
./mvnw install -DskipTests -am -pl docs/documentation/tests -nsu -B -e -Pdocumentation $MVN_HTTP_CONFIG | |
- id: test-documentation | |
name: Verify Keycloak documentation | |
shell: bash | |
run: | | |
./mvnw test -Dtest=ExternalLinksTest -am -pl docs/documentation/tests,docs/documentation/dist -nsu -B -e -Pdocumentation | |
check-set-status: | |
name: Set check conclusion | |
needs: | |
- build | |
runs-on: ubuntu-latest | |
outputs: | |
conclusion: ${{ steps.check.outputs.conclusion }} | |
steps: | |
- uses: actions/checkout@v3 | |
- id: check | |
uses: ./.github/actions/checks-success | |
check: | |
name: Status Check - Keycloak Documentation | |
if: always() && ( github.event_name != 'schedule' || github.repository == 'keycloak/keycloak' ) | |
needs: | |
- conditional | |
- check-set-status | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Check status | |
uses: ./.github/actions/checks-job-pass | |
with: | |
required: ${{ needs.conditional.outputs.documentation == 'true' }} | |
conclusion: ${{ needs.check-set-status.outputs.conclusion }} |