From 03d2f8be0e8a15e64dac69a1df987697a6979398 Mon Sep 17 00:00:00 2001 From: Ran <16112591+chen-ran@users.noreply.github.com> Date: Sun, 29 Mar 2026 02:28:28 +0800 Subject: [PATCH] chore(ci): unify browser image tag naming --- .github/workflows/docker.yml | 40 ++++++++++++++++++++++++------------ scripts/install.sh | 16 +++++++++------ 2 files changed, 37 insertions(+), 19 deletions(-) diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index 035ffc38..5acd1915 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -33,6 +33,7 @@ permissions: jobs: build: + name: build ${{ matrix.image }}${{ matrix.variant != '' && format(' ({0})', matrix.variant) || '' }} ${{ matrix.platform == 'linux/amd64' && 'amd64' || 'arm64' }} strategy: fail-fast: false matrix: @@ -159,6 +160,7 @@ jobs: retention-days: 1 merge: + name: publish ${{ matrix.image }}${{ matrix.variant_label != '' && format(' ({0})', matrix.variant_label) || '' }} runs-on: ubuntu-latest if: github.event_name != 'pull_request' && (github.ref == 'refs/heads/main' || startsWith(github.ref, 'refs/heads/v') || startsWith(github.ref, 'refs/tags/') || github.event_name == 'release') needs: build @@ -167,22 +169,34 @@ jobs: include: - image: server artifact_key: server - tag_prefix: "" + variant_label: "" + raw_tag_prefix: "" + tag_suffix: "" - image: web artifact_key: web - tag_prefix: "" + variant_label: "" + raw_tag_prefix: "" + tag_suffix: "" - image: browser artifact_key: browser - tag_prefix: "" + variant_label: "" + raw_tag_prefix: "" + tag_suffix: "" - image: browser artifact_key: browser-chromium - tag_prefix: "chromium-" + variant_label: chromium + raw_tag_prefix: "chromium-" + tag_suffix: "-chromium" - image: browser artifact_key: browser-firefox - tag_prefix: "firefox-" + variant_label: firefox + raw_tag_prefix: "firefox-" + tag_suffix: "-firefox" - image: sparse artifact_key: sparse - tag_prefix: "" + variant_label: "" + raw_tag_prefix: "" + tag_suffix: "" steps: - name: Download digests uses: actions/download-artifact@v4 @@ -215,13 +229,13 @@ jobs: memohai/${{ matrix.image }} ghcr.io/${{ github.repository_owner }}/${{ matrix.image }} tags: | - type=raw,value=${{ matrix.tag_prefix }}dev,enable=${{ github.ref == 'refs/heads/main' }} - type=raw,value=${{ matrix.tag_prefix }}${{ github.ref_name }}-dev,enable=${{ startsWith(github.ref, 'refs/heads/v') }} - type=raw,value=${{ matrix.tag_prefix }}latest,enable=${{ github.event_name == 'release' || (startsWith(github.ref, 'refs/tags/') && !contains(github.ref_name, '-')) }} - type=ref,event=pr,prefix=${{ matrix.tag_prefix }} - type=semver,pattern=${{ matrix.tag_prefix }}{{version}} - type=semver,pattern=${{ matrix.tag_prefix }}{{major}}.{{minor}} - type=semver,pattern=${{ matrix.tag_prefix }}{{major}} + type=raw,value=${{ matrix.raw_tag_prefix }}dev,enable=${{ github.ref == 'refs/heads/main' }} + type=raw,value=${{ matrix.raw_tag_prefix }}${{ github.ref_name }}-dev,enable=${{ startsWith(github.ref, 'refs/heads/v') }} + type=raw,value=${{ matrix.raw_tag_prefix }}latest,enable=${{ github.event_name == 'release' || (startsWith(github.ref, 'refs/tags/') && !contains(github.ref_name, '-')) }} + type=ref,event=pr + type=semver,pattern={{version}}${{ matrix.tag_suffix }} + type=semver,pattern={{major}}.{{minor}}${{ matrix.tag_suffix }} + type=semver,pattern={{major}}${{ matrix.tag_suffix }} - name: Create manifest list and push working-directory: /tmp/digests diff --git a/scripts/install.sh b/scripts/install.sh index 0e33dfd5..ab0b47d5 100755 --- a/scripts/install.sh +++ b/scripts/install.sh @@ -232,23 +232,27 @@ mkdir -p "$MEMOH_DATA_DIR" # Resolve browser tag and cores from BROWSER_CORE selection case "$BROWSER_CORE" in firefox) - BROWSER_TAG_SUFFIX="firefox-" + BROWSER_TAG_VARIANT="firefox" BROWSER_CORES="firefox" ;; all) - BROWSER_TAG_SUFFIX="" + BROWSER_TAG_VARIANT="" BROWSER_CORES="chromium,firefox" ;; *) - BROWSER_TAG_SUFFIX="chromium-" + BROWSER_TAG_VARIANT="chromium" BROWSER_CORES="chromium" ;; esac -if [ "$MEMOH_DOCKER_VERSION" != "latest" ]; then - BROWSER_TAG="${BROWSER_TAG_SUFFIX}${MEMOH_DOCKER_VERSION}" +if [ -n "$BROWSER_TAG_VARIANT" ]; then + if [ "$MEMOH_DOCKER_VERSION" != "latest" ]; then + BROWSER_TAG="${MEMOH_DOCKER_VERSION}-${BROWSER_TAG_VARIANT}" + else + BROWSER_TAG="${BROWSER_TAG_VARIANT}-latest" + fi else - BROWSER_TAG="${BROWSER_TAG_SUFFIX}latest" + BROWSER_TAG="${MEMOH_DOCKER_VERSION}" fi COMPOSE_FILES="-f docker-compose.yml"