| name: linkcheck |
| on: |
| pull_request: |
| paths: |
| - docs/conf.py |
| - .github/workflows/linkcheck.yml |
| schedule: |
| # Run once a week on Fridays |
| - cron: "0 0 * * FRI" |
| |
| permissions: |
| contents: read |
| |
| env: |
| CARGO_INCREMENTAL: 0 |
| |
| jobs: |
| docs-linkcheck: |
| runs-on: ubuntu-latest |
| name: "linkcheck" |
| timeout-minutes: 20 |
| steps: |
| - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 |
| with: |
| persist-credentials: false |
| - name: Setup python |
| id: setup-python |
| uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0 |
| with: |
| python-version: 3.11 |
| - name: Cache rust and pip |
| uses: ./.github/actions/cache |
| timeout-minutes: 2 |
| with: |
| # This creates the same key as the docs job (as long as they have the same |
| # python version) |
| key: 3.11-${{ steps.setup-python.outputs.python-version }} |
| - run: python -m pip install -c ci-constraints-requirements.txt 'nox[uv]' |
| - name: Build nox environment |
| run: | |
| nox -v --install-only -s docs-linkcheck |
| env: |
| CARGO_TARGET_DIR: ${{ format('{0}/src/rust/target/', github.workspace) }} |
| - name: linkcheck |
| run: nox --no-install -s docs-linkcheck -- --color=yes |