From 7b78ee3e36a8ee917111d8e10e3ce48f056b99b6 Mon Sep 17 00:00:00 2001 From: sophia Date: Tue, 10 Dec 2024 11:31:45 -0800 Subject: [PATCH 1/8] Only build conda-store-server conda-package --- recipe/meta.yaml | 138 +++++++++++++++++------------------------------ 1 file changed, 50 insertions(+), 88 deletions(-) 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 From da8eb293bd3080d3c17d76ca1573ce0fe0855f9d Mon Sep 17 00:00:00 2001 From: sophia Date: Tue, 10 Dec 2024 11:37:42 -0800 Subject: [PATCH 2/8] Remove conda-store (cli) from ci --- .github/workflows/build_docker_image.yaml | 1 - .github/workflows/build_pypi_package.yaml | 2 - .github/workflows/release.yaml | 4 - .../workflows/test_build_docker_image.yaml | 1 - .github/workflows/test_conda_store.yaml | 86 ------------------- .../test_conda_store_server_integration.yaml | 1 - .../test_conda_store_server_unit.yaml | 1 - 7 files changed, 96 deletions(-) delete mode 100644 .github/workflows/test_conda_store.yaml diff --git a/.github/workflows/build_docker_image.yaml b/.github/workflows/build_docker_image.yaml index 36776a0ec..39f6d4022 100644 --- a/.github/workflows/build_docker_image.yaml +++ b/.github/workflows/build_docker_image.yaml @@ -19,7 +19,6 @@ jobs: strategy: matrix: docker-image: - - conda-store - conda-store-server platform: - linux/amd64 diff --git a/.github/workflows/build_pypi_package.yaml b/.github/workflows/build_pypi_package.yaml index 09cff7aad..28564f9f8 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: @@ -25,7 +24,6 @@ jobs: strategy: matrix: directory: - - "conda-store" - "conda-store-server" defaults: run: diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index 4fcc18ec8..71ffdde24 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -23,7 +23,6 @@ jobs: strategy: matrix: directory: - - "conda-store" - "conda-store-server" defaults: run: @@ -58,7 +57,6 @@ jobs: strategy: matrix: directory: - - "conda-store" - "conda-store-server" steps: @@ -89,7 +87,6 @@ jobs: strategy: matrix: directory: - - "conda-store" - "conda-store-server" defaults: run: @@ -117,7 +114,6 @@ jobs: strategy: matrix: docker-image: - - conda-store - conda-store-server steps: - name: "Checkout Repository ๐Ÿ›Ž" diff --git a/.github/workflows/test_build_docker_image.yaml b/.github/workflows/test_build_docker_image.yaml index 6d8424094..fdfe06ab1 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/**" 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/**" From 0dbc04ac37e895ff60626cd2b502c2f5cf83ad80 Mon Sep 17 00:00:00 2001 From: sophia Date: Tue, 10 Dec 2024 11:59:49 -0800 Subject: [PATCH 3/8] Update docs for removing conda-store package --- .../community/contribute/contribute-code.md | 2 +- .../community/contribute/local-setup-core.md | 56 +--------------- .../conda-store/how-tos/install-standalone.md | 2 +- .../conda-store/how-tos/shebang.md | 38 ----------- docusaurus-docs/conda-store/introduction.md | 10 +-- docusaurus-docs/conda-store/references/cli.md | 66 ------------------- 6 files changed, 6 insertions(+), 168 deletions(-) delete mode 100644 docusaurus-docs/conda-store/how-tos/shebang.md delete mode 100644 docusaurus-docs/conda-store/references/cli.md 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..01c7c97da 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/install-standalone.md b/docusaurus-docs/conda-store/how-tos/install-standalone.md index 440dab0ca..fb9727b7b 100644 --- a/docusaurus-docs/conda-store/how-tos/install-standalone.md +++ b/docusaurus-docs/conda-store/how-tos/install-standalone.md @@ -57,4 +57,4 @@ Learn to use the [conda-store UI with these tutorials][conda-store-ui-tutorials] [conda-store-ui]: ../../conda-store-ui/introduction -[conda-store-ui-tutorials]: ../../conda-store-ui/tutorials +[conda-store-ui-tutorials]: ../../conda-store-ui/tutorials \ No newline at end of file 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..0f7c5cc40 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]` - - - - From 427658946c869c28da29fabb4dbc24746be1626b Mon Sep 17 00:00:00 2001 From: sophia Date: Tue, 10 Dec 2024 12:16:07 -0800 Subject: [PATCH 4/8] Remove conda-store from cut-release script --- tools/cut-release-pr.sh | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) 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 From 5b6ccfdc0c8b80de867aa6b155f9d3fd74ddef41 Mon Sep 17 00:00:00 2001 From: sophia Date: Wed, 11 Dec 2024 09:14:01 -0800 Subject: [PATCH 5/8] Remove matrix builds with just one element --- .github/workflows/build_docker_image.yaml | 12 +++--- .github/workflows/build_pypi_package.yaml | 14 +++--- .github/workflows/release.yaml | 43 ++++++------------- .../workflows/test_build_docker_image.yaml | 13 +++--- 4 files changed, 28 insertions(+), 54 deletions(-) diff --git a/.github/workflows/build_docker_image.yaml b/.github/workflows/build_docker_image.yaml index 39f6d4022..1807e3dd6 100644 --- a/.github/workflows/build_docker_image.yaml +++ b/.github/workflows/build_docker_image.yaml @@ -18,8 +18,6 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - docker-image: - - conda-store-server platform: - linux/amd64 - linux/arm64 @@ -65,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 @@ -74,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 28564f9f8..bd3816e46 100644 --- a/.github/workflows/build_pypi_package.yaml +++ b/.github/workflows/build_pypi_package.yaml @@ -21,26 +21,22 @@ jobs: build-package: name: "Build & verify package" runs-on: ubuntu-latest - strategy: - matrix: - directory: - - "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 }}" + - run: echo "Running on conda-store-server" - - name: "Build and check package - ${{ matrix.directory }} ๐Ÿ“ฆ" + - name: "Build and check package - conda-store-server ๐Ÿ“ฆ" 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 71ffdde24..0dcbb30e8 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -20,27 +20,23 @@ jobs: build-package: name: "Build & verify package" runs-on: ubuntu-latest - strategy: - matrix: - directory: - - "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 }}" + - run: echo "Running on conda-store-server" - - name: "Build and check package - ${{ matrix.directory }} ๐Ÿ“ฆ" + - name: "Build and check package - conda-store-server ๐Ÿ“ฆ" 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 }} @@ -54,16 +50,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-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/ @@ -84,19 +75,15 @@ jobs: needs: build-package permissions: id-token: write # IMPORTANT: this permission is mandatory for trusted publishing - strategy: - matrix: - directory: - - "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 ๐Ÿš€" @@ -111,10 +98,6 @@ jobs: needs: release-pypi permissions: id-token: write # IMPORTANT: this permission is mandatory for trusted publishing - strategy: - matrix: - docker-image: - - conda-store-server steps: - name: "Checkout Repository ๐Ÿ›Ž" uses: actions/checkout@v4 @@ -125,7 +108,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 ๐Ÿ—" @@ -162,8 +145,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 @@ -172,9 +155,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 fdfe06ab1..ef3fb47ff 100644 --- a/.github/workflows/test_build_docker_image.yaml +++ b/.github/workflows/test_build_docker_image.yaml @@ -28,9 +28,6 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - docker-image: - - conda-store - - conda-store-server platform: - linux/amd64 - linux/arm64 @@ -48,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 ๐Ÿ“" @@ -62,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" From 89a2bb5602891e4bfc64dee2161faf5745f41753 Mon Sep 17 00:00:00 2001 From: sophia Date: Tue, 17 Dec 2024 09:24:42 -0800 Subject: [PATCH 6/8] Update readme for no longer building conda-store --- README.md | 2 +- conda-store/README.md | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index f2a390af8..b21f57909 100644 --- a/README.md +++ b/README.md @@ -14,7 +14,7 @@ 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)) | --- 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. From 821a6e36e640c7eda7f100e34197896a9a2b277d Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Thu, 2 Jan 2025 16:52:22 +0000 Subject: [PATCH 7/8] [pre-commit.ci] Apply automatic pre-commit fixes --- docusaurus-docs/conda-store/how-tos/install-standalone.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docusaurus-docs/conda-store/how-tos/install-standalone.md b/docusaurus-docs/conda-store/how-tos/install-standalone.md index fb9727b7b..440dab0ca 100644 --- a/docusaurus-docs/conda-store/how-tos/install-standalone.md +++ b/docusaurus-docs/conda-store/how-tos/install-standalone.md @@ -57,4 +57,4 @@ Learn to use the [conda-store UI with these tutorials][conda-store-ui-tutorials] [conda-store-ui]: ../../conda-store-ui/introduction -[conda-store-ui-tutorials]: ../../conda-store-ui/tutorials \ No newline at end of file +[conda-store-ui-tutorials]: ../../conda-store-ui/tutorials From d6a2f63cf013be349e974c45390c6af4ef5e8bd9 Mon Sep 17 00:00:00 2001 From: Sophia Castellarin Date: Mon, 6 Jan 2025 08:49:35 -0800 Subject: [PATCH 8/8] Apply suggestions from code review Co-authored-by: Tania Allard --- .github/workflows/build_pypi_package.yaml | 4 +--- .github/workflows/release.yaml | 3 +-- README.md | 3 +++ docusaurus-docs/community/contribute/local-setup-core.md | 2 +- docusaurus-docs/conda-store/introduction.md | 2 +- 5 files changed, 7 insertions(+), 7 deletions(-) diff --git a/.github/workflows/build_pypi_package.yaml b/.github/workflows/build_pypi_package.yaml index bd3816e46..265519ea6 100644 --- a/.github/workflows/build_pypi_package.yaml +++ b/.github/workflows/build_pypi_package.yaml @@ -30,9 +30,7 @@ jobs: with: fetch-depth: 0 - - run: echo "Running on conda-store-server" - - - name: "Build and check package - conda-store-server ๐Ÿ“ฆ" + - name: "Build and check package ๐Ÿ“ฆ" uses: hynek/build-and-inspect-python-package@v2 id: baipp with: diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index 0dcbb30e8..75c1e8561 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -29,9 +29,8 @@ jobs: with: fetch-depth: 0 - - run: echo "Running on conda-store-server" - - name: "Build and check package - conda-store-server ๐Ÿ“ฆ" + - name: "Build and check package ๐Ÿ“ฆ" uses: hynek/build-and-inspect-python-package@v2 id: baipp with: diff --git a/README.md b/README.md index b21f57909..636cc0266 100644 --- a/README.md +++ b/README.md @@ -16,6 +16,9 @@ Flexible. Reproducible. Governable. |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-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/docusaurus-docs/community/contribute/local-setup-core.md b/docusaurus-docs/community/contribute/local-setup-core.md index 01c7c97da..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): This approach avoids using docker and starts the conda-store services as one process +- 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. diff --git a/docusaurus-docs/conda-store/introduction.md b/docusaurus-docs/conda-store/introduction.md index 0f7c5cc40..55865936b 100644 --- a/docusaurus-docs/conda-store/introduction.md +++ b/docusaurus-docs/conda-store/introduction.md @@ -6,7 +6,7 @@ description: Introduction to conda-store (core) documentation # conda-store (core) -The [`conda-store` repository on GitHub][conda-store-repo] contains the conda-store application. It has two entrypoints +The [`conda-store` repository on GitHub][conda-store-repo] contains the conda-store application. It has two entrypoints: - **`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