name: docs on: push: branches: - master pull_request: concurrency: group: ${{ github.event_name == 'push' && github.ref == 'refs/heads/master' && github.run_id || github.head_ref || github.ref }}-${{ github.workflow }}-${{ github.event_name }} cancel-in-progress: true env: BASE_IMAGE: openpilot-base BUILD: selfdrive/test/docker_build.sh base RUN: docker run --shm-size 1G -v $GITHUB_WORKSPACE:/tmp/openpilot -w /tmp/openpilot -e FILEREADER_CACHE=1 -e PYTHONPATH=/tmp/openpilot -e NUM_JOBS -e JOB_ID -e GITHUB_ACTION -e GITHUB_REF -e GITHUB_HEAD_REF -e GITHUB_SHA -e GITHUB_REPOSITORY -e GITHUB_RUN_ID -v $GITHUB_WORKSPACE/.ci_cache/scons_cache:/tmp/scons_cache -v $GITHUB_WORKSPACE/.ci_cache/comma_download_cache:/tmp/comma_download_cache -v $GITHUB_WORKSPACE/.ci_cache/openpilot_cache:/tmp/openpilot_cache $BASE_IMAGE /bin/sh -c jobs: docs: name: build docs runs-on: ubuntu-20.04 timeout-minutes: 45 steps: - uses: actions/checkout@v4 with: submodules: true - uses: ./.github/workflows/setup-with-retry - name: Build openpilot run: | ${{ env.RUN }} "scons -j$(nproc)" - name: Build docs run: | ${{ env.RUN }} "apt update && apt install -y doxygen && cd docs && make html" - uses: actions/checkout@v4 if: github.ref == 'refs/heads/master' && github.repository == 'commaai/openpilot' with: path: openpilot-docs ssh-key: ${{ secrets.OPENPILOT_DOCS_KEY }} repository: commaai/openpilot-docs - name: Push if: github.ref == 'refs/heads/master' && github.repository == 'commaai/openpilot' run: | set -x source release/identity.sh cd openpilot-docs git checkout --orphan tmp git rm -rf --cached . cp -r ../build/docs/html/ docs/ touch docs/.nojekyll echo -n docs.comma.ai > docs/CNAME git add -f . git commit -m "build docs" # docs live in different repo to not bloat openpilot's full clone size git push -f origin gh-pages