mirror of
https://github.com/godotengine/godot-docs.git
synced 2025-12-31 17:49:03 +03:00
Add a CI action to sync up the class reference
This commit is contained in:
68
.github/workflows/sync_class_ref.yml
vendored
Normal file
68
.github/workflows/sync_class_ref.yml
vendored
Normal file
@@ -0,0 +1,68 @@
|
||||
name: Sync Class Reference
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
# Scheduled updates are only enabled for in-dev branches.
|
||||
schedule:
|
||||
# Run it at night (European time) every Saturday.
|
||||
# The offset is there to try and avoid the high load times.
|
||||
- cron: '15 3 * * 6'
|
||||
|
||||
# Make sure jobs cannot overlap.
|
||||
concurrency:
|
||||
group: classref-sync-ci
|
||||
cancel-in-progress: true
|
||||
|
||||
jobs:
|
||||
build:
|
||||
name: Update class reference files based on the engine revision
|
||||
runs-on: ubuntu-latest
|
||||
env:
|
||||
engine_rev: 'master'
|
||||
|
||||
steps:
|
||||
- name: Checkout the documentation repository
|
||||
uses: actions/checkout@v3
|
||||
|
||||
- name: Checkout the engine repository
|
||||
uses: actions/checkout@v3
|
||||
with:
|
||||
repository: 'godotengine/godot'
|
||||
# Use the appropriate branch for the documentation version.
|
||||
ref: ${{ env.engine_rev }}
|
||||
path: './.engine-src'
|
||||
|
||||
- name: Store the engine revision
|
||||
id: 'engine'
|
||||
run: |
|
||||
cd ./.engine-src
|
||||
hash=$(git rev-parse HEAD)
|
||||
hash_short=$(git rev-parse --short HEAD)
|
||||
echo "Checked out godotengine/godot at $hash"
|
||||
echo "rev_hash=$hash" >> $GITHUB_OUTPUT
|
||||
echo "rev_hash_short=$hash_short" >> $GITHUB_OUTPUT
|
||||
|
||||
- name: Remove old documentation
|
||||
run: |
|
||||
rm ./classes/class_*.rst
|
||||
|
||||
- name: Build new documentation
|
||||
run: |
|
||||
./.engine-src/doc/tools/make_rst.py --color -o ./classes -l en ./.engine-src/doc/classes ./.engine-src/modules
|
||||
|
||||
- name: Submit a pull-request
|
||||
uses: peter-evans/create-pull-request@v5
|
||||
with:
|
||||
commit-message: 'classref: Sync with current ${{ env.engine_rev }} branch (${{ steps.engine.outputs.rev_hash_short }})'
|
||||
branch: 'classref/sync-${{ steps.engine.outputs.rev_hash_short }}'
|
||||
add-paths: './classes'
|
||||
delete-branch: true
|
||||
|
||||
# Configure the commit author.
|
||||
author: 'Godot Organization <noreply@godotengine.org>'
|
||||
committer: 'Godot Organization <noreply@godotengine.org>'
|
||||
|
||||
# Configure the pull-request.
|
||||
title: 'classref: Sync with current ${{ env.engine_rev }} branch (${{ steps.engine.outputs.rev_hash_short }})'
|
||||
body: 'Update Godot API online class reference to match the engine at https://github.com/godotengine/godot/commit/${{ steps.engine.outputs.rev_hash }} (`${{ env.engine_rev }}`).'
|
||||
labels: 'area:class reference,bug,enhancement'
|
||||
Reference in New Issue
Block a user