Fix docs CI: mock native libraries instead of installing them #5
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Deploy Documentation | |
| on: | |
| push: | |
| branches: | |
| - main | |
| - master | |
| workflow_dispatch: | |
| permissions: | |
| contents: read | |
| pages: write | |
| id-token: write | |
| concurrency: | |
| group: "pages" | |
| cancel-in-progress: false | |
| jobs: | |
| build: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Set up Python | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: '3.11' | |
| - name: Install Python dependencies | |
| run: | | |
| pip install torch --index-url https://download.pytorch.org/whl/cpu | |
| pip install pdoc | |
| - name: Build documentation | |
| run: | | |
| python -c " | |
| import sys | |
| from unittest.mock import MagicMock | |
| # Mock native libraries | |
| class MockCDLL: | |
| def __getattr__(self, name): | |
| return MagicMock() | |
| import ctypes | |
| original_cdll = ctypes.CDLL | |
| ctypes.CDLL = lambda *args, **kwargs: MockCDLL() | |
| ctypes.cdll.LoadLibrary = lambda *args, **kwargs: MockCDLL() | |
| sys.path.insert(0, 'src') | |
| import pdoc | |
| pdoc.pdoc('nvidia_codec', '!nvidia_codec.core', '!nvidia_codec.ffmpeg', output_directory='docs') | |
| " | |
| - name: Upload artifact | |
| uses: actions/upload-pages-artifact@v3 | |
| with: | |
| path: docs | |
| deploy: | |
| environment: | |
| name: github-pages | |
| url: ${{ steps.deployment.outputs.page_url }} | |
| runs-on: ubuntu-latest | |
| needs: build | |
| steps: | |
| - name: Deploy to GitHub Pages | |
| id: deployment | |
| uses: actions/deploy-pages@v4 |