diff options
| author | Mohamed Bassem <me@mbassem.com> | 2025-12-03 16:49:22 +0000 |
|---|---|---|
| committer | Mohamed Bassem <me@mbassem.com> | 2025-12-03 16:49:22 +0000 |
| commit | de98873a06a25084eb2d3bcabda158f23c081672 (patch) | |
| tree | 0198cf157416abb71e2ea689af86e27865f5889a | |
| parent | 20081a3a6c790a6e3315310a76a2dbeefdbc56bd (diff) | |
| download | karakeep-de98873a06a25084eb2d3bcabda158f23c081672.tar.zst | |
build: dont update latest tags on release
| -rw-r--r-- | .github/workflows/docker.yml | 27 |
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 |
