Custom conda package recipes for the OpenTYNDP project, built and published to prefix.dev.
.
├── .github/
│ └── workflows/
| ├── build-and-upload.yml # CI/CD workflow for building and uploading
│ └── pr-build.yml # CI/CD workflow for PR test builds
├── recipes/
│ └── snakemake/ # Custom snakemake build
│ └── meta.yaml
├── pixi.toml # Development environment configuration
└── README.md
Install packages from our custom channel:
# With pixi
pixi workspace channel add https://prefix.dev/open-tyndp
pixi add "https://prefix.dev/open-tyndp::snakemake-minimal >=9"
# With conda/mamba
conda install -c https://prefix.dev/open-tyndp snakemake-minimal- Create a new directory under
recipes/with your package name - Add a
meta.yamlfile following conda-build conventions - Create a PR - the workflow will automatically build and test
- Once merged to
main, packages are automatically uploaded to prefix.dev
-
Copy the directory containing the meta.yaml file for the targeted package from its conda-forge feedstock or the bioconda-recipes repository.
-
Add a local version identifier to the version, like
9.15.3+opentyndpor9.15.3+opentyndp.1. -
Update the source to something like:
source: git_url: https://github.com/coroa/snakemake.git git_rev: v{{ version }}
-
Add setuptools-scm to the host requirements section
-
Create a PR to build and test
Build recipes locally using pixi:
# Build a specific recipe
pixi run build recipes/snakemake
# Upload to channel (requires PREFIX_API_KEY)
pixi run uploadThe repository uses GitHub Actions to:
- On Pull Requests: Build changed recipes and upload as artifacts for testing
- On Merge to Main: Build and upload packages to prefix.dev channel
- Use
noarch: pythonornoarch: genericwhen possible for platform-independent packages - Always include tests in
meta.yaml - Pin dependencies appropriately
- For git-based sources, add
setuptools-scmto build dependencies if the package uses it
The recipes/snakemake directory contains a custom build of Snakemake from a specific git branch:
source:
git_url: https://github.com/coroa/snakemake
git_rev: fix/unstuck-windowsThis allows us to test unreleased fixes before they're merged upstream.
Individual recipes may have different licenses. Check each recipe's meta.yaml for license information.