Implementation of proposed syntax changes #120
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
# This workflows will upload a Python Package using Twine when a release is created | |
# For more information see: https://help.github.com/en/actions/language-and-framework-guides/using-python-with-github-actions#publishing-to-package-registries | |
name: Build docs | |
on: | |
release: | |
types: [published] | |
push: | |
branches: | |
- master | |
- develop | |
pull_request: | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: true | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Fetch tags | |
run: git fetch --prune --unshallow | |
- name: Set up Python | |
uses: actions/setup-python@v5 | |
with: | |
python-version: '3.x' | |
- name: Install dependencies | |
run: | | |
python -m pip install --upgrade pip | |
pip install build twine | |
- name: Install package | |
run: pip install .[doc] | |
- name: Revert version to most recent version tag | |
run: git checkout $(git tag -l | grep 'v.*' | tail -n 1 | awk -F post '{print $1}') | |
- name: Build docs | |
run: | | |
cd docs | |
make html | |
cd .. | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: docs | |
path: docs/_build/html | |
build-new: | |
runs-on: ubuntu-latest | |
# Set up the environment so that it finds conda | |
defaults: | |
run: | |
shell: bash -l {0} | |
steps: | |
- name: Install Pandoc for NBSphinx | |
run: | | |
sudo apt-get update | |
sudo apt-get install -y pandoc | |
- name: Install Dependencies for virtual notifications in Adv.-Exec Tutorial | |
run: | | |
sudo apt update | |
sudo apt install -y xvfb libnotify-bin dbus-x11 xfce4-notifyd | |
- name: Start Virtual Display (for notifications) | |
run: | | |
Xvfb :99 & | |
export DISPLAY=:99 | |
eval "$(dbus-launch --sh-syntax)" | |
echo "DISPLAY=:99" >> $GITHUB_ENV | |
echo "DBUS_SESSION_BUS_ADDRESS=$DBUS_SESSION_BUS_ADDRESS" >> $GITHUB_ENV | |
- name: Start Notification Daemon (for notifications) | |
run: | | |
xfce4-notifyd & | |
sleep 2 # Give it some time to start | |
- name: Send Notification (test notifications) | |
run: | | |
notify-send "GitHub Runner Notification" "This is a test notification from GitHub Actions" | |
- name: Debug Running Processes (for notifications) | |
run: | | |
ps aux | grep notify | |
ps aux | grep xfce4-notifyd | |
dbus-monitor --session & | |
sleep 3 | |
- uses: actions/checkout@v4 | |
- name: Fetch tags | |
run: git fetch --prune --unshallow | |
- name: Install Minconda | |
uses: conda-incubator/setup-miniconda@v3 | |
with: | |
auto-activate-base: true | |
activate-environment: "" | |
- name: Install MRtrix via Conda | |
run: | | |
conda install -c mrtrix3 mrtrix3 | |
mrconvert --version | |
- name: Set up Python | |
uses: actions/setup-python@v5 | |
with: | |
python-version: '3.x' | |
- name: Install dependencies | |
run: | | |
python -m pip install --upgrade pip | |
pip install build twine | |
- name: Install package | |
run: pip install .[doc] | |
- name: Install Python3 kernel | |
run: python -m ipykernel install --user | |
- name: Build new docs | |
run: | | |
cd new-docs | |
make html | |
cd .. | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: new-docs | |
path: new-docs/build/html | |
deploy: | |
needs: [build, build-new] | |
runs-on: ubuntu-latest | |
steps: | |
- name: Download docs | |
uses: actions/download-artifact@v4 | |
with: | |
name: docs | |
path: docs-build | |
- name: Download new docs | |
uses: actions/download-artifact@v4 | |
with: | |
name: new-docs | |
path: docs-build/new | |
- name: Check for GHPAGES_DEPLOY_KEY token | |
id: deployable | |
# if: github.event_name == 'release' | |
env: | |
GHPAGES_DEPLOY_KEY: "${{ secrets.GHPAGES_DEPLOY_KEY }}" | |
run: if [ -n "$GHPAGES_DEPLOY_KEY" ]; then echo "DEPLOY=true" >> $GITHUB_OUTPUT; fi | |
- name: Deploy Docs to GitHub Pages | |
if: steps.deployable.outputs.DEPLOY | |
uses: peaceiris/actions-gh-pages@v3 | |
with: | |
github_token: ${{ secrets.GHPAGES_DEPLOY_KEY }} | |
publish_dir: docs-build |