diff --git a/.github/workflows/build_docker_image.yaml b/.github/workflows/build_docker_image.yaml index 36776a0ec..1807e3dd6 100644 --- a/.github/workflows/build_docker_image.yaml +++ b/.github/workflows/build_docker_image.yaml @@ -18,9 +18,6 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - docker-image: - - conda-store - - conda-store-server platform: - linux/amd64 - linux/arm64 @@ -66,8 +63,8 @@ jobs: uses: docker/metadata-action@v5 with: images: | - quansight/${{ matrix.docker-image }} - quay.io/quansight/${{ matrix.docker-image }} + quansight/conda-store-server + quay.io/quansight/conda-store-server tags: | type=ref,event=tag type=sha @@ -75,15 +72,15 @@ jobs: # we need this as we are setting the context to subproject directory - name: "Copy .dockerignore" run: | - cp .dockerignore ${{ matrix.docker-image }}/.dockerignore + cp .dockerignore conda-store-server/.dockerignore shell: bash - name: "Publish Docker image ๐Ÿš€" uses: docker/build-push-action@v5 with: - context: "${{ matrix.docker-image }}" + context: "conda-store-server" target: "dev" - file: "${{ matrix.docker-image }}/Dockerfile" + file: "conda-store-server/Dockerfile" tags: | ${{ steps.meta.outputs.tags }} push: true diff --git a/.github/workflows/build_pypi_package.yaml b/.github/workflows/build_pypi_package.yaml index 09cff7aad..265519ea6 100644 --- a/.github/workflows/build_pypi_package.yaml +++ b/.github/workflows/build_pypi_package.yaml @@ -4,7 +4,6 @@ on: pull_request: paths: - ".github/workflows/**" - - "conda-store/**" - "conda-store-server/**" - "tests/**" push: @@ -22,27 +21,20 @@ jobs: build-package: name: "Build & verify package" runs-on: ubuntu-latest - strategy: - matrix: - directory: - - "conda-store" - - "conda-store-server" defaults: run: - working-directory: ${{ matrix.directory }} + working-directory: conda-store-server steps: - name: "Checkout Repository ๐Ÿ›Ž" uses: actions/checkout@v4 with: fetch-depth: 0 - - run: echo "Running on ${{ matrix.directory }}" - - - name: "Build and check package - ${{ matrix.directory }} ๐Ÿ“ฆ" + - name: "Build and check package ๐Ÿ“ฆ" uses: hynek/build-and-inspect-python-package@v2 id: baipp with: - path: ${{ matrix.directory }} - upload-name-suffix: "-${{ matrix.directory }}" + path: conda-store-server + upload-name-suffix: "-conda-store-server" - run: echo Packages can be found at ${{ steps.baipp.outputs.dist }} and in artifact ${{ steps.baipp.outputs.artifact-name }} diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index 4fcc18ec8..75c1e8561 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -20,28 +20,22 @@ jobs: build-package: name: "Build & verify package" runs-on: ubuntu-latest - strategy: - matrix: - directory: - - "conda-store" - - "conda-store-server" defaults: run: - working-directory: ${{ matrix.directory }} + working-directory: conda-store-server steps: - name: "Checkout Repository ๐Ÿ›Ž" uses: actions/checkout@v4 with: fetch-depth: 0 - - run: echo "Running on ${{ matrix.directory }}" - - name: "Build and check package - ${{ matrix.directory }} ๐Ÿ“ฆ" + - name: "Build and check package ๐Ÿ“ฆ" uses: hynek/build-and-inspect-python-package@v2 id: baipp with: - path: ${{ matrix.directory }} - upload-name-suffix: "-${{ matrix.directory }}" + path: conda-store-server + upload-name-suffix: "-conda-store-server" attest-build-provenance-github: "true" - run: echo Packages can be found at ${{ steps.baipp.outputs.dist }} and in artifact ${{ steps.baipp.outputs.artifact-name }} @@ -55,17 +49,11 @@ jobs: if: github.repository_owner == 'conda-incubator' && github.event_name == 'push' && github.ref == 'refs/heads/main' permissions: id-token: write # IMPORTANT: this permission is mandatory for trusted publishing - strategy: - matrix: - directory: - - "conda-store" - - "conda-store-server" - steps: - name: "Download build artefacts ๐Ÿ“ฅ" uses: actions/download-artifact@v4.1.7 with: - name: Packages-${{ matrix.directory }} + name: Packages-conda-store-server path: dist - run: ls -lR dist/ @@ -86,20 +74,15 @@ jobs: needs: build-package permissions: id-token: write # IMPORTANT: this permission is mandatory for trusted publishing - strategy: - matrix: - directory: - - "conda-store" - - "conda-store-server" defaults: run: - working-directory: ${{ matrix.directory }} + working-directory: conda-store-server steps: - name: "Download build artefacts ๐Ÿ“ฅ" uses: actions/download-artifact@v4.1.7 with: - name: Packages-${{ matrix.directory }} + name: Packages-conda-store-server path: dist - name: "Upload to PyPI ๐Ÿš€" @@ -114,11 +97,6 @@ jobs: needs: release-pypi permissions: id-token: write # IMPORTANT: this permission is mandatory for trusted publishing - strategy: - matrix: - docker-image: - - conda-store - - conda-store-server steps: - name: "Checkout Repository ๐Ÿ›Ž" uses: actions/checkout@v4 @@ -129,7 +107,7 @@ jobs: - name: "Copy .dockerignore" run: | - cp .dockerignore ${{ matrix.docker-image }}/.dockerignore + cp .dockerignore conda-store-server/.dockerignore shell: bash - name: "Retrieve secret from Vault ๐Ÿ—" @@ -166,8 +144,8 @@ jobs: uses: docker/metadata-action@v5 with: images: | - quansight/${{ matrix.docker-image }} - quay.io/quansight/${{ matrix.docker-image }} + quansight/conda-store-server + quay.io/quansight/conda-store-server tags: | type=ref,event=tag type=ref,event=branch @@ -176,9 +154,9 @@ jobs: - name: "Publish Docker image ๐Ÿš€" uses: docker/build-push-action@v5 with: - context: "${{ matrix.docker-image }}" + context: "conda-store-server" target: "prod" - file: "${{ matrix.docker-image }}/Dockerfile" + file: "conda-store-server/Dockerfile" build-args: | RELEASE_VERSION=${{github.ref_name}} python_version=${{ env.PYTHON_VERSION_DEFAULT }} diff --git a/.github/workflows/test_build_docker_image.yaml b/.github/workflows/test_build_docker_image.yaml index 6d8424094..ef3fb47ff 100644 --- a/.github/workflows/test_build_docker_image.yaml +++ b/.github/workflows/test_build_docker_image.yaml @@ -9,7 +9,6 @@ on: paths: - ".github/workflows/**" - ".github/actions/**" - - "conda-store/**" - "conda-store-server/**" - "examples/**" - "tests/**" @@ -29,9 +28,6 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - docker-image: - - conda-store - - conda-store-server platform: - linux/amd64 - linux/arm64 @@ -49,13 +45,13 @@ jobs: - name: "Lint Dockerfiles ๐Ÿ”" uses: jbergstroem/hadolint-gh-action@v1 with: - dockerfile: ${{ matrix.docker-image }}/Dockerfile + dockerfile: conda-store-server/Dockerfile output_format: tty error_level: 0 - name: "Copy .dockerignore" run: | - cp .dockerignore ${{ matrix.docker-image }}/.dockerignore + cp .dockerignore conda-store-server/.dockerignore shell: bash - name: "Add Docker metadata ๐Ÿ“" @@ -63,15 +59,15 @@ jobs: uses: docker/metadata-action@v5 with: images: | - quansight/${{ matrix.docker-image }} + quansight/conda-store-server tags: | type=sha - name: "Build Docker images ๐Ÿณ" uses: docker/build-push-action@v5 with: - context: "${{ matrix.docker-image }}" - file: "${{ matrix.docker-image }}/Dockerfile" + context: "conda-store-server" + file: "conda-store-server/Dockerfile" tags: | ${{ steps.meta.outputs.tags }} target: "dev" diff --git a/.github/workflows/test_conda_store.yaml b/.github/workflows/test_conda_store.yaml deleted file mode 100644 index d787fcf64..000000000 --- a/.github/workflows/test_conda_store.yaml +++ /dev/null @@ -1,86 +0,0 @@ -name: "Test conda-store" - -env: - FORCE_COLOR: "1" # Make tools pretty. - PYTHONUNBUFFERED: "1" # Make stdout and stderr behave well - -on: - pull_request: - paths: - - ".github/workflows/**" - - ".github/actions/**" - - "conda-store/**" - - "conda-store-server/**" - - "examples/**" - - "tests/**" - push: - branches: - - main - - -# ensuring only one instance is running at a given time -concurrency: - group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.sha }} - cancel-in-progress: true - -jobs: - test-conda-store: - name: "integration-test conda-store" - runs-on: ubuntu-latest - defaults: - run: - working-directory: conda-store - strategy: - matrix: - python-version: ["3.10", "3.11", "3.12"] - steps: - - name: "Checkout Repository ๐Ÿ›Ž" - uses: actions/checkout@v4 - - - name: "Set up Python ๐Ÿ" - uses: actions/setup-python@v5 - with: - python-version-file: .python-version-default - cache: "pip" - - - name: "Install Dependencies ๐Ÿ“ฆ" - run: | - sudo apt install wait-for-it -y - python -m pip install hatch - # install conda-store - pip install . - - - name: "Linting Checks ๐Ÿงน" - run: | - hatch env run -e lint lint - - - name: "Deploy docker compose ๐Ÿ—๏ธ" - run: | - python_version=${{ matrix.python-version }} docker compose up --build -d - docker ps - - wait-for-it localhost:5432 # postgresql - wait-for-it localhost:9000 # minio - wait-for-it localhost:8080 # conda-store-server - - - name: "Run basic tests - not authenticated" - run: | - sleep 20 - ./tests/unauthenticated-tests.sh - - - name: "Run basic tests - authenticated" - run: | - ./tests/authenticated-tests.sh - - - name: "Test shebang" - run: | - export CONDA_STORE_URL=http://localhost:8080/conda-store - export CONDA_STORE_AUTH=basic - export CONDA_STORE_USERNAME=username - export CONDA_STORE_PASSWORD=password - ./tests/shebang.sh - - - name: "Get Docker logs ๐Ÿ”" - if: ${{ failure() }} - run: | - docker compose logs diff --git a/.github/workflows/test_conda_store_server_integration.yaml b/.github/workflows/test_conda_store_server_integration.yaml index 80c39ab4c..1490c97d6 100644 --- a/.github/workflows/test_conda_store_server_integration.yaml +++ b/.github/workflows/test_conda_store_server_integration.yaml @@ -9,7 +9,6 @@ on: paths: - ".github/workflows/**" - ".github/actions/**" - - "conda-store/**" - "conda-store-server/**" - "examples/**" - "tests/**" diff --git a/.github/workflows/test_conda_store_server_unit.yaml b/.github/workflows/test_conda_store_server_unit.yaml index e70b12823..9dd43f58b 100644 --- a/.github/workflows/test_conda_store_server_unit.yaml +++ b/.github/workflows/test_conda_store_server_unit.yaml @@ -8,7 +8,6 @@ on: paths: - ".github/workflows/**" - ".github/actions/**" - - "conda-store/**" - "conda-store-server/**" - "examples/**" - "tests/**" diff --git a/README.md b/README.md index f2a390af8..636cc0266 100644 --- a/README.md +++ b/README.md @@ -14,8 +14,11 @@ Flexible. Reproducible. Governable. | :---------- | :-----| | Project | [![License](https://img.shields.io/badge/License-BSD%203--Clause-gray.svg?colorA=2b2d42&colorB=206532&style=flat.svg)](https://opensource.org/licenses/BSD-3-Clause) [![Read the docs](https://img.shields.io/badge/%F0%9F%93%96%20Read-the%20docs-gray.svg?colorA=2b2d42&colorB=206532&style=flat.svg)](https://conda.store)| |Community | [![Open an issue](https://img.shields.io/badge/%F0%9F%93%9D%20Open-an%20issue-gray.svg?colorA=2b2d42&colorB=206532&style=flat.svg)](https://github.com/conda-incubator/conda-store/issues/new/choose) [![Community guidelines](https://img.shields.io/badge/๐Ÿค%20Community-guidelines-gray.svg?colorA=2b2d42&colorB=206532&style=flat.svg)](https://conda.store/community/introduction)| -|Releases | [![PyPI release conda-store](https://img.shields.io/pypi/v/conda-store)](https://badge.fury.io/py/conda-store?label=pypi%20conda-store&style=flat.svg) [![PyPI release conda-store-server](https://img.shields.io/pypi/v/conda-store-server?label=pypi%20conda-store-server)](https://badge.fury.io/py/conda-store-server) [![conda-forge release conda-store](https://img.shields.io/conda/vn/conda-forge/conda-store?label=conda-forge%20conda-store)]((https://anaconda.org/conda-forge/conda-store)) [![conda-forge release conda-store-server](https://img.shields.io/conda/vn/conda-forge/conda-store-server?label=conda-forge%20conda-store-server)]((https://anaconda.org/conda-forge/conda-store-server)) | +|Releases | [![PyPI release conda-store-server](https://img.shields.io/pypi/v/conda-store-server?label=pypi%20conda-store-server)](https://badge.fury.io/py/conda-store-server) [![conda-forge release conda-store-server](https://img.shields.io/conda/vn/conda-forge/conda-store-server?label=conda-forge%20conda-store-server)]((https://anaconda.org/conda-forge/conda-store-server)) | +> [!CAUTION] +> conda-store (client) will no longer be recieving updates! +> The last release is [2024.11.2](https://pypi.org/project/conda-store/2024.11.2/) --- conda-store provides the familiarity and flexibility of conda environments, without compromising reliability for diff --git a/conda-store/README.md b/conda-store/README.md index 5839905cd..0cace6239 100644 --- a/conda-store/README.md +++ b/conda-store/README.md @@ -1,6 +1,8 @@ # conda-store -Check the full documentation at [conda.store](https://conda.store/). +> [!CAUTION] +> conda-store (client) will no longer be recieving updates! +> The last release is [2024.11.2](https://pypi.org/project/conda-store/2024.11.2/) A client library which provides a CLI for interacting with conda-store-server. diff --git a/docusaurus-docs/community/contribute/contribute-code.md b/docusaurus-docs/community/contribute/contribute-code.md index 21474ef00..3a8f60e2f 100644 --- a/docusaurus-docs/community/contribute/contribute-code.md +++ b/docusaurus-docs/community/contribute/contribute-code.md @@ -14,7 +14,7 @@ The issues marked with the "good first issue" label are a great place to start. conda-store development happens across three repositories, and the relevant programming language and technologies are listed below: -* `conda-store` and `conda-store-server`: Python, FastAPI, and conda ecosystem +* `conda-store-server`: Python, FastAPI, and conda ecosystem * `conda-store-ui`: Typescript, React, and frontend web development * `jupyterlab-conda-store`: JupyterLab extension development (Typescript and Javascript) diff --git a/docusaurus-docs/community/contribute/local-setup-core.md b/docusaurus-docs/community/contribute/local-setup-core.md index 23a6bae2a..d977f3736 100644 --- a/docusaurus-docs/community/contribute/local-setup-core.md +++ b/docusaurus-docs/community/contribute/local-setup-core.md @@ -8,7 +8,7 @@ description: Local development setup for conda-store There are two main ways to set up your local environment and conda-store services (web UI, API server, database, etc.) for development: - Using [Docker and Docker compose](#docker-setup-recommended): This is the recommended approach for working on `conda-store-server` library. -- Using [standalone mode](#standalone-setup): Required for running tests and for working on the `conda-store` (client) library. +- Using [standalone mode](#standalone-setup): This approach avoids using Docker and starts the conda-store services as one process :::important You need a [local copy of the `conda-store` repository](community/contribute/contribute-code#setup-for-local-development) for the development setup. @@ -90,12 +90,6 @@ To install the `conda-store-server` package in editable (development) mode, run python -m pip install -e ./conda-store-server ``` -To install the `conda-store` package in editable (development) mode, run the following from the root of the repository: - -```bash -python -m pip install -e ./conda-store -``` - ### Start conda-store in standalone mode Running `conda-store` in `--standalone` mode launches celery as a @@ -112,54 +106,6 @@ Visit [localhost:8080](http://localhost:8080/) from your web browser to access t You can run the codebase tests locally to verify your changes before submitting a pull request. You need [Docker Compose](#pre-requisites) as well as the [conda development environment](#development-environment) to run the complete set of tests. -### conda-store (client) - -#### Lint and format - -Run the linting and formatting checks with hatch: - -```bash -cd conda-store -hatch env run -e dev lint -``` - -#### Integration tests - -These tests are stateful, so clear the state if you previously ran the conda-store-server service on Docker: - -```bash -cd conda-store -docker compose down -v # ensure you've cleared state -docker compose up --build -``` - -Wait until the conda-store-server is running check by visiting [localhost:8080](http://localhost:8080). - -Install `conda-store` (client) library in editable mode: - -```bash -pip install -e . -``` - -Execute the scripts in the `tests` directory to run the tests: - -```bash -./tests/unauthenticated-tests.sh -./tests/authenticated-tests.sh -./tests/authenticated-token-tests.sh -``` - -You need to explicitly set some environment variables to run the shebang tests: - -```bash -export CONDA_STORE_URL=http://localhost:8080/conda-store -export CONDA_STORE_AUTH=basic -export CONDA_STORE_USERNAME=username -export CONDA_STORE_PASSWORD=password - -./tests/shebang.sh -``` - ### conda-store-server #### Lint and format diff --git a/docusaurus-docs/conda-store/how-tos/shebang.md b/docusaurus-docs/conda-store/how-tos/shebang.md deleted file mode 100644 index f7c44d759..000000000 --- a/docusaurus-docs/conda-store/how-tos/shebang.md +++ /dev/null @@ -1,38 +0,0 @@ ---- -description: Learn to conda-store as shebang in Unix systems ---- - -# Use conda-store as shebang - -:::warning -This page is in active development, content may be inaccurate and incomplete. -::: - -`conda-store` can be used as a -[shebang]() within Linux -allowing users to embed conda environments within scripts for -reproducibility. Basic usage is as follows. Notice that the -`conda-store run` command is just the normal usage of the command. - -```shell -#!/usr/bin/env conda-store -#! conda-store run /: -- python - -print('script running within the conda-store environment') -``` - -The first line must begin with the shebang `#!` along with ending in -`conda-store`. You cannot put arguments on the first line due to -limits in the shebang specification. Additional lines are then added -starting with `#! conda-store run ...` with are then used as arguments -to `conda-store run`. - -The path to the script being run is always appended as the last -argument to the command so the example above is interpreted as: - -``` -conda-store run /: -- python -``` - -This feature was heavily inspired by [`nix-shell` -shebangs](https://nixos.wiki/wiki/Nix-shell_shebang). diff --git a/docusaurus-docs/conda-store/introduction.md b/docusaurus-docs/conda-store/introduction.md index 94dc73042..55865936b 100644 --- a/docusaurus-docs/conda-store/introduction.md +++ b/docusaurus-docs/conda-store/introduction.md @@ -6,18 +6,16 @@ description: Introduction to conda-store (core) documentation # conda-store (core) -The [`conda-store` repository on GitHub][conda-store-repo] consists of two separate, yet related, packages: +The [`conda-store` repository on GitHub][conda-store-repo] contains the conda-store application. It has two entrypoints: -- **`conda-store-server`**: web server and workers that together provide the `conda-store` "service" through a REST API -- **`conda-store` (client)**: a client that interacts with the service to offer a user-facing command line interface (CLI) +- **`conda-store-server`**: web server that provides the `conda-store` "service" through a REST API +- **`conda-store-worker`**: celery worker that runs actions for conda-store. For example, building, locking and installing environments ## Get started โœจ The fastest way to get started with conda-store is with a [**local standalone installation**][standalone-install] and the [**conda-store UI**][conda-store-ui-tutorials]. -Alternatively, you can use some features of conda-store through the [CLI commands][cli-ref] or as a [shebang][shebang]. - ## Key concepts ๐Ÿ”– Understand some useful terms and concepts to use conda-store effectively: @@ -51,8 +49,6 @@ Check out the [Community documentation][community] for details. [standalone-install]: ./how-tos/install-standalone [conda-store-ui-tutorials]: ../conda-store-ui/tutorials -[cli-ref]: ./references/cli -[shebang]: ./how-tos/shebang [explanations]: ./explanations/ [conda-concepts]: ./explanations/conda-concepts [conda-store-concepts]: ./explanations/conda-store-concepts diff --git a/docusaurus-docs/conda-store/references/cli.md b/docusaurus-docs/conda-store/references/cli.md deleted file mode 100644 index 6120cddb7..000000000 --- a/docusaurus-docs/conda-store/references/cli.md +++ /dev/null @@ -1,66 +0,0 @@ ---- -description: Reference for conda-store's CLI commands ---- - -# CLI reference - -:::warning -This page is in active development, content may be inaccurate and incomplete. -::: - -The base CLI is inspired by tools such as -[conda](https://docs.conda.io/en/latest/), -[kubectl](https://kubernetes.io/docs/reference/kubectl/), and -[docker](https://docs.docker.com/get-docker/). The base commands are -`download`, `info`, `list`, `run`, `wait`. - -```shell -$ conda-store --help -Usage: conda-store [OPTIONS] COMMAND [ARGS]... - -Options: - --conda-store-url TEXT conda-store base url including prefix - --auth [none|token|basic] conda-store authentication to use - --no-verify-ssl Disable tls verification on API requests - --help Show this message and exit. - -Commands: - download Download artifacts for given build - info Get current permissions and default namespace - list - run Execute given environment specified as a URI with COMMAND - solve Remotely solve given environment.yaml - wait Wait for given URI to complete or fail building -``` - -### `conda-store run` - -One of the motivating features of the `conda-store` cli is that you -can directly execute conda-store environments that exist remotely. - -```shell -conda-store run devops/datascience -- python -m "print(1)" -``` - -### `conda-store solve` - -conda-store is capable to remote solves of environment files. If -requested conda-store can perform intelligent solves with caching. - -### `conda-store download` - - - -### `conda-store info` - - - -### `conda-store wait` - - - -### `conda-store list [namespace|environment|build]` - - - - diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 00e5545ab..5dee4a84c 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -2,12 +2,12 @@ # Use of this source code is governed by a BSD-style # license that can be found in the LICENSE file. -{% set name = "conda-store" %} +{% set name = "conda-store-server" %} # version MUST be updated when a new release is made {% set version = "2024.11.1" %} package: - name: {{ name|lower }}-split + name: {{ name|lower }} version: {{ version }} source: @@ -16,94 +16,56 @@ source: build: number: 0 + noarch: python + script: python -m pip install ./conda-store-server -vv --no-deps --no-build-isolation --no-index + entry_points: + - conda-store-server = conda_store_server._internal.server.__main__:main + - conda-store-worker = conda_store_server._internal.worker.__main__:main -outputs: - - name: conda-store - version: {{ version }} - build: - noarch: python - script: python -m pip install ./conda-store -vv --no-deps --no-build-isolation --no-index - entry_points: - - conda-store = conda_store.__main__:main - requirements: - host: - - python >=3.10,<3.13 - - pip - - hatchling >=1.14.0 - - hatch-vcs - run: - - __linux # [linux] - - __osx # [osx] - - __win # [win] - - aiohttp >=3.8.1 - - click - - python >=3.10,<3.13 - - rich - - ruamel.yaml - - yarl - run_constrained: - - {{ pin_subpackage('conda-store-server', min_pin='x.x.x', max_pin='x.x.x') }} +requirements: + host: + - python >=3.10,<3.13 + - pip + - hatchling >=1.14.0 + - hatch-vcs + run: + - alembic + - celery + - conda + - conda-docker # [linux] + - __linux # [linux] + - __osx # [osx] + - __win # [win] + - conda-pack + - conda-lock + - constructor + - fastapi + - filelock + - itsdangerous + - jinja2 + - minio + - pluggy + - pydantic >=2.0 + - pyjwt + - python >=3.10,<3.13 + - python-docker + - python-multipart + - pyyaml >=6.0.1 + - redis-py + - requests + - sqlalchemy >=2.0,<2.1 + - traitlets + - uvicorn + - yarl + - psycopg2 + - pymysql - 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 - entry_points: - - conda-store-server = conda_store_server._internal.server.__main__:main - - conda-store-worker = conda_store_server._internal.worker.__main__:main - requirements: - host: - - python >=3.10,<3.13 - - pip - - hatchling >=1.14.0 - - hatch-vcs - run: - - alembic - - celery - - conda - - conda-docker # [linux] - - __linux # [linux] - - __osx # [osx] - - __win # [win] - - conda-pack - - conda-lock - - constructor - - fastapi - - filelock - - itsdangerous - - jinja2 - - minio - - pluggy - - pydantic >=2.0 - - pyjwt - - python >=3.10,<3.13 - - python-docker - - python-multipart - - pyyaml >=6.0.1 - - redis-py - - requests - - sqlalchemy >=2.0,<2.1 - - traitlets - - uvicorn - - yarl - - psycopg2 - - pymysql - 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 +test: + imports: + - conda_store_server + commands: + - conda-store-server --help + - conda-store-worker --help about: home: https://github.com/conda-incubator/conda-store diff --git a/tools/cut-release-pr.sh b/tools/cut-release-pr.sh index 2cb47365e..70befbe8e 100755 --- a/tools/cut-release-pr.sh +++ b/tools/cut-release-pr.sh @@ -87,7 +87,6 @@ git clean -fxdq # bump versions sed -E -r -i "s/__version__ = .+/__version__ = \"$RELEASE_VERSION\"/g" conda-store-server/conda_store_server/__init__.py -sed -E -r -i "s/__version__ = .+/__version__ = \"$RELEASE_VERSION\"/g" conda-store/conda_store/__init__.py sed -E -r -i "s/CONDA_STORE_UI_VERSION = .+/CONDA_STORE_UI_VERSION = \"$CONDA_STORE_UI_VERSION\"/g" conda-store-server/hatch_build.py # create changelog @@ -107,13 +106,9 @@ cd conda-store-server build_and_check conda-store-server cd .. -cd conda-store -build_and_check conda-store -cd .. - # add files to git -git add conda-store conda-store-server CHANGELOG.md +git add conda-store-server CHANGELOG.md git commit -m "REL - $RELEASE_VERSION" echo " @@ -121,6 +116,7 @@ Finished preparing the release! Next steps: * Validate that the changes made are correct + * Update the CHANGELOG * Follow any testing/validation steps * Push them changes up to github