name: docs on: push: branches: - master pull_request: workflow_call: inputs: run_number: default: '1' required: true type: string concurrency: group: docs-tests-ci-run-${{ inputs.run_number }}-${{ 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: GIT_CONFIG_COUNT: 1 GIT_CONFIG_KEY_0: lfs.fetchexclude GIT_CONFIG_VALUE_0: openpilot/selfdrive/modeld/models/big_driving_tinygrad.pkl jobs: docs: name: build docs runs-on: ${{ (github.repository == 'commaai/openpilot') && ((github.event_name != 'pull_request') || (github.event.pull_request.head.repo.full_name == 'commaai/openpilot')) && fromJSON('["namespace-profile-amd64-8x16"]') || fromJSON('["ubuntu-24.04"]') }} steps: - uses: commaai/timeout@v1 - uses: actions/checkout@v7 - run: ./tools/op.sh setup # Build - name: Build docs run: ./tools/op.sh docs --build # Push to docs.comma.ai - uses: actions/checkout@v7 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 tools/release/identity.sh cd openpilot-docs git checkout --orphan tmp git rm -rf . # copy over docs cp -r ../docs/_site/ docs/ # GitHub pages config 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 tmp:gh-pages