aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMohamed Bassem <me@mbassem.com>2025-12-03 16:49:22 +0000
committerMohamed Bassem <me@mbassem.com>2025-12-03 16:49:22 +0000
commitde98873a06a25084eb2d3bcabda158f23c081672 (patch)
tree0198cf157416abb71e2ea689af86e27865f5889a
parent20081a3a6c790a6e3315310a76a2dbeefdbc56bd (diff)
downloadkarakeep-de98873a06a25084eb2d3bcabda158f23c081672.tar.zst
build: dont update latest tags on release
-rw-r--r--.github/workflows/docker.yml27
1 files changed, 19 insertions, 8 deletions
diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml
index 4f1a4edc..0503a254 100644
--- a/.github/workflows/docker.yml
+++ b/.github/workflows/docker.yml
@@ -77,16 +77,22 @@ jobs:
echo "${out%,}"
}
- latest_with_suffix=$(add_suffix "${{ matrix.tags_latest }}")
- all_tags="${latest_with_suffix}"
+ all_tags=""
+ # Only push 'latest' tags on pushes to main, not on releases
+ if [[ "${{ github.event_name }}" == "push" ]]; then
+ latest_with_suffix=$(add_suffix "${{ matrix.tags_latest }}")
+ all_tags="${latest_with_suffix}"
+ echo "latest=${latest_with_suffix}" >> "$GITHUB_OUTPUT"
+ fi
+
+ # Only push release-specific tags on releases
if [[ "${{ github.event_name }}" == "release" ]]; then
release_with_suffix=$(add_suffix "${{ matrix.tags_release }}")
- all_tags="${all_tags},${release_with_suffix}"
+ all_tags="${release_with_suffix}"
echo "release=${release_with_suffix}" >> "$GITHUB_OUTPUT"
fi
- echo "latest=${latest_with_suffix}" >> "$GITHUB_OUTPUT"
echo "all=${all_tags}" >> "$GITHUB_OUTPUT"
- name: Build ${{ matrix.name }}
@@ -143,6 +149,7 @@ jobs:
TAGS_LATEST: ${{ matrix.tags_latest }}
TAGS_RELEASE: ${{ matrix.tags_release }}
IS_RELEASE: ${{ github.event_name == 'release' }}
+ IS_PUSH: ${{ github.event_name == 'push' }}
run: |
set -euo pipefail
@@ -154,11 +161,15 @@ jobs:
"${tag}-arm64"
}
- IFS=',' read -ra latest_tags <<< "${TAGS_LATEST}"
- for tag in "${latest_tags[@]}"; do
- create_manifest "$tag"
- done
+ # Only create 'latest' manifests on pushes to main
+ if [[ "${IS_PUSH}" == "true" ]]; then
+ IFS=',' read -ra latest_tags <<< "${TAGS_LATEST}"
+ for tag in "${latest_tags[@]}"; do
+ create_manifest "$tag"
+ done
+ fi
+ # Only create release-specific manifests on releases
if [[ "${IS_RELEASE}" == "true" ]]; then
IFS=',' read -ra release_tags <<< "${TAGS_RELEASE}"
for tag in "${release_tags[@]}"; do