diff --git a/.github/workflows/deploy-docs.yml b/.github/workflows/deploy-docs.yml index 9962dcf..5c77b81 100644 --- a/.github/workflows/deploy-docs.yml +++ b/.github/workflows/deploy-docs.yml @@ -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 }} + diff --git a/.github/workflows/rebuild-search-index.yml b/.github/workflows/rebuild-search-index.yml deleted file mode 100644 index 3bd2a49..0000000 --- a/.github/workflows/rebuild-search-index.yml +++ /dev/null @@ -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 }} - diff --git a/.sdkmanrc b/.sdkmanrc new file mode 100644 index 0000000..64345a4 --- /dev/null +++ b/.sdkmanrc @@ -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 diff --git a/antora-playbook.yml b/antora-playbook.yml index 8c39006..1eefa05 100644 --- a/antora-playbook.yml +++ b/antora-playbook.yml @@ -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 diff --git a/build.gradle b/build.gradle index 1540803..e73e30f 100644 --- a/build.gradle +++ b/build.gradle @@ -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', ] } diff --git a/package.json b/package.json new file mode 100644 index 0000000..c82c8c2 --- /dev/null +++ b/package.json @@ -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" + } +}