@@ -11,26 +11,50 @@ jobs:
1111 # Don't run scheduled runs on forks unless the CI_OFFLINE_DOCS_CRON variable is set to 'true'.
1212 # Manual runs can still be triggered as normal.
1313 if : ${{ github.repository_owner == 'godotengine' || github.event_name != 'schedule' || vars.CI_OFFLINE_DOCS_CRON == 'true' }}
14- runs-on : ubuntu-22.04
14+ runs-on : ubuntu-24.04
15+ timeout-minutes : 180
1516 strategy :
1617 matrix :
1718 branch :
1819 - master
1920 - stable
2021 - 3.6
22+ permissions :
23+ contents : write
2124 steps :
2225 - uses : actions/checkout@v4
2326 with :
2427 ref : ${{ matrix.branch }}
2528
29+ - name : Get Python version
30+ id : pythonv
31+ run : |
32+ echo "PYTHON_VERSION=$(python --version)" >> $GITHUB_OUTPUT
33+
34+ - name : Restore cached virtualenv
35+ uses : actions/cache/restore@v4
36+ with :
37+ key : venv-${{ runner.os }}-${{ steps.pythonv.outputs.PYTHON_VERSION }}-${{ hashFiles('requirements.txt') }}
38+ path : .venv
39+
2640 - name : Install dependencies
2741 run : |
28- sudo pip3 install -r requirements.txt
42+ python -m venv .venv
43+ source .venv/bin/activate
44+ python -m pip install -r requirements.txt
45+ echo "$VIRTUAL_ENV/bin" >> $GITHUB_PATH
46+ echo "VIRTUAL_ENV=$VIRTUAL_ENV" >> $GITHUB_ENV
2947 sudo apt update
3048 sudo apt install parallel libwebp7
3149
50+ - name : Save virtualenv cache
51+ uses : actions/cache/save@v4
52+ with :
53+ key : venv-${{ runner.os }}-${{ steps.pythonv.outputs.PYTHON_VERSION }}-${{ hashFiles('requirements.txt') }}
54+ path : .venv
55+
3256 - name : Sphinx - Build HTML
33- run : make SPHINXOPTS='--color' html
57+ run : make SPHINXOPTS='--color -j 4 ' html
3458
3559 - uses : actions/upload-artifact@v4
3660 with :
5276 sed -i 's/"godot_is_latest": True/"godot_is_latest": False/' conf.py
5377 sed -i 's/"godot_show_article_status": True/"godot_show_article_status": False/' conf.py
5478
55- make SPHINXOPTS='--color' epub
79+ make SPHINXOPTS='--color -j 4 ' epub
5680
5781 - uses : actions/upload-artifact@v4
5882 with :
0 commit comments