Enable Parallel Deconvolution #204
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: Run tutorials | |
on: | |
push: | |
pull_request: | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: ${{ github.ref != 'refs/heads/master' }} | |
jobs: | |
installer: | |
runs-on: ubuntu-latest | |
defaults: | |
run: | |
shell: bash -l {0} | |
steps: | |
- name: Free space | |
# HACK fixes 'No space left on device' | |
# see: https://github.com/orgs/community/discussions/25678#discussioncomment-5242449 | |
# NOTE we don't use those, we use conda for everything anyway | |
run: rm -rf /opt/hostedtoolcache | |
- name: Checkout repository | |
uses: actions/checkout@v4 | |
with: | |
sparse-checkout: | | |
docs | |
tests | |
sparse-checkout-cone-mode: false | |
lfs: false | |
- name: Install conda environment dependencies | |
uses: conda-incubator/setup-miniconda@v3 | |
with: | |
miniforge-version: latest | |
miniforge-variant: Miniforge3 | |
mamba-version: "*" | |
use-mamba: true | |
no-implicit-channels: true | |
channels: conda-forge,bioconda | |
channel-priority: strict | |
activate-environment: JupyText | |
auto-update-conda: true | |
environment-file: tests/conda_tutorials_env.yaml | |
- name: Setup Jupyter kernel | |
run: | | |
python -m ipykernel install --user | |
- name: Run installation notebooks | |
working-directory: ./docs | |
run: ./convert.sh --branch *_install.md | |
- name: Create V-pipe installation archive | |
# HACK this acceleraters upload while preserving Unix-specifics (case sensitivity, file attributes). | |
run: tar --zstd -cvf vpipeinstallation.tar.zst ./docs/vp-analysis | |
- name: Keep installation | |
uses: actions/upload-artifact@v4 | |
with: | |
name: VPipeInstallation | |
path: vpipeinstallation.tar.zst | |
if-no-files-found: error | |
- name: Save notebooks | |
uses: actions/upload-artifact@v4 | |
with: | |
name: JupyterNotebooks-Install | |
path: ./docs/*.ipynb | |
tutorial: | |
needs: installer | |
strategy: | |
max-parallel: 5 | |
fail-fast: false | |
matrix: | |
virus: ["hiv", "sarscov2"] | |
runs-on: ubuntu-latest | |
defaults: | |
run: | |
shell: bash -l {0} | |
steps: | |
- name: Free space | |
# HACK fixes 'No space left on device' | |
# see: https://github.com/orgs/community/discussions/25678#discussioncomment-5242449 | |
# NOTE we don't use those, we use conda for everything anyway | |
run: rm -rf /opt/hostedtoolcache | |
- name: Checkout repository | |
uses: actions/checkout@v4 | |
with: | |
sparse-checkout: | | |
docs | |
tests | |
sparse-checkout-cone-mode: false | |
lfs: false | |
- name: Reuse installation | |
uses: actions/download-artifact@v4 | |
with: | |
name: VPipeInstallation | |
- name: Extract V-pipe installation archive | |
run: tar --zstd -xvf vpipeinstallation.tar.zst | |
- name: Install conda environment dependencies | |
uses: conda-incubator/setup-miniconda@v3 | |
with: | |
miniforge-version: latest | |
miniforge-variant: Miniforge3 | |
python-version: "3.11" | |
mamba-version: "*" | |
use-mamba: true | |
no-implicit-channels: true | |
channels: conda-forge,bioconda | |
channel-priority: strict | |
activate-environment: JupyText | |
auto-update-conda: true | |
environment-file: tests/conda_tutorials_env.yaml | |
- name: Setup Jupyter kernel | |
run: | | |
python -m ipykernel install --user | |
- name: Run analysis notebooks | |
working-directory: ./docs | |
run: ./convert.sh --version --branch --sralog tutorial*_${{ matrix.virus }}.md | |
- name: Save output | |
if: ${{ failure() }} | |
uses: actions/upload-artifact@v4 | |
with: | |
name: Tutorial_${{ matrix.virus }} | |
path: | | |
./docs/*.ipynb | |
./docs/*.log | |
./docs/samples/* | |
./docs/vp-analysis/work* | |
!./docs/vp-analysis/work*/.snakemake/conda/*/ | |
include-hidden-files: true | |
if-no-files-found: ignore | |
- name: Save notebooks | |
uses: actions/upload-artifact@v4 | |
with: | |
name: JupyterNotebooks-${{ matrix.virus }} | |
path: ./docs/*.ipynb | |
# - name: Publish | |
# uses: peaceiris/actions-gh-pages@v3 | |
# with: | |
# github_token: ${{ secrets.GITHUB_TOKEN }} | |
# publish_dir: ./docs |