ci: synchronize documentation pages on the tools.slack.dev site after changes (#423)
This commit is contained in:
@@ -0,0 +1,69 @@
|
|||||||
|
name: Sync docs to docs site repo
|
||||||
|
|
||||||
|
on:
|
||||||
|
pull_request:
|
||||||
|
branches:
|
||||||
|
- main
|
||||||
|
paths:
|
||||||
|
- "docs/**"
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
config-sync:
|
||||||
|
name: Sync docs to docs site repo
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Generate a GitHub token
|
||||||
|
id: ghtoken
|
||||||
|
uses: actions/create-github-app-token@v1
|
||||||
|
with:
|
||||||
|
app-id: ${{ secrets.GH_APP_ID }}
|
||||||
|
owner: slackapi
|
||||||
|
private-key: ${{ secrets.GH_APP_PRIVATE_KEY }}
|
||||||
|
|
||||||
|
- name: Checkout the tool repo (source)
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
|
- name: Checkout the docs site repo (destination)
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
with:
|
||||||
|
repository: slackapi/slackapi.github.io
|
||||||
|
path: "docs_repo"
|
||||||
|
token: ${{ steps.ghtoken.outputs.token }}
|
||||||
|
persist-credentials: false
|
||||||
|
|
||||||
|
- name: Update docs in docs site repo
|
||||||
|
run: |
|
||||||
|
rsync -av --delete ./docs/ ./docs_repo/content/${{ github.event.repository.name }}/
|
||||||
|
|
||||||
|
- name: Install dependencies
|
||||||
|
run: |
|
||||||
|
cd docs_repo
|
||||||
|
npm ci
|
||||||
|
|
||||||
|
- name: Build Docusaurus site
|
||||||
|
run: |
|
||||||
|
cd docs_repo
|
||||||
|
npm run build
|
||||||
|
|
||||||
|
- name: Create a pull request
|
||||||
|
if: ${{ github.event.pull_request.merged || github.event_name == 'workflow_dispatch' }}
|
||||||
|
id: site-pr
|
||||||
|
uses: peter-evans/create-pull-request@v7
|
||||||
|
with:
|
||||||
|
token: ${{ steps.ghtoken.outputs.token }}
|
||||||
|
title: "From ${{ github.event.repository.name }}: ${{ github.event.pull_request.title || 'manual docs sync' }}"
|
||||||
|
body: "${{ github.event.pull_request.body }}"
|
||||||
|
author: "slackapi[bot] <186980925+slackapi[bot]@users.noreply.github.com>"
|
||||||
|
committer: "slackapi[bot] <186980925+slackapi[bot]@users.noreply.github.com>"
|
||||||
|
commit-message: "Sync docs from ${{ github.event.repository.name }} to docs site repo"
|
||||||
|
base: "main"
|
||||||
|
branch: "docs-sync-${{ github.event.repository.name }}-${{ github.sha }}"
|
||||||
|
labels: docs
|
||||||
|
path: "./docs_repo"
|
||||||
|
|
||||||
|
- name: Output the pull request link
|
||||||
|
if: ${{ steps.site-pr.outputs.pull-request-url }}
|
||||||
|
run: |
|
||||||
|
echo "Pull request created: ${{ steps.site-pr.outputs.pull-request-url }}" >> $GITHUB_STEP_SUMMARY
|
||||||
Reference in New Issue
Block a user