Skip to content

Commit 3bccbf9

Browse files
authored
fix: push images properly (#13)
1 parent 576cd8e commit 3bccbf9

File tree

2 files changed

+14
-19
lines changed

2 files changed

+14
-19
lines changed

.github/workflows/enterprise-release.yaml

Lines changed: 1 addition & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -79,27 +79,11 @@ jobs:
7979
make -j \
8080
enterprise/build/exectrace_"$version"_linux_{amd64,arm64,armv7}.tag.pushed
8181
82-
# Tag as latest and push
83-
for arch in amd64 arm64 armv7; do
84-
versioned_tag=$(cat enterprise/build/exectrace_"$version"_linux_"$arch".tag)
85-
latest_tag=$(./enterprise/scripts/image_tag.sh --arch "$arch" --version latest)
86-
87-
docker tag "$versioned_tag" "$latest_tag"
88-
docker push "$latest_tag"
89-
done
90-
9182
- name: Build and push multi-arch Docker image
9283
if: ${{ !github.event.inputs.snapshot && !github.event.inputs.dry_run }}
9384
run: |
9485
set -euxo pipefail
9586
9687
version=$(./ci/scripts/version.sh)
9788
make -j \
98-
enterprise/build/exectrace_"$version"_linux.tag.pushed
99-
100-
# Tag as latest and push
101-
versioned_tag=$(cat enterprise/build/exectrace_"$version"_linux.tag)
102-
latest_tag=$(./enterprise/scripts/image_tag.sh --version latest)
103-
104-
docker tag "$versioned_tag" "$latest_tag"
105-
docker push "$latest_tag"
89+
enterprise/build/exectrace_{"$version",latest}_linux.tag.pushed

Makefile.enterprise

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,9 @@ IMAGES_VERSIONLESS := $(foreach arch, $(ARCHES), $(ENTERPRISE_BUILD)/exectrace
1616
MAIN_IMAGE := $(ENTERPRISE_BUILD)/exectrace_$(VERSION)_linux.tag
1717
MAIN_IMAGE_PUSHED := $(MAIN_IMAGE).pushed
1818

19+
MAIN_IMAGE_LATEST := $(ENTERPRISE_BUILD)/exectrace_latest_linux.tag
20+
MAIN_IMAGE_LATEST_PUSHED := $(MAIN_IMAGE_LATEST).pushed
21+
1922
.PHONY: clean-enterprise
2023
clean-enterprise:
2124
rm -rf "$(ENTERPRISE_BUILD)"
@@ -85,8 +88,12 @@ $(IMAGES_PUSHED): $(ENTERPRISE_BUILD)/exectrace_$(VERSION)_linux_%.tag.pushed: $
8588

8689
# Creating a docker manifest requires the images to be pushed, so this job
8790
# depends on IMAGES_PUSHED instead of IMAGES.
88-
$(MAIN_IMAGE): $(IMAGES_PUSHED)
89-
image_tag="$$(./enterprise/scripts/image_tag.sh --version "$(VERSION)")"
91+
$(MAIN_IMAGE) $(MAIN_IMAGE_LATEST): $(IMAGES_PUSHED)
92+
version="$(VERSION)"
93+
if [[ "$@" == "$(MAIN_IMAGE_LATEST)" ]]; then
94+
version="latest"
95+
fi
96+
image_tag="$$(./enterprise/scripts/image_tag.sh --version "$${version}")"
9097
docker manifest create \
9198
"$${image_tag}" \
9299
$(foreach image, $(IMAGES), "$$(cat "$(image)")")
@@ -96,3 +103,7 @@ $(MAIN_IMAGE): $(IMAGES_PUSHED)
96103
$(MAIN_IMAGE_PUSHED): $(MAIN_IMAGE)
97104
docker manifest push "$$(cat "$<")"
98105
cat "$<" > "$@"
106+
107+
$(MAIN_IMAGE_LATEST_PUSHED): $(MAIN_IMAGE_LATEST)
108+
docker manifest push "$$(cat "$<")"
109+
cat "$<" > "$@"

0 commit comments

Comments
 (0)