Skip to content

Support ZipFile IO #1475

Support ZipFile IO

Support ZipFile IO #1475

Workflow file for this run

name: Test and Deploy bioimageio.spec
on:
push:
branches: [main]
pull_request:
branches: ["**"]
jobs:
test:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
python-version: ["3.8", "3.9", "3.10", "3.11", "3.12"]
include:
- python-version: "3.8"
test-format: true
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
cache: "pip"
- name: Install dependencies
run: |
pip install --upgrade pip
pip install -e .[dev]
- name: Get Date
id: get-date
run: |
echo "week=$(/bin/date -u "+%Y-%U")" >> $GITHUB_OUTPUT
shell: bash
- uses: actions/cache@v3
with:
path: tests/cache
key: ${{ runner.os }}-${{ matrix.python-version }}-${{ steps.get-date.outputs.week }}-${{ hashFiles('**/lockfiles') }}
- name: Check autogenerated imports
run: python scripts/generate_version_submodule_imports.py check
- run: black --check .
if: matrix.test-format
- run: ruff check **/*.py # ignore notebooks for now
if: matrix.test-format
- run: pyright --version
- run: pyright -p pyproject.toml --pythonversion ${{ matrix.python-version }}
- run: pytest
- run: ls coverage.xml
- if: matrix.python-version == '3.12' && github.event_name == 'pull_request'
uses: orgoro/[email protected]
with:
coverageFile: coverage.xml
token: ${{ secrets.GITHUB_TOKEN }}
- if: matrix.python-version == '3.12'
run: |
pip install genbadge[coverage]
genbadge coverage --input-file coverage.xml --output-file ./dist/coverage/coverage-badge.svg
coverage html -d dist/coverage
- if: matrix.python-version == '3.12'
uses: actions/upload-artifact@v4
with:
name: coverage
retention-days: 1
path: dist
deploy:
needs: [test]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/download-artifact@v4
with:
name: coverage
path: dist
- uses: actions/setup-python@v5
with:
python-version: "3.12"
cache: "pip"
- name: Install dependencies
run: |
pip install --upgrade pip
pip install -e .[dev]
- name: Generate spec docs
run: python scripts/generate_spec_documentation.py --dist dist/user_docs
- name: Generate interactive documentation
env:
PYTHONPATH: "./scripts"
run: python -m interactive_docs
- name: Generate JSON schemas
run: python scripts/generate_json_schemas.py
- name: Generate JSON schema documentation
run: python scripts/generate_json_schema_documentation.py
- id: get_version
run: python -c 'import bioimageio.spec;print(f"version={bioimageio.spec.__version__}")' >> $GITHUB_OUTPUT
- name: Generate developer docs
run: |
pdoc \
--logo "https://bioimage.io/static/img/bioimage-io-logo.svg" \
--logo-link "https://bioimage.io/" \
--favicon "https://bioimage.io/static/img/bioimage-io-icon-small.svg" \
--footer-text "bioimageio.spec ${{steps.get_version.outputs.version}}" \
-o ./dist bioimageio.spec bioimageio.spec._internal
- name: copy legacy file until BioImage.IO-packager is updated # TODO: remove if packager does not depend on it anymore
run: cp weight_formats_spec.json ./dist/weight_formats_spec.json
- name: Get branch name to deploy to
id: get_branch
shell: bash
run: |
if [[ -n '${{ github.event.pull_request.head.ref }}' ]]; then branch=gh-pages-${{ github.event.pull_request.head.ref }}; else branch=gh-pages; fi
echo "::set-output name=branch::$branch"
- name: Deploy to ${{ steps.get_branch.outputs.branch }} 🚀
uses: JamesIves/github-pages-deploy-action@v4
with:
branch: ${{ steps.get_branch.outputs.branch }}
folder: dist
mamba-build:
runs-on: ubuntu-latest
needs: test
steps:
- name: checkout
uses: actions/checkout@v3
with:
fetch-depth: 0
- name: Install Conda environment with Micromamba
uses: mamba-org/setup-micromamba@v1
with:
cache-downloads: true
cache-environment: true
environment-name: build-env
condarc: |
channels:
- conda-forge
create-args: >-
boa
- name: linux conda build
run: |
conda mambabuild -c conda-forge conda-recipe
shell: bash -l {0}
# rattler-build:
# name: Build package
# runs-on: ubuntu-latest
# steps:
# - uses: actions/checkout@v4
# - name: Build conda package
# uses: prefix-dev/[email protected]
# with:
# recipe-path: conda-recipe/recipe.yaml