From 54da4c04bf1b79cee00b08415d7c785808074f2b Mon Sep 17 00:00:00 2001 From: gabrielmbmb Date: Mon, 17 Jul 2023 16:25:26 +0200 Subject: [PATCH 01/16] feat: update to `python:3.10.12` --- docker/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/Dockerfile b/docker/Dockerfile index 8ecf961bc0..05cc0665d8 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -1,4 +1,4 @@ -FROM python:3.9.16-slim +FROM python:3.10.12-slim # Environment Variables ENV ARGILLA_HOME_PATH=/var/lib/argilla From b6cebd79eae9e276210bbd76bd6941f45ef6befd Mon Sep 17 00:00:00 2001 From: gabrielmbmb Date: Tue, 18 Jul 2023 09:51:51 +0200 Subject: [PATCH 02/16] feat: update `quickstart.Dockerfile` to use `argilla/argilla-server` as parent --- docker/quickstart.Dockerfile | 58 ++++++++++++++-------- docker/scripts/start_quickstart_argilla.sh | 12 ++--- 2 files changed, 43 insertions(+), 27 deletions(-) diff --git a/docker/quickstart.Dockerfile b/docker/quickstart.Dockerfile index d311cea1e9..371565a6a9 100644 --- a/docker/quickstart.Dockerfile +++ b/docker/quickstart.Dockerfile @@ -1,35 +1,51 @@ -FROM docker.elastic.co/elasticsearch/elasticsearch:8.5.3 - -ENV DEBIAN_FRONTEND=noninteractive +# TODO(gabrielmbmb): update this `Dockerfile` to multi-staged build to reduce the image size +FROM argilla/argilla-server:${ARGILLA_VERSION:-latest} USER root -# Create a directory where Elasticsearch and Argilla will store their data -# We will use this directory as a volume to persist data between container restarts (mainly in HF spaces) -RUN mkdir /data -RUN chown -R elasticsearch:elasticsearch /data +RUN apt-get update && apt-get install -y \ + apt-transport-https \ + gnupg \ + wget + +# Install Elasticsearch signing key +RUN wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | gpg --dearmor -o /usr/share/keyrings/elasticsearch-keyring.gpg +# Add Elasticsearch repository +RUN echo "deb [signed-by=/usr/share/keyrings/elasticsearch-keyring.gpg] https://artifacts.elastic.co/packages/8.x/apt stable main" | tee /etc/apt/sources.list.d/elastic-8.x.list + +# Copy Argilla distribution files COPY scripts/* / COPY quickstart.requirements.txt /packages/requirements.txt COPY dist/*.whl /packages/ -RUN apt update && \ - apt install -y curl git python3.9 python3.9-dev python3.9-distutils gcc gnupg apache2-utils sudo openssl systemctl && \ - curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py && \ - python3.9 get-pip.py \ - # Install Argilla - && pip3 install -r /packages/requirements.txt && \ +RUN \ + # Create an user to run the Argilla server and Elasticsearch + useradd -ms /bin/bash argilla && \ + # Create a directory where Elasticsearch and Argilla will store their data + mkdir /data && \ + # Install Elasticsearch and configure it + apt-get update && apt-get install -y elasticsearch=8.8.2 && \ + mkdir /usr/share/elasticsearch/config && \ + echo "cluster.name: \"docker-cluster\"\nnetwork.host: 0.0.0.0\npath.data: \"/data/elasticsearch\"bootstrap.system_call_filter: false" > /usr/share/elasticsearch/config/elasticsearch.yml && \ + chown -R argilla:argilla /usr/share/elasticsearch /etc/elasticsearch /var/lib/elasticsearch /var/log/elasticsearch && \ + chown argilla:argilla /etc/default/elasticsearch && \ + # Install quickstart image dependencies + pip install -r /packages/requirements.txt && \ chmod +x /start_quickstart_argilla.sh && \ - for wheel in /packages/*.whl; do pip install "$wheel"[server]; done && \ - rm -rf /packages && \ - rm -rf /var/lib/apt/lists/* \ - # This line add context to this image. This solution should be improved - && echo -e "{ \"deployment\": \"quickstart\" }" \ - > /usr/local/lib/python3.9/dist-packages/argilla/server/static/deployment.json + # Give ownership of the data directory to the argilla user + chown -R argilla:argilla /data && \ + # Clean up + apt-get clean && \ + rm -rf /var/lib/apt/lists/* && \ + rm -rf /packages + +# echo -e "{ \"deployment\": \"quickstart\" }" \ +# > /usr/local/lmib/python/dist-packages/argilla/server/static/deployment.json -USER elasticsearch +USER argilla -RUN echo "path.data: /data/elasticsearch" >> /usr/share/elasticsearch/config/elasticsearch.yml +ENV ELASTIC_CONTAINER=true ENV OWNER_USERNAME=owner ENV OWNER_PASSWORD=12345678 diff --git a/docker/scripts/start_quickstart_argilla.sh b/docker/scripts/start_quickstart_argilla.sh index 071772e44d..de60f01fca 100644 --- a/docker/scripts/start_quickstart_argilla.sh +++ b/docker/scripts/start_quickstart_argilla.sh @@ -3,16 +3,16 @@ set -e echo "Starting Elasticsearch" -elasticsearch 1>/dev/null 2>/dev/null & +/usr/share/elasticsearch/bin/elasticsearch 1>/dev/null 2>/dev/null & echo "Waiting for elasticsearch to start" sleep 30 echo "Running database migrations" -python3.9 -m argilla database migrate +python -m argilla database migrate echo "Creating owner user" -python3.9 -m argilla users create \ +python -m argilla users create \ --first-name "Owner" \ --username "$OWNER_USERNAME" \ --password "$OWNER_PASSWORD" \ @@ -21,7 +21,7 @@ python3.9 -m argilla users create \ --workspace "$ARGILLA_WORKSPACE" echo "Creating admin user" -python3.9 -m argilla users create \ +python -m argilla users create \ --first-name "Admin" \ --username "$ADMIN_USERNAME" \ --password "$ADMIN_PASSWORD" \ @@ -30,7 +30,7 @@ python3.9 -m argilla users create \ --workspace "$ARGILLA_WORKSPACE" echo "Creating annotator user" -python3.9 -m argilla users create \ +python -m argilla users create \ --first-name "Annotator" \ --username "$ANNOTATOR_USERNAME" \ --password "$ANNOTATOR_PASSWORD" \ @@ -38,7 +38,7 @@ python3.9 -m argilla users create \ --workspace "$ARGILLA_WORKSPACE" # Load data -python3.9 /load_data.py "$OWNER_API_KEY" "$LOAD_DATASETS" & +python /load_data.py "$OWNER_API_KEY" "$LOAD_DATASETS" & # Start Argilla echo "Starting Argilla" From 437a1d3a0a5c31e9825e747225bbdec6a5eb4720 Mon Sep 17 00:00:00 2001 From: gabrielmbmb Date: Tue, 18 Jul 2023 11:24:27 +0200 Subject: [PATCH 03/16] feat: add elasticsearch config --- docker/config/elasticsearch.yml | 8 ++++++++ docker/quickstart.Dockerfile | 7 ++----- 2 files changed, 10 insertions(+), 5 deletions(-) create mode 100644 docker/config/elasticsearch.yml diff --git a/docker/config/elasticsearch.yml b/docker/config/elasticsearch.yml new file mode 100644 index 0000000000..0349dd739c --- /dev/null +++ b/docker/config/elasticsearch.yml @@ -0,0 +1,8 @@ +cluster.name: "docker-cluster" +network.host: 0.0.0.0 +path.data: "/data/elasticsearch" +discovery.type: single-node +xpack.security.enabled: false +xpack.security.transport.ssl.enabled: false +xpack.security.http.ssl.enabled: false +cluster.routing.allocation.disk.threshold_enabled: false diff --git a/docker/quickstart.Dockerfile b/docker/quickstart.Dockerfile index 371565a6a9..508699b3e1 100644 --- a/docker/quickstart.Dockerfile +++ b/docker/quickstart.Dockerfile @@ -26,8 +26,6 @@ RUN \ mkdir /data && \ # Install Elasticsearch and configure it apt-get update && apt-get install -y elasticsearch=8.8.2 && \ - mkdir /usr/share/elasticsearch/config && \ - echo "cluster.name: \"docker-cluster\"\nnetwork.host: 0.0.0.0\npath.data: \"/data/elasticsearch\"bootstrap.system_call_filter: false" > /usr/share/elasticsearch/config/elasticsearch.yml && \ chown -R argilla:argilla /usr/share/elasticsearch /etc/elasticsearch /var/lib/elasticsearch /var/log/elasticsearch && \ chown argilla:argilla /etc/default/elasticsearch && \ # Install quickstart image dependencies @@ -40,6 +38,8 @@ RUN \ rm -rf /var/lib/apt/lists/* && \ rm -rf /packages +COPY config/elasticsearch.yml /etc/elasticsearch/elasticsearch.yml + # echo -e "{ \"deployment\": \"quickstart\" }" \ # > /usr/local/lmib/python/dist-packages/argilla/server/static/deployment.json @@ -63,9 +63,6 @@ ENV ARGILLA_WORKSPACE=$ADMIN_USERNAME ENV LOAD_DATASETS=full ENV UVICORN_PORT=6900 -ENV xpack.security.enabled=false -ENV cluster.routing.allocation.disk.threshold_enabled=false -ENV discovery.type=single-node ENV ES_JAVA_OPTS=-'Xms512m -Xmx512m' CMD ["/start_quickstart_argilla.sh"] From 412482e849c8252cf62390431760f71cdef631af Mon Sep 17 00:00:00 2001 From: gabrielmbmb Date: Tue, 18 Jul 2023 12:47:00 +0200 Subject: [PATCH 04/16] feat: remove installing `python-dev` --- docker/Dockerfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docker/Dockerfile b/docker/Dockerfile index 05cc0665d8..a86b4c465b 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -15,10 +15,10 @@ COPY scripts/start_argilla_server.sh / COPY dist/*.whl /packages/ RUN apt-get update && \ - apt-get install -y python-dev libpq-dev gcc && \ + apt-get install -y libpq-dev gcc && \ chmod +x /start_argilla_server.sh && \ for wheel in /packages/*.whl; do pip install "$wheel"[server,postgresql]; done && \ - apt-get remove -y python-dev libpq-dev gcc && \ + apt-get remove -y libpq-dev gcc && \ apt-get clean && \ rm -rf /var/lib/apt/lists/* && \ rm -rf /packages From 883fe88b85625d00b7a41df6854fec98bc19289b Mon Sep 17 00:00:00 2001 From: gabrielmbmb Date: Tue, 18 Jul 2023 13:07:51 +0200 Subject: [PATCH 05/16] feat: add creating `deployment.json` file --- docker/quickstart.Dockerfile | 3 +++ 1 file changed, 3 insertions(+) diff --git a/docker/quickstart.Dockerfile b/docker/quickstart.Dockerfile index 508699b3e1..95539ccdeb 100644 --- a/docker/quickstart.Dockerfile +++ b/docker/quickstart.Dockerfile @@ -20,6 +20,8 @@ COPY quickstart.requirements.txt /packages/requirements.txt COPY dist/*.whl /packages/ RUN \ + # Indicate that this is a quickstart deployment + echo -e "{ \"deployment\": \"quickstart\" }" > /usr/local/lib/python3.10/site-packages/argilla/server/static/deployment.json && \ # Create an user to run the Argilla server and Elasticsearch useradd -ms /bin/bash argilla && \ # Create a directory where Elasticsearch and Argilla will store their data @@ -34,6 +36,7 @@ RUN \ # Give ownership of the data directory to the argilla user chown -R argilla:argilla /data && \ # Clean up + apt-get remove -y wget gnupg && \ apt-get clean && \ rm -rf /var/lib/apt/lists/* && \ rm -rf /packages From 65decafb615c7385e6ba5e85468224590faa9075 Mon Sep 17 00:00:00 2001 From: gabrielmbmb Date: Tue, 18 Jul 2023 13:19:34 +0200 Subject: [PATCH 06/16] feat: add `max-parallel: 1` for building Docker images --- .github/workflows/package.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/package.yml b/.github/workflows/package.yml index 7007f68805..e40940c2a8 100644 --- a/.github/workflows/package.yml +++ b/.github/workflows/package.yml @@ -143,6 +143,7 @@ jobs: dockerfile: docker/quickstart.Dockerfile readme: docker/quickstart.README.md platforms: linux/amd64,linux/arm64 + max-parallel: 1 defaults: run: shell: bash -l {0} From af37495dd3b22cd01af185d86fd32725c9a187b8 Mon Sep 17 00:00:00 2001 From: gabrielmbmb Date: Tue, 18 Jul 2023 13:59:19 +0200 Subject: [PATCH 07/16] feat: add `build-push-docker.yml` workflow --- .github/workflows/build-push-docker.yml | 82 ++++++++++++++++++++++++ .github/workflows/package.yml | 83 ++++++++----------------- 2 files changed, 107 insertions(+), 58 deletions(-) create mode 100644 .github/workflows/build-push-docker.yml diff --git a/.github/workflows/build-push-docker.yml b/.github/workflows/build-push-docker.yml new file mode 100644 index 0000000000..099712a70c --- /dev/null +++ b/.github/workflows/build-push-docker.yml @@ -0,0 +1,82 @@ +name: Build Argilla Docker image + +on: + workflow_call: + inputs: + download-python-package: + description: "True if python package should be downloaded" + type: boolean + default: false + image-name: + description: "Name of the image to build" + required: true + type: string + dockerfile: + description: "Path to the Dockerfile to build" + required: true + type: string + platforms: + description: "Platforms to build for" + required: true + type: string + build-args: + description: "Build arguments" + required: false + type: string + default: "" + readme: + description: "Path to the README file" + required: false + type: string + default: "README.md" + outputs: + version: + description: "Version of the Docker image" + value: ${{ jobs.build.outputs.version }} + +jobs: + build: + name: Build Docker image + runs-on: ubuntu-latest + outputs: + version: ${{ steps.meta.outputs.version }} + steps: + - uses: actions/checkout@v3 + - name: Download python package + uses: actions/download-artifact@v3 + if: ${{ inputs.download-python-package }} + with: + name: python-package + path: docker/dist + - name: Set up QEMU + uses: docker/setup-qemu-action@v2 + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v2 + - name: Docker meta + id: meta + uses: docker/metadata-action@v4 + with: + images: ${{ inputs.image-name }} + - name: Login to Docker Hub + uses: docker/login-action@v2 + with: + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_PASSWORD }} + - name: Build and push + uses: docker/build-push-action@v4 + with: + context: docker + file: ${{ inputs.dockerfile }} + platforms: ${{ inputs.platforms }} + tags: ${{ steps.meta.outputs.tags }} + labels: ${{ steps.meta.outputs.labels }} + build-args: ${{ inputs.build-args }} + load: true + - name: Docker Hub Description + uses: peter-evans/dockerhub-description@v3 + if: github.event_name == 'release' + with: + username: ${{ secrets.AR_DOCKER_USERNAME }} + password: ${{ secrets.AR_DOCKER_PASSWORD }} + repository: ${{ inputs.image-name }} + readme-filepath: ${{ inputs.readme }} diff --git a/.github/workflows/package.yml b/.github/workflows/package.yml index e40940c2a8..fa0ecdfef6 100644 --- a/.github/workflows/package.yml +++ b/.github/workflows/package.yml @@ -119,9 +119,9 @@ jobs: if: needs.deployable_check.outputs.isDeployable == 'true' secrets: inherit - deploy_docker: - name: Build docker image - runs-on: ubuntu-latest + build_server_docker_image: + name: Build Argilla server docker image + uses: ./.github/workflows/build-push-docker.yml needs: - build_python_package - run_tests @@ -132,60 +132,27 @@ jobs: needs.deployable_check.outputs.isDeployable == 'true' && needs.run_tests.result != 'failure' && needs.run_tests_extra.result != 'failure' - strategy: - matrix: - include: - - image: argilla/argilla-server - dockerfile: docker/Dockerfile - readme: README.md - platforms: linux/amd64 - - image: argilla/argilla-quickstart - dockerfile: docker/quickstart.Dockerfile - readme: docker/quickstart.README.md - platforms: linux/amd64,linux/arm64 - max-parallel: 1 - defaults: - run: - shell: bash -l {0} - steps: - - name: Checkout Code 🛎 - uses: actions/checkout@v2 - - name: Download python package - uses: actions/download-artifact@v3 - with: - name: python-package - path: docker/dist - - name: Set up QEMU - uses: docker/setup-qemu-action@v2 - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v2 - - name: Docker meta - id: meta - uses: crazy-max/ghaction-docker-meta@v2 - with: - images: ${{ matrix.image }} - - name: Login to DockerHub - uses: docker/login-action@v1 - with: - username: ${{ secrets.AR_DOCKER_USERNAME }} - password: ${{ secrets.AR_DOCKER_PASSWORD }} - - name: Build & push Docker image - uses: docker/build-push-action@v2 - with: - context: docker - file: ${{ matrix.dockerfile }} - platforms: ${{ matrix.platforms }} - tags: ${{ steps.meta.outputs.tags }} - labels: ${{ steps.meta.outputs.labels }} - push: true - - name: Docker Hub Description - uses: peter-evans/dockerhub-description@v3 - if: github.event_name == 'release' - with: - username: ${{ secrets.AR_DOCKER_USERNAME }} - password: ${{ secrets.AR_DOCKER_PASSWORD }} - repository: ${{ matrix.image }} - readme-filepath: ${{ matrix.readme }} + with: + download-python-package: true + image-name: argilla/argilla-server + dockerfile: docker/Dockerfile + readme: README.md + platforms: linux/amd64 + secrets: inherit + + build_quickstart_docker_image: + name: Build Argilla quickstart docker image + uses: ./.github/workflows/build-push-docker.yml + needs: build_server_docker_image + with: + download-python-package: false + image-name: argilla/argilla-quickstart + dockerfile: docker/quickstart.Dockerfile + readme: docker/quickstart.README.md + platforms: linux/amd64,linux/arm64 + build-args: | + ARGILLA_VERSION=${{ needs.build_server_docker_image.outputs.version }} + # This job will upload a Python Package using Twine when a release is created # For more information see: # https://help.github.com/en/actions/language-and-framework-guides/using-python-with-github-actions#publishing-to-package-registries @@ -194,7 +161,7 @@ jobs: runs-on: ubuntu-latest if: ${{ github.event_name == 'release' }} needs: - - deploy_docker + - build_quickstart_docker_image defaults: run: shell: bash -l {0} From 1995e79d2c76875952cc6a46e8e75348f8f3a138 Mon Sep 17 00:00:00 2001 From: gabrielmbmb Date: Tue, 18 Jul 2023 16:28:00 +0200 Subject: [PATCH 08/16] docs: update changelog --- CHANGELOG.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index a7c1709cda..49fd14d1c2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -33,7 +33,6 @@ These are the section headers that we use: - Added API and Python Client support for workspace deletion (Closes [#3260](https://github.com/argilla-io/argilla/issues/3260)) - Added `GET /api/v1/me/workspaces` endpoint to list the workspaces of the current active user ([#3390](https://github.com/argilla-io/argilla/pull/3390)) - ### Changed - Updated output payload for `GET /api/v1/datasets/{dataset_id}/records`, `GET /api/v1/me/datasets/{dataset_id}/records`, `POST /api/v1/me/datasets/{dataset_id}/records/search` endpoints to include the suggestions of the records based on the value of the `include` query parameter ([#3304](https://github.com/argilla-io/argilla/pull/3304)). @@ -43,12 +42,13 @@ These are the section headers that we use: - `User.workspaces` is no longer an attribute but a property, and is calling `list_user_workspaces` to list all the workspace names for a given user ID ([#3334](https://github.com/argilla-io/argilla/pull/3334)) - Renamed `FeedbackDatasetConfig` to `DatasetConfig` and export/import from YAML as default instead of JSON (just used internally on `push_to_huggingface` and `from_huggingface` methods of `FeedbackDataset`) ([#3326](https://github.com/argilla-io/argilla/pull/3326)). - The protected metadata fields support other than textual info - existing datasets must be reindex. See [docs](https://docs.argilla.io/en/latest/getting_started/installation/configurations/database_migrations.html#elasticsearch) for more detail (Closes [#3332](https://github.com/argilla-io/argilla/issues/3332)). +- Updated `Dockerfile` parent image from `python:3.9.16-slim` to `python:3.10.12-slim` ([#3425](https://github.com/argilla-io/argilla/pull/3425)). +- Updated `quickstart.Dockerfile` parent image from `elasticsearch:8.5.3` to `argilla/argilla-server:${ARGILLA_VERSION:-latest}` ([#3425](https://github.com/argilla-io/argilla/pull/3425)). ### Removed - Removed support to non-prefixed environment variables. All valid env vars start with `ARGILLA_` (See [#3392](https://github.com/argilla-io/argilla/pull/3392)). - ### Fixed - Fixed `GET /api/v1/me/datasets/{dataset_id}/records` endpoint returning always the responses for the records even if `responses` was not provided via the `include` query parameter ([#3304](https://github.com/argilla-io/argilla/pull/3304)). From 3c899c849e8525af38ad1a0767958c585d09eefa Mon Sep 17 00:00:00 2001 From: gabrielmbmb Date: Tue, 18 Jul 2023 16:34:39 +0200 Subject: [PATCH 09/16] feat: add missing `secrets: inherit` --- .github/workflows/package.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/package.yml b/.github/workflows/package.yml index fa0ecdfef6..3ae4e3241d 100644 --- a/.github/workflows/package.yml +++ b/.github/workflows/package.yml @@ -152,6 +152,7 @@ jobs: platforms: linux/amd64,linux/arm64 build-args: | ARGILLA_VERSION=${{ needs.build_server_docker_image.outputs.version }} + secrets: inherit # This job will upload a Python Package using Twine when a release is created # For more information see: From d5a2bd51bc3585d5ccce731230014463bd09b00c Mon Sep 17 00:00:00 2001 From: gabrielmbmb Date: Tue, 18 Jul 2023 16:43:50 +0200 Subject: [PATCH 10/16] feat: add `if` condition --- .github/workflows/package.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/package.yml b/.github/workflows/package.yml index 3ae4e3241d..3f62bfe283 100644 --- a/.github/workflows/package.yml +++ b/.github/workflows/package.yml @@ -144,6 +144,9 @@ jobs: name: Build Argilla quickstart docker image uses: ./.github/workflows/build-push-docker.yml needs: build_server_docker_image + if: | + always() && + needs.build_server_docker_image.result != 'failure' with: download-python-package: false image-name: argilla/argilla-quickstart From d3409c8c934f8d30de448b86dcaa4ffe960a0e12 Mon Sep 17 00:00:00 2001 From: gabrielmbmb Date: Tue, 18 Jul 2023 16:55:44 +0200 Subject: [PATCH 11/16] feat: use `push: true` --- .github/workflows/build-push-docker.yml | 2 +- .github/workflows/package.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build-push-docker.yml b/.github/workflows/build-push-docker.yml index 099712a70c..305ee79dd7 100644 --- a/.github/workflows/build-push-docker.yml +++ b/.github/workflows/build-push-docker.yml @@ -71,7 +71,7 @@ jobs: tags: ${{ steps.meta.outputs.tags }} labels: ${{ steps.meta.outputs.labels }} build-args: ${{ inputs.build-args }} - load: true + push: true - name: Docker Hub Description uses: peter-evans/dockerhub-description@v3 if: github.event_name == 'release' diff --git a/.github/workflows/package.yml b/.github/workflows/package.yml index 3f62bfe283..de7c33d918 100644 --- a/.github/workflows/package.yml +++ b/.github/workflows/package.yml @@ -146,7 +146,7 @@ jobs: needs: build_server_docker_image if: | always() && - needs.build_server_docker_image.result != 'failure' + needs.build_server_docker_image.result == 'success' with: download-python-package: false image-name: argilla/argilla-quickstart From e7da0a8952b3c741c0fff56778a9e787f43b46ce Mon Sep 17 00:00:00 2001 From: gabrielmbmb Date: Tue, 18 Jul 2023 17:17:20 +0200 Subject: [PATCH 12/16] fix: wrong secrets --- .github/workflows/build-push-docker.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build-push-docker.yml b/.github/workflows/build-push-docker.yml index 305ee79dd7..449787664c 100644 --- a/.github/workflows/build-push-docker.yml +++ b/.github/workflows/build-push-docker.yml @@ -60,8 +60,8 @@ jobs: - name: Login to Docker Hub uses: docker/login-action@v2 with: - username: ${{ secrets.DOCKERHUB_USERNAME }} - password: ${{ secrets.DOCKERHUB_PASSWORD }} + username: ${{ secrets.AR_DOCKER_USERNAME }} + password: ${{ secrets.AR_DOCKER_PASSWORD }} - name: Build and push uses: docker/build-push-action@v4 with: From 99d5cbd7ed2d9f7db866cca918b4d8f025cc640f Mon Sep 17 00:00:00 2001 From: gabrielmbmb Date: Tue, 18 Jul 2023 17:26:38 +0200 Subject: [PATCH 13/16] feat: build `argilla/argilla-server` for `arm64` --- .github/workflows/package.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/package.yml b/.github/workflows/package.yml index de7c33d918..393dfb8875 100644 --- a/.github/workflows/package.yml +++ b/.github/workflows/package.yml @@ -137,7 +137,7 @@ jobs: image-name: argilla/argilla-server dockerfile: docker/Dockerfile readme: README.md - platforms: linux/amd64 + platforms: linux/amd64,linux/arm64 secrets: inherit build_quickstart_docker_image: From a288a71d500318f9fb906a031c83bbce7c97fad4 Mon Sep 17 00:00:00 2001 From: gabrielmbmb Date: Tue, 18 Jul 2023 17:47:15 +0200 Subject: [PATCH 14/16] feat: add `ARGILLA_VERSION` build arg --- docker/quickstart.Dockerfile | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docker/quickstart.Dockerfile b/docker/quickstart.Dockerfile index 95539ccdeb..73887a5123 100644 --- a/docker/quickstart.Dockerfile +++ b/docker/quickstart.Dockerfile @@ -1,5 +1,6 @@ # TODO(gabrielmbmb): update this `Dockerfile` to multi-staged build to reduce the image size -FROM argilla/argilla-server:${ARGILLA_VERSION:-latest} +ARG ARGILLA_VERSION=latest +FROM argilla/argilla-server:${ARGILLA_VERSION} USER root From 120a4b74a320d08db8676126bfe21f0268e2c656 Mon Sep 17 00:00:00 2001 From: gabrielmbmb Date: Tue, 18 Jul 2023 17:52:45 +0200 Subject: [PATCH 15/16] docs: update changelog --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 49fd14d1c2..75a3da442d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -43,7 +43,7 @@ These are the section headers that we use: - Renamed `FeedbackDatasetConfig` to `DatasetConfig` and export/import from YAML as default instead of JSON (just used internally on `push_to_huggingface` and `from_huggingface` methods of `FeedbackDataset`) ([#3326](https://github.com/argilla-io/argilla/pull/3326)). - The protected metadata fields support other than textual info - existing datasets must be reindex. See [docs](https://docs.argilla.io/en/latest/getting_started/installation/configurations/database_migrations.html#elasticsearch) for more detail (Closes [#3332](https://github.com/argilla-io/argilla/issues/3332)). - Updated `Dockerfile` parent image from `python:3.9.16-slim` to `python:3.10.12-slim` ([#3425](https://github.com/argilla-io/argilla/pull/3425)). -- Updated `quickstart.Dockerfile` parent image from `elasticsearch:8.5.3` to `argilla/argilla-server:${ARGILLA_VERSION:-latest}` ([#3425](https://github.com/argilla-io/argilla/pull/3425)). +- Updated `quickstart.Dockerfile` parent image from `elasticsearch:8.5.3` to `argilla/argilla-server:${ARGILLA_VERSION}` ([#3425](https://github.com/argilla-io/argilla/pull/3425)). ### Removed From 86cc23f8f2f4b3e24628bdd6fcc2389da879a9cb Mon Sep 17 00:00:00 2001 From: gabrielmbmb Date: Tue, 18 Jul 2023 18:12:22 +0200 Subject: [PATCH 16/16] fix: remove copying wheels --- docker/quickstart.Dockerfile | 1 - 1 file changed, 1 deletion(-) diff --git a/docker/quickstart.Dockerfile b/docker/quickstart.Dockerfile index 73887a5123..50ad34e5b3 100644 --- a/docker/quickstart.Dockerfile +++ b/docker/quickstart.Dockerfile @@ -18,7 +18,6 @@ RUN echo "deb [signed-by=/usr/share/keyrings/elasticsearch-keyring.gpg] https:// # Copy Argilla distribution files COPY scripts/* / COPY quickstart.requirements.txt /packages/requirements.txt -COPY dist/*.whl /packages/ RUN \ # Indicate that this is a quickstart deployment