Skip to content

Adds bioconda recipe conversion integration test #41

Adds bioconda recipe conversion integration test

Adds bioconda recipe conversion integration test #41

Workflow file for this run

on:
push:
branches:
- main
pull_request:
name: Test
jobs:
# NOTE: Tests run via `pre-commit`
pre-commit:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
- uses: ./.github/actions/setup-env
with:
python-version: "3.11"
# Executes `pre-commit` with the `make` directive to ensure all dependencies are found
- run: |
source $CONDA/bin/activate
conda activate conda-recipe-manager
make pre-commit
test:
runs-on: ubuntu-latest
name: Test on ${{ matrix.python-version }}
strategy:
matrix:
python-version: ["3.11"] # TODO: Bump this to 3.12 when supported and drop 3.11 (covered in pre-commit)
steps:
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
- uses: ./.github/actions/setup-env
with:
python-version: ${{ matrix.python-version }}
- run: |
source $CONDA/bin/activate
conda activate conda-recipe-manager
make test
build-recipe-conda:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
- name: Build package in conda build
run: |
source $CONDA/bin/activate
conda install -y conda-build
conda build recipe/meta.yaml
# Eat our own dog food and build this project with rattler-build by converting our existing recipe.
build-recipe-rattler:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
- uses: ./.github/actions/setup-env
with:
python-version: "3.11"
- name: Build package in rattler-build (experimental)
run: |
source $CONDA/bin/activate
conda activate conda-recipe-manager
conda install -y -c conda-forge rattler-build
convert -o recipe/recipe.yaml recipe/meta.yaml
rattler-build build -r recipe/
## Integration tests ##
integration-rattler:
runs-on: ubuntu-latest
timeout-minutes: 45
name: Test on ${{ matrix.test-directory }}
strategy:
fail-fast: false
matrix:
test-directory:
- anaconda_recipes
- bioconda_recipes_01
- bioconda_recipes_02
# - bioconda_recipes_03
# - bioconda_recipes_04
include:
- test-directory: anaconda_recipes
convert-success: 0.80
rattler-success: 0.50
- test-directory: bioconda_recipes_01
convert-success: 0.55
rattler-success: 0.02
- test-directory: bioconda_recipes_02
convert-success: 0.55
rattler-success: 0.08
# TODO Figure out: these tests continually crash the GitHub runner without logs or a timeout
#- test-directory: bioconda_recipes_03
# convert-success: 0.55
# rattler-success: 0.05
#- test-directory: bioconda_recipes_04
# convert-success: 0.55
# rattler-success: 0.05
steps:
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
- uses: ./.github/actions/setup-env
with:
python-version: "3.11"
- name: Convert recipes and dry-run rattler-build
run: |
source $CONDA/bin/activate
conda activate conda-recipe-manager
conda install -y -c conda-forge rattler-build
convert -t -m ${{ matrix.convert-success }} -o recipe.yaml tests/test_aux_files/integration/${{ matrix.test-directory }}
rattler-bulk-build -t -m ${{ matrix.rattler-success }} tests/test_aux_files/integration/${{ matrix.test-directory }} --render-only