From 57bfc4763bf7722994cf77677df1e731ca35d090 Mon Sep 17 00:00:00 2001 From: aj-bw <81774843+aj-bw@users.noreply.github.com> Date: Tue, 12 May 2026 15:54:15 -0400 Subject: [PATCH] add in a server registry arg to support feature branch builds for QA (#507) --- .github/workflows/build-bitwarden-lite.yml | 12 ++++++++++-- bitwarden-lite/Dockerfile | 17 +++++++++-------- 2 files changed, 19 insertions(+), 10 deletions(-) diff --git a/.github/workflows/build-bitwarden-lite.yml b/.github/workflows/build-bitwarden-lite.yml index d9308d8..c3b27bf 100644 --- a/.github/workflows/build-bitwarden-lite.yml +++ b/.github/workflows/build-bitwarden-lite.yml @@ -185,16 +185,19 @@ jobs: run: | if [[ $SERVER_REF =~ ^refs/tags/v(.+)$ ]]; then IMAGE_TAG="${BASH_REMATCH[1]}" + SERVER_TAG="${BASH_REMATCH[1]}" else IMAGE_TAG=$(echo "${SERVER_REF#refs/heads/}" | \ tr '[:upper:]' '[:lower:]' | \ sed -E 's/[^a-z0-9._-]+/-/g; s/-+/-/g; s/^-+|-+$//g' | \ cut -c1-128 | \ sed -E 's/[.-]$//') + SERVER_TAG=$(echo "${SERVER_REF#refs/heads/}" | sed 's|/|-|g' | cut -c1-128) fi if [[ "$IMAGE_TAG" == "main" ]]; then IMAGE_TAG=dev + SERVER_TAG=dev fi if [[ -z "$IMAGE_TAG" ]]; then @@ -202,8 +205,9 @@ jobs: exit 1 fi - echo "Using $IMAGE_TAG for build" + echo "Using lite tag $IMAGE_TAG, server tag $SERVER_TAG" echo "image_tag=${IMAGE_TAG}" >> "$GITHUB_OUTPUT" + echo "server_tag=${SERVER_TAG}" >> "$GITHUB_OUTPUT" - name: Generate web image tag id: web-tag @@ -241,11 +245,14 @@ jobs: - name: Log build configuration env: IMAGE_TAGS: ${{ steps.image-ref.outputs.tags }} + SERVER_REGISTRY: ${{ needs.setup.outputs.push_to_ghcr == 'true' && 'ghcr.io/bitwarden' || 'bitwardenprod.azurecr.io' }} + SERVER_TAG: ${{ steps.tag.outputs.server_tag }} WEB_IMAGE: ${{ steps.web-tag.outputs.web_image }} WEB_TAG: ${{ steps.web-tag.outputs.web_tag }} run: | echo "### Build Configuration" >> $GITHUB_STEP_SUMMARY echo "- Lite: ${IMAGE_TAGS}" >> $GITHUB_STEP_SUMMARY + echo "- Server: ${SERVER_REGISTRY}/*:${SERVER_TAG}" >> $GITHUB_STEP_SUMMARY echo "- Web: ${WEB_IMAGE}:${WEB_TAG}" >> $GITHUB_STEP_SUMMARY - name: Build and push Docker image @@ -261,7 +268,8 @@ jobs: push: ${{ steps.check-secrets.outputs.has_secrets == 'true' }} tags: ${{ steps.image-ref.outputs.tags }} build-args: | - SERVER_TAG=${{ steps.tag.outputs.image_tag }} + SERVER_TAG=${{ steps.tag.outputs.server_tag }} + SERVER_REGISTRY=${{ needs.setup.outputs.push_to_ghcr == 'true' && 'ghcr.io/bitwarden' || 'bitwardenprod.azurecr.io' }} WEB_IMAGE=${{ steps.web-tag.outputs.web_image }} WEB_TAG=${{ steps.web-tag.outputs.web_tag }} diff --git a/bitwarden-lite/Dockerfile b/bitwarden-lite/Dockerfile index 6fb7d54..3b26b12 100644 --- a/bitwarden-lite/Dockerfile +++ b/bitwarden-lite/Dockerfile @@ -1,5 +1,6 @@ # syntax = docker/dockerfile:1.23 ARG SERVER_TAG=dev +ARG SERVER_REGISTRY=ghcr.io/bitwarden ARG WEB_IMAGE=ghcr.io/bitwarden/web ARG WEB_TAG=dev @@ -11,14 +12,14 @@ FROM ${WEB_IMAGE}:${WEB_TAG} AS web-app ############################################### # Server app stages # ############################################### -FROM ghcr.io/bitwarden/admin:${SERVER_TAG} AS admin-app -FROM ghcr.io/bitwarden/api:${SERVER_TAG} AS api-app -FROM ghcr.io/bitwarden/events:${SERVER_TAG} AS events-app -FROM ghcr.io/bitwarden/icons:${SERVER_TAG} AS icons-app -FROM ghcr.io/bitwarden/identity:${SERVER_TAG} AS identity-app -FROM ghcr.io/bitwarden/notifications:${SERVER_TAG} AS notifications-app -FROM ghcr.io/bitwarden/scim:${SERVER_TAG} AS scim-app -FROM ghcr.io/bitwarden/sso:${SERVER_TAG} AS sso-app +FROM ${SERVER_REGISTRY}/admin:${SERVER_TAG} AS admin-app +FROM ${SERVER_REGISTRY}/api:${SERVER_TAG} AS api-app +FROM ${SERVER_REGISTRY}/events:${SERVER_TAG} AS events-app +FROM ${SERVER_REGISTRY}/icons:${SERVER_TAG} AS icons-app +FROM ${SERVER_REGISTRY}/identity:${SERVER_TAG} AS identity-app +FROM ${SERVER_REGISTRY}/notifications:${SERVER_TAG} AS notifications-app +FROM ${SERVER_REGISTRY}/scim:${SERVER_TAG} AS scim-app +FROM ${SERVER_REGISTRY}/sso:${SERVER_TAG} AS sso-app ############################################### # App stage #