From 752775756407583e8ae1aa0188b09760572cfb00 Mon Sep 17 00:00:00 2001 From: Nicolas Patry Date: Fri, 17 Jan 2025 17:33:21 +0100 Subject: [PATCH 01/10] Fixing the hard way. --- .../python-api-sentence-transformers-cd.yaml | 65 ++++++++++++------- 1 file changed, 40 insertions(+), 25 deletions(-) diff --git a/.github/workflows/python-api-sentence-transformers-cd.yaml b/.github/workflows/python-api-sentence-transformers-cd.yaml index 05787fdc..bc722c3c 100644 --- a/.github/workflows/python-api-sentence-transformers-cd.yaml +++ b/.github/workflows/python-api-sentence-transformers-cd.yaml @@ -1,5 +1,6 @@ name: sentence_transformers-docker-cd on: + pull-request: push: branches: - main @@ -7,42 +8,56 @@ on: - "docker_images/sentence_transformers/**" jobs: build: - runs-on: ubuntu-latest + runs-on: aws-general-8-plus-use1-public-80 steps: - name: Set up Python ${{ matrix.python-version }} uses: actions/setup-python@v2 with: - python-version: "3.8" + python-version: "3.10" - name: Checkout - uses: actions/checkout@v2 - - name: Set up QEMU - uses: docker/setup-qemu-action@v1 - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v1 - - name: Install dependencies - run: | - pip install --upgrade pip - pip install awscli - - uses: huggingface/tailscale-action@v1 + uses: actions/checkout@v4 + - name: Initialize Docker Buildx + uses: docker/setup-buildx-action@v3 with: - authkey: ${{ secrets.TAILSCALE_AUTHKEY }} - - name: Update upstream - env: - AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} - AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} - AWS_DEFAULT_REGION: ${{ secrets.AWS_DEFAULT_REGION }} - DEFAULT_HOSTNAME: ${{ secrets.DEFAULT_HOSTNAME }} - REGISTRY_USERNAME: ${{ secrets.REGISTRY_USERNAME }} - REGISTRY_PASSWORD: ${{ secrets.REGISTRY_PASSWORD }} - run: | - python build_docker.py sentence_transformers --out out.txt + install: true + buildkitd-config: /tmp/buildkitd.toml + - name: Login to internal Container Registry + uses: docker/login-action@v3 + with: + username: ${{ secrets.REGISTRY_USERNAME }} + password: ${{ secrets.REGISTRY_PASSWORD }} + registry: registry.internal.huggingface.tech + - name: Extract metadata (tags, labels) for Docker + id: meta-pr + uses: docker/metadata-action@v5 + with: + images: | + registry.internal.huggingface.tech/api-inference/community/sentence-transformers + tags: | + type=raw,value=sha-${{ env.GITHUB_SHA_SHORT }} + - name: Build and push Docker image + id: build-and-push + uses: docker/build-push-action@v4 + working-directory: docker_images/sentence_transformers + with: + context: . + push: true + platforms: 'linux/amd64' + build-args: | + GIT_SHA=${{ env.GITHUB_SHA }} + DOCKER_LABEL=sha-${{ env.GITHUB_SHA_SHORT }} + PLATFORM=${{ env.PLATFORM }} + tags: ${{ steps.meta.outputs.tags || steps.meta-pr.outputs.tags }} + labels: ${{ steps.meta.outputs.labels || steps.meta-pr.outputs.labels }} + cache-from: type=s3,region=us-east-1,bucket=ci-docker-buildx-cache,name=sentence-transformers-cache${{ env.LABEL }},mode=min,access_key_id=${{ secrets.S3_CI_DOCKER_BUILDX_CACHE_ACCESS_KEY_ID }},secret_access_key=${{ secrets.S3_CI_DOCKER_BUILDX_CACHE_SECRET_ACCESS_KEY }},mode=min + cache-to: type=s3,region=us-east-1,bucket=ci-docker-buildx-cache,name=sentence-transformers-cache${{ env.LABEL }},mode=min,access_key_id=${{ secrets.S3_CI_DOCKER_BUILDX_CACHE_ACCESS_KEY_ID }},secret_access_key=${{ secrets.S3_CI_DOCKER_BUILDX_CACHE_SECRET_ACCESS_KEY }},mode=min - name: Deploy on API run: | # Load the tags into the env cat out.txt >> $GITHUB_ENV export $(xargs < out.txt) - echo ${SENTENCE_TRANSFORMERS_CPU_TAG} + echo sha-${env.GITHUB_SHA_SHORT} # Weird single quote escape mechanism because string interpolation does # not work on single quote in bash - curl -H "Authorization: Bearer ${{ secrets.API_GITHUB_TOKEN }}" https://api.github.com/repos/huggingface/api-inference/actions/workflows/update_community.yaml/dispatches -d '{"ref":"main","inputs":{"framework":"SENTENCE_TRANSFORMERS","tag": "'"${SENTENCE_TRANSFORMERS_CPU_TAG}"'"}}' + curl -H "Authorization: Bearer ${{ secrets.API_GITHUB_TOKEN }}" https://api.github.com/repos/huggingface/api-inference/actions/workflows/update_community.yaml/dispatches -d '{"ref":"main","inputs":{"framework":"SENTENCE_TRANSFORMERS","tag": "'"sha-${env.GITHUB_SHA_SHORT}"'"}}' From 5cf08e3cd19a698818c227403ae270d33ba7e06d Mon Sep 17 00:00:00 2001 From: Nicolas Patry Date: Fri, 17 Jan 2025 17:35:36 +0100 Subject: [PATCH 02/10] No validation is no fun. --- .github/workflows/python-api-sentence-transformers-cd.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/python-api-sentence-transformers-cd.yaml b/.github/workflows/python-api-sentence-transformers-cd.yaml index bc722c3c..0af6e12e 100644 --- a/.github/workflows/python-api-sentence-transformers-cd.yaml +++ b/.github/workflows/python-api-sentence-transformers-cd.yaml @@ -1,6 +1,6 @@ name: sentence_transformers-docker-cd on: - pull-request: + pull_request: push: branches: - main From 1da7961a832923db02eaeb76559e56e62fcd1074 Mon Sep 17 00:00:00 2001 From: Nicolas Patry Date: Fri, 17 Jan 2025 17:36:34 +0100 Subject: [PATCH 03/10] Whatever. --- .github/workflows/python-api-sentence-transformers-cd.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/python-api-sentence-transformers-cd.yaml b/.github/workflows/python-api-sentence-transformers-cd.yaml index 0af6e12e..6d8d7bee 100644 --- a/.github/workflows/python-api-sentence-transformers-cd.yaml +++ b/.github/workflows/python-api-sentence-transformers-cd.yaml @@ -38,9 +38,9 @@ jobs: - name: Build and push Docker image id: build-and-push uses: docker/build-push-action@v4 - working-directory: docker_images/sentence_transformers with: - context: . + context: docker_images/sentence_transformers + dockerfile: docker_images/sentence_transformers/Dockerfile push: true platforms: 'linux/amd64' build-args: | From f8ecab92cae4156a5af63efdfe585f87d2b78598 Mon Sep 17 00:00:00 2001 From: Guillaume LEGENDRE Date: Thu, 23 Jan 2025 16:45:26 +0100 Subject: [PATCH 04/10] (fix CI): change runner group --- .github/workflows/python-api-sentence-transformers-cd.yaml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/python-api-sentence-transformers-cd.yaml b/.github/workflows/python-api-sentence-transformers-cd.yaml index 6d8d7bee..95d9f0cd 100644 --- a/.github/workflows/python-api-sentence-transformers-cd.yaml +++ b/.github/workflows/python-api-sentence-transformers-cd.yaml @@ -8,7 +8,8 @@ on: - "docker_images/sentence_transformers/**" jobs: build: - runs-on: aws-general-8-plus-use1-public-80 + runs-on: + group: aws-general-8-plus-priv steps: - name: Set up Python ${{ matrix.python-version }} uses: actions/setup-python@v2 From 958b30fa01ed16833760d48923881f2d2e97ae80 Mon Sep 17 00:00:00 2001 From: Nicolas Patry Date: Thu, 23 Jan 2025 17:12:27 +0100 Subject: [PATCH 05/10] Try to launch next CI job. --- .github/workflows/python-api-sentence-transformers-cd.yaml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.github/workflows/python-api-sentence-transformers-cd.yaml b/.github/workflows/python-api-sentence-transformers-cd.yaml index 95d9f0cd..7093d69a 100644 --- a/.github/workflows/python-api-sentence-transformers-cd.yaml +++ b/.github/workflows/python-api-sentence-transformers-cd.yaml @@ -55,8 +55,6 @@ jobs: - name: Deploy on API run: | # Load the tags into the env - cat out.txt >> $GITHUB_ENV - export $(xargs < out.txt) echo sha-${env.GITHUB_SHA_SHORT} # Weird single quote escape mechanism because string interpolation does # not work on single quote in bash From 8791b261f5bde8baed39b7c047abc4ce67796e84 Mon Sep 17 00:00:00 2001 From: Nicolas Patry Date: Thu, 23 Jan 2025 17:17:02 +0100 Subject: [PATCH 06/10] Bash != GH. --- .github/workflows/python-api-sentence-transformers-cd.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/python-api-sentence-transformers-cd.yaml b/.github/workflows/python-api-sentence-transformers-cd.yaml index 7093d69a..f00624ff 100644 --- a/.github/workflows/python-api-sentence-transformers-cd.yaml +++ b/.github/workflows/python-api-sentence-transformers-cd.yaml @@ -55,8 +55,8 @@ jobs: - name: Deploy on API run: | # Load the tags into the env - echo sha-${env.GITHUB_SHA_SHORT} + echo sha-${{ env.GITHUB_SHA_SHORT }} # Weird single quote escape mechanism because string interpolation does # not work on single quote in bash - curl -H "Authorization: Bearer ${{ secrets.API_GITHUB_TOKEN }}" https://api.github.com/repos/huggingface/api-inference/actions/workflows/update_community.yaml/dispatches -d '{"ref":"main","inputs":{"framework":"SENTENCE_TRANSFORMERS","tag": "'"sha-${env.GITHUB_SHA_SHORT}"'"}}' + curl -H "Authorization: Bearer ${{ secrets.API_GITHUB_TOKEN }}" https://api.github.com/repos/huggingface/api-inference/actions/workflows/update_community.yaml/dispatches -d '{"ref":"main","inputs":{"framework":"SENTENCE_TRANSFORMERS","tag": "'"sha-${{ env.GITHUB_SHA_SHORT }}"'"}}' From 6149fcdbe0783a44d5311fbd2c23afacd4966885 Mon Sep 17 00:00:00 2001 From: Nicolas Patry Date: Thu, 23 Jan 2025 17:22:39 +0100 Subject: [PATCH 07/10] Fix the variables. --- .github/workflows/python-api-sentence-transformers-cd.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/python-api-sentence-transformers-cd.yaml b/.github/workflows/python-api-sentence-transformers-cd.yaml index f00624ff..c1ef939c 100644 --- a/.github/workflows/python-api-sentence-transformers-cd.yaml +++ b/.github/workflows/python-api-sentence-transformers-cd.yaml @@ -22,6 +22,8 @@ jobs: with: install: true buildkitd-config: /tmp/buildkitd.toml + - name: Inject slug/short variables + uses: rlespinasse/github-slug-action@v4.4.1 - name: Login to internal Container Registry uses: docker/login-action@v3 with: From 2b28a11cc7297fabb1b503bb42cb2e447ecb25da Mon Sep 17 00:00:00 2001 From: Nicolas Patry Date: Thu, 23 Jan 2025 17:44:39 +0100 Subject: [PATCH 08/10] Fixing the CI to use the old name --- .github/workflows/python-api-sentence-transformers-cd.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/python-api-sentence-transformers-cd.yaml b/.github/workflows/python-api-sentence-transformers-cd.yaml index c1ef939c..5e81231f 100644 --- a/.github/workflows/python-api-sentence-transformers-cd.yaml +++ b/.github/workflows/python-api-sentence-transformers-cd.yaml @@ -35,7 +35,7 @@ jobs: uses: docker/metadata-action@v5 with: images: | - registry.internal.huggingface.tech/api-inference/community/sentence-transformers + registry.internal.huggingface.tech/api-inference/community tags: | type=raw,value=sha-${{ env.GITHUB_SHA_SHORT }} - name: Build and push Docker image @@ -48,7 +48,7 @@ jobs: platforms: 'linux/amd64' build-args: | GIT_SHA=${{ env.GITHUB_SHA }} - DOCKER_LABEL=sha-${{ env.GITHUB_SHA_SHORT }} + DOCKER_LABEL=sentence-transformers-sha-${{ env.GITHUB_SHA_SHORT }} PLATFORM=${{ env.PLATFORM }} tags: ${{ steps.meta.outputs.tags || steps.meta-pr.outputs.tags }} labels: ${{ steps.meta.outputs.labels || steps.meta-pr.outputs.labels }} @@ -60,5 +60,5 @@ jobs: echo sha-${{ env.GITHUB_SHA_SHORT }} # Weird single quote escape mechanism because string interpolation does # not work on single quote in bash - curl -H "Authorization: Bearer ${{ secrets.API_GITHUB_TOKEN }}" https://api.github.com/repos/huggingface/api-inference/actions/workflows/update_community.yaml/dispatches -d '{"ref":"main","inputs":{"framework":"SENTENCE_TRANSFORMERS","tag": "'"sha-${{ env.GITHUB_SHA_SHORT }}"'"}}' + curl -H "Authorization: Bearer ${{ secrets.API_GITHUB_TOKEN }}" https://api.github.com/repos/huggingface/api-inference/actions/workflows/update_community.yaml/dispatches -d '{"ref":"main","inputs":{"framework":"SENTENCE_TRANSFORMERS","tag": "sentence-transformers-sha-${{ env.GITHUB_SHA_SHORT }}"}}' From a8f71198025f9b2fb32bb251221770684f3a2f0f Mon Sep 17 00:00:00 2001 From: Nicolas Patry Date: Thu, 23 Jan 2025 17:48:45 +0100 Subject: [PATCH 09/10] Repo rename. --- .github/workflows/python-api-sentence-transformers-cd.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/python-api-sentence-transformers-cd.yaml b/.github/workflows/python-api-sentence-transformers-cd.yaml index 5e81231f..4dabf7b7 100644 --- a/.github/workflows/python-api-sentence-transformers-cd.yaml +++ b/.github/workflows/python-api-sentence-transformers-cd.yaml @@ -60,5 +60,5 @@ jobs: echo sha-${{ env.GITHUB_SHA_SHORT }} # Weird single quote escape mechanism because string interpolation does # not work on single quote in bash - curl -H "Authorization: Bearer ${{ secrets.API_GITHUB_TOKEN }}" https://api.github.com/repos/huggingface/api-inference/actions/workflows/update_community.yaml/dispatches -d '{"ref":"main","inputs":{"framework":"SENTENCE_TRANSFORMERS","tag": "sentence-transformers-sha-${{ env.GITHUB_SHA_SHORT }}"}}' + curl -H "Authorization: Bearer ${{ secrets.API_GITHUB_TOKEN }}" https://api.github.com/repos/huggingface-internal/api-inference/actions/workflows/update_community.yaml/dispatches -d '{"ref":"main","inputs":{"framework":"SENTENCE_TRANSFORMERS","tag": "sentence-transformers-sha-${{ env.GITHUB_SHA_SHORT }}"}}' From a29c1c458a46b58c8a9c95eb888dfe9899bfbb8b Mon Sep 17 00:00:00 2001 From: Nicolas Patry Date: Thu, 23 Jan 2025 17:56:29 +0100 Subject: [PATCH 10/10] Fix the label ? --- .github/workflows/python-api-sentence-transformers-cd.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/python-api-sentence-transformers-cd.yaml b/.github/workflows/python-api-sentence-transformers-cd.yaml index 4dabf7b7..eb124bdd 100644 --- a/.github/workflows/python-api-sentence-transformers-cd.yaml +++ b/.github/workflows/python-api-sentence-transformers-cd.yaml @@ -37,7 +37,7 @@ jobs: images: | registry.internal.huggingface.tech/api-inference/community tags: | - type=raw,value=sha-${{ env.GITHUB_SHA_SHORT }} + type=raw,value=sentence-transformers-sha-${{ env.GITHUB_SHA_SHORT }} - name: Build and push Docker image id: build-and-push uses: docker/build-push-action@v4