From 50af89e853dbf13bff37891375eb0f64e629173f Mon Sep 17 00:00:00 2001 From: Reuben Thomas-Davis Date: Wed, 20 Dec 2023 12:40:43 +0000 Subject: [PATCH 1/2] :green_heart: docker build and push on release when a github release is published a docker image is pushed to ghcr avoiding manual workflow dispatch method (but still making it available as a fallback) --- .github/workflows/ghcr_deploy.yml | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ghcr_deploy.yml b/.github/workflows/ghcr_deploy.yml index fc345670c..7e69e8d39 100644 --- a/.github/workflows/ghcr_deploy.yml +++ b/.github/workflows/ghcr_deploy.yml @@ -1,10 +1,12 @@ # -name: Build & Publich to GHCR +name: Build & Publish to GHCR on: workflow_dispatch: inputs: tag: description: "The tag version you want to build" + release: + types: [published] # Defines two custom environment variables for the workflow. Used for the Container registry domain, and a name for the Docker image that this workflow builds. env: @@ -19,7 +21,7 @@ jobs: permissions: contents: read packages: write - # + # steps: - name: Checkout repository uses: actions/checkout@v4 @@ -44,5 +46,5 @@ jobs: with: context: . push: true - tags: ${{ steps.meta.outputs.tags }}-${{ github.event.inputs.tag }} # Add the input tag to the image tags + tags: ${{ steps.meta.outputs.tags }}-${{ github.event.inputs.tag || github.event.release.tag_name }} # if a tag is provided, use that, otherwise use the release tag labels: ${{ steps.meta.outputs.labels }} From fe4427907d7cf2eaf116c6e1e7a14a41e7616e66 Mon Sep 17 00:00:00 2001 From: Reuben Thomas-Davis Date: Wed, 20 Dec 2023 12:41:23 +0000 Subject: [PATCH 2/2] :wastebasket: remove unused docker workflow for clarity --- .github/workflows/docker.yml | 66 ------------------------------------ 1 file changed, 66 deletions(-) delete mode 100644 .github/workflows/docker.yml diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml deleted file mode 100644 index cf6c40b31..000000000 --- a/.github/workflows/docker.yml +++ /dev/null @@ -1,66 +0,0 @@ -name: Build Docker Images -on: - workflow_dispatch: - inputs: - tag: - description: "The tag version you want to build" -jobs: - build: - runs-on: ubuntu-latest - permissions: - contents: read - packages: write - env: - REPO_NAME: ${{ github.repository }} - steps: - - name: Convert repo name to lowercase - run: echo "REPO_NAME=$(echo "$REPO_NAME" | tr '[:upper:]' '[:lower:]')" >> $GITHUB_ENV - - name: Checkout - uses: actions/checkout@v4 - - name: Set up QEMU - uses: docker/setup-qemu-action@v3 - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v3 - - name: Login to GitHub Container Registry - uses: docker/login-action@v3 - with: - registry: ghcr.io - username: ${{ github.actor }} - password: ${{ secrets.GHCR_TOKEN }} - logout: false - - name: Extract metadata (tags, labels) for Docker - id: meta - uses: docker/metadata-action@v5 - with: - images: ghcr.io/berriai/litellm - - name: Get tag to build - id: tag - run: | - echo "latest=ghcr.io/${{ env.REPO_NAME }}:latest" >> $GITHUB_OUTPUT - if [[ -z "${{ github.event.inputs.tag }}" ]]; then - echo "versioned=ghcr.io/${{ env.REPO_NAME }}:${{ github.ref_name }}" >> $GITHUB_OUTPUT - else - echo "versioned=ghcr.io/${{ env.REPO_NAME }}:${{ github.event.inputs.tag }}" >> $GITHUB_OUTPUT - fi - - name: Debug Info - run: | - echo "GHCR_TOKEN=${{ secrets.GHCR_TOKEN }}" - echo "REPO_NAME=${{ env.REPO_NAME }}" - echo "ACTOR=${{ github.actor }}" - - name: Build and push container image to registry - uses: docker/build-push-action@v2 - with: - push: true - tags: ghcr.io/${{ env.REPO_NAME }}:${{ github.sha }} - file: ./Dockerfile - - name: Build and release Docker images - uses: docker/build-push-action@v5 - with: - context: . - platforms: linux/amd64 - tags: | - ${{ steps.tag.outputs.latest }} - ${{ steps.tag.outputs.versioned }} - labels: ${{ steps.meta.outputs.labels }} - push: true -