Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add conda recipe with verification workflow #793

Merged
merged 16 commits into from
Apr 2, 2024
38 changes: 38 additions & 0 deletions .github/workflows/conda.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
name: "Build conda packages"

on:
push:
branches: [main]
pull_request:
branches:
- main
workflow_dispatch:

env:
FORCE_COLOR: "1" # Make tools pretty.
trallard marked this conversation as resolved.
Show resolved Hide resolved

permissions:
contents: read # This is required for actions/checkout

jobs:
# Always build & verify package.
build-package:
name: Build & verify package
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os:
- ubuntu-latest
- macos-latest
- macos-14
trallard marked this conversation as resolved.
Show resolved Hide resolved
- windows-latest
steps:
- name: "Checkout Repository 🛎"
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: "Check conda builds 📦"
uses: jaimergp/conda-build-action@main
with:
artifact-name: 'conda-packages-${{ matrix.os }}'
118 changes: 118 additions & 0 deletions recipe/meta.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,118 @@
{% set name = "conda-store" %}
{% set version = "2024.1.1" %}

package:
name: {{ name|lower }}-split
version: {{ version }}

source:
# This is only needed here in-repo; in conda-forge, sources from PyPI
- path: ../

build:
number: 0

outputs:
- name: conda-store
version: {{ version }}
build:
noarch: python
script: python -m pip install ./conda-store -vv --no-deps --no-build-isolation --no-index
trallard marked this conversation as resolved.
Show resolved Hide resolved
entry_points:
- conda-store = conda_store.__main__:main
requirements:
host:
- python >=3.8
- pip
- hatchling >=1.14.0
- hatch-vcs
trallard marked this conversation as resolved.
Show resolved Hide resolved
run:
- __linux # [linux]
- __osx # [osx]
- __win # [win]
- aiohttp
jaimergp marked this conversation as resolved.
Show resolved Hide resolved
- click
- python >=3.8
- rich
- ruamel.yaml
- yarl
run_constrained:
- {{ pin_subpackage('conda-store-server', min_pin='x.x.x', max_pin='x.x.x') }}

test:
imports:
- conda_store
commands:
- conda-store --help

- name: conda-store-server
version: {{ version }}
build:
noarch: python
script: python -m pip install ./conda-store-server -vv --no-deps --no-build-isolation --no-index
trallard marked this conversation as resolved.
Show resolved Hide resolved
entry_points:
- conda-store-server = conda_store_server.server.__main__:main
- conda-store-worker = conda_store_server.worker.__main__:main
trallard marked this conversation as resolved.
Show resolved Hide resolved
requirements:
host:
- python >=3.8
- pip
- hatchling >=1.14.0
- hatch-vcs
trallard marked this conversation as resolved.
Show resolved Hide resolved
run:
- alembic
- celery
- conda
- conda-docker # [linux]
- __linux # [linux]
- __osx # [osx]
- __win # [win]
- conda-pack
- conda-lock
trallard marked this conversation as resolved.
Show resolved Hide resolved
- fastapi
- filelock
- itsdangerous
- jinja2
- minio
- pydantic <2.0a0
- pyjwt
- python >=3.8
- python-docker
- python-multipart
- pyyaml
- redis-py
- requests
- sqlalchemy
trallard marked this conversation as resolved.
Show resolved Hide resolved
- traitlets
- uvicorn
- yarl
jaimergp marked this conversation as resolved.
Show resolved Hide resolved
run_constrained:
- {{ pin_subpackage('conda-store', min_pin='x.x.x', max_pin='x.x.x') }}

test:
imports:
- conda_store_server
commands:
- conda-store-server --help
- conda-store-worker --help

about:
home: https://github.com/Quansight/conda-store
license: BSD-3-Clause
license_family: BSD
license_file: LICENSE
summary: Conda Environment Management, Builds, and Serve
description: |
End users think in terms of environments not packages. The core
philosophy of conda-store is to serve identical conda environments
in as many ways as possible. Conda Store controls the environment
lifecycle: management, builds, and serving of environments.
doc_url: https://conda-store.readthedocs.io/
dev_url: https://github.com/Quansight/conda-store

extra:
feedstock-name: conda-store
recipe-maintainers:
- trallard
- costrouc
- jaimergp
Loading