mirror of
https://github.com/open-goal/jak-project.git
synced 2024-10-20 11:26:18 -04:00
88 lines
2.7 KiB
YAML
88 lines
2.7 KiB
YAML
name: Inform Pages Repo
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- master
|
|
paths:
|
|
- 'goal_src/**'
|
|
workflow_dispatch: {}
|
|
|
|
jobs:
|
|
gen-docs:
|
|
name: Generate Documentation
|
|
if: github.repository == 'open-goal/jak-project'
|
|
runs-on: ubuntu-20.04
|
|
timeout-minutes: 45
|
|
env: # overrides: https://github.com/mbitsnbites/buildcache/blob/master/doc/configuration.md
|
|
BUILDCACHE_MAX_CACHE_SIZE: 1000000000 # 1gb
|
|
BUILDCACHE_COMPRESS_FORMAT: ZSTD
|
|
BUILDCACHE_COMPRESS_LEVEL: 19
|
|
BUILDCACHE_DIRECT_MODE: true
|
|
BUILDCACHE_LOG_FILE: ${{ github.workspace }}/buildcache.log
|
|
steps:
|
|
- name: Checkout Repository
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Install Package Dependencies
|
|
run: |
|
|
sudo apt update
|
|
sudo apt install build-essential cmake \
|
|
clang gcc g++ lcov make nasm libxrandr-dev \
|
|
libxinerama-dev libxcursor-dev libpulse-dev \
|
|
libxi-dev zip ninja-build libgl1-mesa-dev
|
|
|
|
- name: Setup Buildcache
|
|
uses: mikehardy/buildcache-action@v2.1.0
|
|
with:
|
|
cache_key: linux-ubuntu-20.04--Release-linux-clang
|
|
buildcache_tag: v0.28.1
|
|
|
|
- name: CMake Generation
|
|
env:
|
|
CC: clang
|
|
CXX: clang++
|
|
run: |
|
|
cmake -B build --preset=Release-linux-clang \
|
|
-DCMAKE_C_COMPILER_LAUNCHER=${{ github.workspace }}/buildcache/bin/buildcache \
|
|
-DCMAKE_CXX_COMPILER_LAUNCHER=${{ github.workspace }}/buildcache/bin/buildcache
|
|
|
|
- name: Build Project
|
|
run: cmake --build build --parallel $((`nproc`)) --target goalc
|
|
|
|
- name: Generate Docs For Jak 1
|
|
run: |
|
|
./build/goalc/goalc --cmd "(begin (make-group \"all-code\") (gen-docs \"${PWD}\"))" --game jak1
|
|
|
|
- name: Generate Docs For Jak 2
|
|
run: |
|
|
./build/goalc/goalc --cmd "(begin (make-group \"all-code\") (gen-docs \"${PWD}\"))" --game jak2
|
|
|
|
- name: Generate Docs For Jak 3
|
|
run: |
|
|
./build/goalc/goalc --cmd "(begin (make-group \"all-code\") (gen-docs \"${PWD}\"))" --game jak3
|
|
|
|
- name: Append File Docstrings
|
|
run: |
|
|
python ./scripts/ci/docs/append-file-docs.py
|
|
|
|
- name: Upload Docs Artifact
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
name: opengoal-docs
|
|
if-no-files-found: error
|
|
path: |
|
|
./jak1*.json
|
|
./jak2*.json
|
|
|
|
- name: Log Run ID
|
|
run: echo ${{ github.run_id }}
|
|
|
|
- name: Send Dispatch
|
|
uses: peter-evans/repository-dispatch@v3
|
|
with:
|
|
token: ${{ secrets.BOT_PAT }}
|
|
repository: 'open-goal/open-goal.github.io'
|
|
event-type: updateProgress
|
|
client-payload: '{"docGenRunId": "${{ github.run_id }}"}'
|