As of https://github.com/spring-projects/spring-framework/issues/35007, the auto-provisioning is disabled for Java runtimes in Gradle. This makes the build fail because Java 24 is required for building the docs whereas this action is setting up Java 17. This commit also upgrades other GitHub actions.
56 lines
2.1 KiB
YAML
56 lines
2.1 KiB
YAML
name: Build and Deploy Documentation
|
|
run-name: ${{ format('{0} ({1})', github.workflow, github.event.inputs.build-refname || 'all') }}
|
|
on:
|
|
workflow_dispatch:
|
|
inputs:
|
|
build-refname:
|
|
description: Enter git refname to build (e.g., 5.7.x).
|
|
required: false
|
|
push:
|
|
branches: docs-build
|
|
env:
|
|
GRADLE_ENTERPRISE_SECRET_ACCESS_KEY: ${{ secrets.GRADLE_ENTERPRISE_SECRET_ACCESS_KEY }}
|
|
permissions: read-all
|
|
jobs:
|
|
build-and-deploy-docs:
|
|
name: Build and Deploy Documentation
|
|
if: github.repository_owner == 'spring-projects'
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Check Out
|
|
uses: actions/checkout@v4
|
|
with:
|
|
fetch-depth: 5
|
|
- name: Set Up Java
|
|
uses: actions/setup-java@v4
|
|
with:
|
|
distribution: 'liberica'
|
|
java-version: '24'
|
|
- name: Set Up Gradle
|
|
uses: gradle/actions/setup-gradle@ac638b010cf58a27ee6c972d7336334ccaf61c96 # v4.4.1
|
|
with:
|
|
cache-read-only: false
|
|
- name: Set up refname build
|
|
if: github.event.inputs.build-refname
|
|
run: |
|
|
git fetch --depth 1 https://github.com/$GITHUB_REPOSITORY ${{ github.event.inputs.build-refname }}
|
|
echo BUILD_REFNAME=${{ github.event.inputs.build-refname }} >> $GITHUB_ENV
|
|
echo BUILD_VERSION=$(git cat-file --textconv FETCH_HEAD:gradle.properties | sed -n '/^version=/ { s/^version=//;p }') >> $GITHUB_ENV
|
|
- name: Run Antora
|
|
run: ./gradlew antora
|
|
- name: Copy the cache to be included in the site
|
|
run: cp -rf build/antora/inject-collector-cache-config-extension/.cache build/site/
|
|
- name: Publish Docs
|
|
uses: spring-io/spring-doc-actions/rsync-antora-reference@v0.0.20
|
|
with:
|
|
docs-username: ${{ secrets.DOCS_USERNAME }}
|
|
docs-host: ${{ secrets.DOCS_HOST }}
|
|
docs-ssh-key: ${{ secrets.DOCS_SSH_KEY }}
|
|
docs-ssh-host-key: ${{ secrets.DOCS_SSH_HOST_KEY }}
|
|
- name: Bust Cloudflare Cache
|
|
uses: spring-io/spring-doc-actions/bust-cloudflare-antora-cache@v0.0.20
|
|
with:
|
|
context-root: spring-framework
|
|
cloudflare-zone-id: ${{ secrets.CLOUDFLARE_ZONE_ID }}
|
|
cloudflare-cache-token: ${{ secrets.CLOUDFLARE_CACHE_TOKEN }}
|