mirror of
https://github.com/Kong/kong.git
synced 2026-03-27 05:22:03 +00:00
139 lines
4.9 KiB
YAML
139 lines
4.9 KiB
YAML
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@8621497c8c39c72f3e2a999a26b4ca1b5058a842 # 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"
|