Skip to content

Autodocs

Autodocs #11

Workflow file for this run

name: Autodocs
on:
workflow_dispatch:
inputs:
version:
description: "Version (e.g. 2.4.x)"
required: true
source_branch:
description: "Source Branch in kong/kong (e.g. release/2.4.x)"
required: true
target_branch:
description: "Target Branch in kong/docs.konghq.com (e.g. release/2.4)"
required: true
force_build:
description: "Ignore the build cache and build dependencies from scratch"
type: boolean
default: false
jobs:
build:
name: Build dependencies
runs-on: ubuntu-22.04
env:
DOWNLOAD_ROOT: $HOME/download-root
steps:
- name: Set environment variables
run: |
echo "INSTALL_ROOT=$HOME/install-root" >> $GITHUB_ENV
echo "DOWNLOAD_ROOT=$HOME/download-root" >> $GITHUB_ENV
echo "LD_LIBRARY_PATH=$INSTALL_ROOT/openssl/lib:$LD_LIBRARY_PATH" >> $GITHUB_ENV
- name: Checkout Kong source code
uses: actions/checkout@v4
- name: Lookup build cache
uses: actions/cache@v4
id: cache-deps
with:
path: ${{ env.INSTALL_ROOT }}
key: ${{ hashFiles('.ci/setup_env_github.sh') }}-${{ hashFiles('.requirements') }}-${{ hashFiles('kong-*.rockspec') }}
- name: Checkout kong-build-tools
if: steps.cache-deps.outputs.cache-hit != 'true' || github.event.inputs.force_build == 'true'
uses: actions/checkout@v4
with:
repository: Kong/kong-build-tools
path: kong-build-tools
ref: master
- name: Checkout go-pluginserver
if: steps.cache-deps.outputs.cache-hit != 'true' || github.event.inputs.force_build == 'true'
uses: actions/checkout@v4
with:
repository: Kong/go-pluginserver
path: go-pluginserver
- name: Add to Path
if: steps.cache-deps.outputs.cache-hit != 'true' || github.event.inputs.force_build == 'true'
run: echo "$INSTALL_ROOT/openssl/bin:$INSTALL_ROOT/openresty/nginx/sbin:$INSTALL_ROOT/openresty/bin:$INSTALL_ROOT/luarocks/bin:$GITHUB_WORKSPACE/kong-build-tools/openresty-build-tools" >> $GITHUB_PATH
- name: Install packages
if: steps.cache-deps.outputs.cache-hit != 'true' || github.event.inputs.force_build == 'true'
run: sudo apt update && sudo apt install libyaml-dev valgrind
- name: Build Kong dependencies
if: steps.cache-deps.outputs.cache-hit != 'true' || github.event.inputs.force_build == 'true'
run: |
source .ci/setup_env_github.sh
make dev
autodoc:
runs-on: ubuntu-22.04
needs: [build]
steps:
- name: Set environment variables
run: |
echo "INSTALL_ROOT=$HOME/install-root" >> $GITHUB_ENV
echo "DOWNLOAD_ROOT=$HOME/download-root" >> $GITHUB_ENV
echo "LD_LIBRARY_PATH=$INSTALL_ROOT/openssl/lib:$LD_LIBRARY_PATH" >> $GITHUB_ENV
- name: Checkout Kong source code
uses: actions/checkout@v4
with:
path: kong
ref: ${{ github.event.inputs.source_branch }}
- name: Checkout Kong Docs
uses: actions/checkout@v4
with:
repository: kong/docs.konghq.com
path: docs.konghq.com
token: ${{ secrets.PAT }}
ref: ${{ github.event.inputs.target_branch }}
- name: Lookup build cache
uses: actions/cache@v4
id: cache-deps
with:
path: ${{ env.INSTALL_ROOT }}
key: ${{ hashFiles('kong/.ci/setup_env_github.sh') }}-${{ hashFiles('kong/.requirements') }}-${{ hashFiles('kong/kong-*.rockspec') }}
- name: Add to Path
run: echo "$INSTALL_ROOT/openssl/bin:$INSTALL_ROOT/openresty/nginx/sbin:$INSTALL_ROOT/openresty/bin:$INSTALL_ROOT/luarocks/bin:$GITHUB_WORKSPACE/kong-build-tools/openresty-build-tools:$INSTALL_ROOT/go-pluginserver" >> $GITHUB_PATH
- name: Run Autodocs
run: |
cd kong
eval `luarocks path`
scripts/autodoc ../docs.konghq.com ${{ github.event.inputs.version }}
- name: Generate branch name
id: kong-branch
run: |
cd kong
output="$(git branch --show-current)"
echo "name=$output" >> $GITHUB_OUTPUT
- name: Show Docs status
run: |
cd docs.konghq.com
git status
git checkout -b "autodocs-${{ steps.kong-branch.outputs.name }}"
- name: Commit autodoc changes
uses: stefanzweifel/git-auto-commit-action@v5
with:
repository: "./docs.konghq.com"
commit_message: "Autodocs update"
branch: "autodocs-${{ steps.kong-branch.outputs.name }}"
skip_fetch: true
push_options: "--force"
- name: Raise PR
run: |
cd docs.konghq.com
echo "${{ secrets.PAT }}" | gh auth login --with-token
gh pr create --base "${{ github.event.inputs.target_branch }}" --fill --label "review:autodoc"