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: Append File Docstrings run: | python ./scripts/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@v2 with: token: ${{ secrets.BOT_PAT }} repository: 'open-goal/open-goal.github.io' event-type: updateProgress client-payload: '{"docGenRunId": "${{ github.run_id }}"}'