WIP: testing split step workflow for docs #44
This file contains 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: documentation | |
on: [push, pull_request, workflow_dispatch] | |
permissions: | |
contents: write | |
jobs: | |
build-source: | |
runs-on: windows-latest | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v4 | |
- name: Setup conda environment | |
uses: conda-incubator/setup-miniconda@v2 | |
with: | |
auto-update-conda: true | |
python-version: 3.9.1 | |
- name: Create diff_check conda environment | |
run: | | |
conda env create -f environment.yml | |
- name: Update/Restore conda environment cache | |
uses: actions/cache@v2 | |
with: | |
path: C:\Miniconda\envs\diff_check | |
key: ${{ runner.os }}-conda-${{ hashFiles('environment.yml') }} | |
- name: Cmake Configure | |
run: | | |
conda run --name diff_check --no-capture-output cmake -S . -B build -A x64 -DBUILD_PYTHON_MODULE=ON -DBUILD_TESTS=OFF -DRUN_TESTS=OFF | |
- name: CMake Build | |
run: conda run --name diff_check --no-capture-output cmake --build build --config Release | |
# upload artifacts | |
- name: Move dlls and pyd files to single directories | |
run: | | |
mkdir $env:GITHUB_WORKSPACE\artifacts | |
Get-ChildItem -Path $env:GITHUB_WORKSPACE\build\Release -Filter *.pyd -Recurse | Move-Item -Destination $env:GITHUB_WORKSPACE\artifacts_pyds | |
Get-ChildItem -Path $env:GITHUB_WORKSPACE\build\bin\Release -Filter *.dll -Recurse | Move-Item -Destination $env:GITHUB_WORKSPACE\artifacts_dlls | |
shell: pwsh | |
- name: Upload artifacts - dlls | |
uses: actions/upload-artifact@v2 | |
with: | |
name: __build_artifacts_dlls__ | |
path: ${{ github.workspace }}/artifacts_dlls/* | |
- name: Upload artifacts - pyds | |
uses: actions/upload-artifact@v2 | |
with: | |
name: __build_artifacts_pyds__ | |
path: ${{ github.workspace }}/artifacts_pyds/* | |
build-docs: | |
runs-on: windows-latest | |
needs: build-source | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v4 | |
- name: Setup conda environment | |
uses: conda-incubator/setup-miniconda@v2 | |
with: | |
auto-update-conda: true | |
python-version: 3.9.1 | |
- name: Restore conda environment cache | |
uses: actions/cache@v2 | |
with: | |
path: C:\Miniconda\envs\diff_check | |
key: ${{ runner.os }}-conda-${{ hashFiles('environment.yml') }} | |
restore-keys: | | |
${{ runner.os }}-conda- | |
- name: Activate diff_check conda environment | |
run: | | |
conda activate diff_check | |
# download artifacts | |
- name: Download dlls for doc folder | |
uses: actions/download-artifact@v2 | |
with: | |
name: __build_artifacts_dlls__ | |
path: ${{github.workspace}}/doc | |
- name: Download pyds for doc folder | |
uses: actions/download-artifact@v2 | |
with: | |
name: __build_artifacts_pyds__ | |
path: ${{github.workspace}}/doc | |
- name: Download dlls for diffCheck py package | |
uses: actions/download-artifact@v2 | |
with: | |
name: __build_artifacts_dlls__ | |
path: ${{github.workspace}}/src/gh/diffCheck/diffCheck/dlls | |
- name: Download pyds for diffCheck py package | |
uses: actions/download-artifact@v2 | |
with: | |
name: __build_artifacts_pyds__ | |
path: ${{github.workspace}}/src/gh/diffCheck/diffCheck | |
- name: Sphinx build | |
run: | | |
conda run --name diff_check --no-capture-output sphinx-build -b html -v doc _build | |
- name: Upload documentation | |
uses: actions/upload-artifact@v2 | |
with: | |
name: __build_sphx_docs__ | |
path: ${{ github.workspace }}/_build | |
# page-deployement: | |
# runs-on: windows-latest | |
## FIXME: we should replace this with the action to deploy to gh-pages | |
# - name: Deploy to GitHub Pages | |
# uses: peaceiris/actions-gh-pages@v3 | |
# if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/main' }} | |
# with: | |
# publish_branch: gh-pages | |
# github_token: ${{ secrets.GITHUB_TOKEN }} | |
# publish_dir: _build/ | |
# force_orphan: true |