Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Separate docs build workflow #2441

Merged
merged 3 commits into from
Jul 23, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
46 changes: 0 additions & 46 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -34,52 +34,6 @@ jobs:
- name: Check code style/formatting
run: make check-format

docs:
runs-on: ubuntu-latest
steps:
- name: Check out mitiq
uses: actions/checkout@v4

- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.12"

- name: Install Python dependencies
run: |
python -m pip install --upgrade pip
make install requirements

- name: Run the quilc & qvm Docker images
run: |
docker run --rm -idt -p 5000:5000 rigetti/qvm -S
docker run --rm -idt -p 5555:5555 rigetti/quilc -R

- name: Generate hash from all files excluding example notebooks
id: gen_hash
run: |
HASH=$(find . -type f -not -path './docs/source/examples/*' | sort | xargs cat | sha256sum | awk '{print $1}')
echo "hash=$HASH" >> $GITHUB_OUTPUT

- name: Fetch Jupyter cache
uses: actions/cache@v4
with:
path: ./docs/build/.jupyter_cache
key: jupyter-cache-${{ steps.gen_hash.outputs.hash }}

- name: Build and test Sphinx docs
run: |
export BQSKIT_DOC_CHECK_OVERRIDE=1
export PYDEVD_DISABLE_FILE_VALIDATION=1
make docs

- name: Run linkcheck on 'release' PRs
if: github.event_name == 'pull_request'
run: |
pr_title_lower=$(echo "${{ github.event.pull_request.title }}" | tr '[:upper:]' '[:lower:]')
if [[ "$pr_title_lower" == *"release"* ]]; then
make linkcheck
fi

# This is to make sure Mitiq works without optional 3rd party packages like Qiskit, pyQuil, etc.
# E.g., if we accidentally `import qiskit` in Mitiq where we shouldn't, this test will catch that.
Expand Down
62 changes: 62 additions & 0 deletions .github/workflows/docs-build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
name: docs-build

on:
pull_request:
types:
- opened
- reopened
- synchronize
- ready_for_review
branches:
- main
push:
branches:
- main

jobs:
docs:
runs-on: ubuntu-latest
steps:
- name: Check out mitiq
uses: actions/checkout@v4

- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.12"

- name: Install Python dependencies
run: |
python -m pip install --upgrade pip
make install

- name: Run the quilc & qvm Docker images
run: |
docker run --rm -idt -p 5000:5000 rigetti/qvm -S
docker run --rm -idt -p 5555:5555 rigetti/quilc -R

- name: Generate hash from all files excluding example notebooks
id: gen_hash
run: |
HASH=$(find . -type f -not -path './docs/source/examples/*' | sort | xargs cat | sha256sum | awk '{print $1}')
echo "hash=$HASH" >> $GITHUB_OUTPUT

- name: Fetch Jupyter cache
uses: actions/cache@v4
with:
path: ./docs/build/.jupyter_cache
key: jupyter-cache-${{ steps.gen_hash.outputs.hash }}

- name: Build and test Sphinx docs
run: |
export BQSKIT_DOC_CHECK_OVERRIDE=1
export PYDEVD_DISABLE_FILE_VALIDATION=1
make docs

- name: Run linkcheck on 'release' PRs
if: github.event_name == 'pull_request'
run: |
pr_title_lower=$(echo "${{ github.event.pull_request.title }}" | tr '[:upper:]' '[:lower:]')
if [[ "$pr_title_lower" == *"release"* ]]; then
make linkcheck
fi
Loading