Modernize docs-build

This commit is contained in:
Rob Winch
2024-05-20 11:26:48 -05:00
parent ca790111f8
commit 4f4ed72eb8
6 changed files with 56 additions and 70 deletions

View File

@@ -6,10 +6,10 @@ on:
build-refname:
description: Enter git refname to build (e.g., main).
required: false
# push:
# branches: docs-build
# env:
# GRADLE_ENTERPRISE_SECRET_ACCESS_KEY: ${{ secrets.GRADLE_ENTERPRISE_SECRET_ACCESS_KEY }}
push:
branches: [docs-build]
env:
GRADLE_ENTERPRISE_SECRET_ACCESS_KEY: ${{ secrets.GRADLE_ENTERPRISE_SECRET_ACCESS_KEY }}
permissions: read-all
jobs:
build:
@@ -17,7 +17,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
uses: actions/checkout@v4
with:
fetch-depth: 5
- name: Set Up Gradle
@@ -33,5 +33,19 @@ jobs:
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 --stacktrace
- 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
run: $GITHUB_WORKSPACE/.github/actions/publish-docs.sh "${{ secrets.DOCS_USERNAME }}@${{ secrets.DOCS_HOST }}" /opt/www/domains/spring.io/docs/htdocs/spring-security-kerberos/reference/ "${{ secrets.DOCS_SSH_KEY }}" "${{ secrets.DOCS_SSH_HOST_KEY }}" "${{ secrets.CLOUDFLARE_ZONE_ID }}" "${{ secrets.CLOUDFLARE_CACHE_TOKEN }}"
uses: spring-io/spring-doc-actions/rsync-antora-reference@v0.0.17
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.17
with:
context-root: spring-security-kerberos
cloudflare-zone-id: ${{ secrets.CLOUDFLARE_ZONE_ID }}
cloudflare-cache-token: ${{ secrets.CLOUDFLARE_CACHE_TOKEN }}

View File

@@ -1,27 +0,0 @@
name: Rebuild Search Index
on:
workflow_dispatch:
permissions: read-all
jobs:
build:
if: github.repository_owner == 'spring-projects'
runs-on: ubuntu-latest
env:
CONFIG_FILE: .github/actions/docsearch-config.json
steps:
- name: Checkout
uses: actions/checkout@v3
with:
fetch-depth: 5
- name: Configure Indexer
run: |
curl -sL -o $CONFIG_FILE $(node -p "require('fs').readFileSync('antora-playbook.yml', 'utf8').match(/^ url: (.*)/m)[1]")/docsearch-config.json
INDEX_NAME=$(node -p "JSON.parse(require('fs').readFileSync('$CONFIG_FILE')).index_name")
echo "INDEX_NAME_TMP=${INDEX_NAME}-${GITHUB_RUN_ID}" >> $GITHUB_ENV
- name: Run Indexer
uses: darrenjennings/algolia-docsearch-action@master
with:
algolia_application_id: ${{ secrets.ALGOLIA_APPLICATION_ID }}
algolia_api_key: ${{ secrets.ALGOLIA_WRITE_KEY }}
file: ${{ env.CONFIG_FILE }}

6
.sdkmanrc Normal file
View File

@@ -0,0 +1,6 @@
# Use sdkman to run "sdk env" to initialize with correct JDK version
# Enable auto-env through the sdkman_auto_env config
# See https://sdkman.io/usage#config
# A summary is to add the following to ~/.sdkman/etc/config
# sdkman_auto_env=true
java=17.0.3-tem

View File

@@ -1,19 +1,7 @@
antora:
extensions:
- '@springio/antora-extensions/partial-build-extension'
- ./lib/antora/extensions/inject-collector-config.js
- '@antora/collector-extension'
- ./lib/antora/extensions/version-fix.js
- '@antora/atlas-extension'
- '@opendevise/antora-release-line-extension'
- require: '@springio/antora-extensions/tabs-migration-extension'
# uncomment this option to save the migrated content to the worktree
#save_result: true
unwrap_example_block: always
- require: '@springio/antora-extensions/publish-docsearch-config-extension'
index_name: 'spring-security-kerberos-docs'
root_component_name: 'security'
- require: '@springio/antora-extensions'
root_component_name: 'kerberos'
site:
title: Spring Security Kerberos
url: https://docs.spring.io/spring-security-kerberos/reference
@@ -23,22 +11,30 @@ git:
content:
sources:
- url: https://github.com/spring-projects/spring-security-kerberos
branches: [main]
tags: ['2.+({0..9}).+({0..9})?(-{RC,M}*)']
# Refname matching:
# https://docs.antora.org/antora/latest/playbook/content-refname-matching/
branches: [main,'*.x','!1.*.x']
tags: ['*','!1.*']
start_path: spring-security-kerberos-docs
asciidoc:
attributes:
page-pagination: ''
hide-uri-scheme: '@'
tabs-sync-option: '@'
extensions:
- '@asciidoctor/tabs'
- '@springio/asciidoctor-extensions'
- '@springio/asciidoctor-extensions/include-code-extension'
attributes:
page-stackoverflow-url: https://stackoverflow.com/tags/spring-security
page-related-doc-categories: security
page-related-doc-projects: framework,graphql
hide-uri-scheme: '@'
tabs-sync-option: '@'
urls:
latest_version_segment_strategy: redirect:to
latest_version_segment: ''
redirect_facility: httpd
runtime:
log:
failure_level: warn
ui:
bundle:
url: https://github.com/spring-io/antora-ui-spring/releases/download/v0.1.1/ui-bundle.zip
url: https://github.com/spring-io/antora-ui-spring/releases/download/v0.4.15/ui-bundle.zip
snapshot: true

View File

@@ -3,24 +3,11 @@ plugins {
id 'org.antora' version '1.0.0'
}
node {
version = '16.15.0'
}
antora {
version = '3.2.0-alpha.2'
options = [clean: true, fetch: true, stacktrace: true]
environment = [
'ALGOLIA_API_KEY': '82c7ead946afbac3cf98c32446154691',
'ALGOLIA_APP_ID': '244V8V9FGG',
'ALGOLIA_INDEX_NAME': 'spring-security-kerberos-docs'
]
dependencies = [
'@antora/atlas-extension': '1.0.0-alpha.1',
'@antora/collector-extension': '1.0.0-alpha.3',
'@asciidoctor/tabs': '1.0.0-beta.3',
'@opendevise/antora-release-line-extension': '1.0.0',
'@springio/antora-extensions': '1.1.0',
'@springio/asciidoctor-extensions': '1.0.0-alpha.8',
'ALGOLIA_API_KEY': '9d489079e5ec46dbb238909fee5c9c29',
'ALGOLIA_APP_ID': 'WB1FQYI187',
'ALGOLIA_INDEX_NAME': 'springdocs',
]
}

10
package.json Normal file
View File

@@ -0,0 +1,10 @@
{
"dependencies": {
"antora": "3.2.0-alpha.4",
"@antora/atlas-extension": "1.0.0-alpha.2",
"@antora/collector-extension": "1.0.0-alpha.3",
"@asciidoctor/tabs": "1.0.0-beta.6",
"@springio/antora-extensions": "1.10.0",
"@springio/asciidoctor-extensions": "1.0.0-alpha.10"
}
}