You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
50 lines
1.9 KiB
50 lines
1.9 KiB
name: Deploy Docs |
|
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: |
|
if: github.repository_owner == 'spring-projects' |
|
runs-on: ubuntu-latest |
|
steps: |
|
- name: Checkout |
|
uses: actions/checkout@v3 |
|
with: |
|
fetch-depth: 5 |
|
- name: Set Up Gradle |
|
uses: spring-io/spring-gradle-build-action@v2 |
|
with: |
|
java-version: '17' |
|
distribution: temurin |
|
- 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.11 |
|
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 Clouflare Cache |
|
uses: spring-io/spring-doc-actions/bust-cloudflare-antora-cache@v0.0.11 |
|
with: |
|
context-root: spring-framework |
|
cloudflare-zone-id: ${{ secrets.CLOUDFLARE_ZONE_ID }} |
|
cloudflare-cache-token: ${{ secrets.CLOUDFLARE_CACHE_TOKEN }}
|
|
|