diff --git a/.github/workflows/build_docs.yml b/.github/workflows/build_docs.yml deleted file mode 100644 index 487cec5..0000000 --- a/.github/workflows/build_docs.yml +++ /dev/null @@ -1,37 +0,0 @@ -name: Build & Test Notebooks - -on: - push: - branches: - - main - workflow_dispatch: - -jobs: - build-notebooks: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - with: - submodules: true - fetch-depth: 0 - - uses: actions/setup-python@v5 - with: - python-version: '3.10' - - name: Install system dependencies - run: | - sudo apt-get update - sudo apt-get install pandoc - - name: Install Python dependencies - run: | - python -m pip install --upgrade pip - pip install -e ".[docs]" - - name: Build notebooks - run: | - make html - working-directory: notebooks - - name: Test notebooks - run: | - for notebook in notebooks/*.ipynb; do - jupyter nbconvert --execute --inplace --ExecutePreprocessor.timeout=600 $notebook; - done - working-directory: notebooks diff --git a/.github/workflows/build_test_notebooks.yml b/.github/workflows/build_test_notebooks.yml new file mode 100644 index 0000000..5eff983 --- /dev/null +++ b/.github/workflows/build_test_notebooks.yml @@ -0,0 +1,60 @@ +name: Build & Test Notebooks + +on: + push: + branches: + - main + pull_request: + branches: + - main + workflow_dispatch: + +jobs: + build-notebooks: + runs-on: ubuntu-latest + + steps: + - name: Checkout stingray repo + uses: actions/checkout@v4 + with: + repository: StingraySoftware/stingray + path: ./stingray + submodules: recursive + + - name: Get latest commit of the PR and Checkout PR version of notebooks + run: | + PR_SHA=$(curl -s 'https://api.github.com/repos/${{ github.repository }}/pulls/${{ github.event.pull_request.number }}' | jq -r .head.sha) + if [ "$PR_SHA" == "null" ]; then + echo "::error::Failed to get PR SHA" + exit 1 + fi + echo "commit=$PR_SHA" >> $GITHUB_ENV + cd ./stingray/docs/notebooks # Change to the submodule directory + pwd + git fetch origin $PR_SHA:pr_temp + git checkout pr_temp + + - name: Verify submodule update + run: | + cd ./stingray/docs/notebooks + git log -1 + + - name: Setup Python + uses: actions/setup-python@v5 + with: + python-version: '3.10' + + - name: Install pandoc and additional dependencies + run: | + sudo apt-get update + sudo apt-get install -y pandoc fonts-freefont-ttf + pip install sphinx sphinx-astropy tox + + - name: Install Stingray + run: | + pip install -e ./stingray + + - name: Run Build Docs + run: | + cd ./stingray + tox -e build_docs