Skip to content

Commit 4785fed

Browse files
authored
Change binary format to match krew bot (#78)
* Change binary format to match krew bot Signed-off-by: Joseph <jvaikath@redhat.com> * Fix dependency on binary format Signed-off-by: Joseph <jvaikath@redhat.com> * Fix format Signed-off-by: Joseph <jvaikath@redhat.com> * New format instructions Signed-off-by: Joseph <jvaikath@redhat.com> --------- Signed-off-by: Joseph <jvaikath@redhat.com>
1 parent 42863bb commit 4785fed

File tree

5 files changed

+33
-34
lines changed

5 files changed

+33
-34
lines changed

.github/workflows/release.yml

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -50,14 +50,14 @@ jobs:
5050
5151
# Define the platforms we want for krew (must match oadp.yaml)
5252
declare -a platforms=(
53-
"linux-amd64"
54-
"linux-arm64"
55-
"linux-ppc64le"
56-
"linux-s390x"
57-
"darwin-amd64"
58-
"darwin-arm64"
59-
"windows-amd64"
60-
"windows-arm64"
53+
"linux_amd64"
54+
"linux_arm64"
55+
"linux_ppc64le"
56+
"linux_s390x"
57+
"darwin_amd64"
58+
"darwin_arm64"
59+
"windows_amd64"
60+
"windows_arm64"
6161
)
6262
6363
# Create archives only for krew platforms
@@ -68,9 +68,9 @@ jobs:
6868
if [[ -f "$binary" ]]; then
6969
echo "Creating archive for $platform..."
7070
cp "$binary" kubectl-oadp.exe
71-
tar -czf "kubectl-oadp-${platform}.tar.gz" kubectl-oadp.exe LICENSE
71+
tar -czf "kubectl-oadp_${{ github.ref_name }}_${platform}.tar.gz" kubectl-oadp.exe LICENSE
7272
rm kubectl-oadp.exe
73-
echo "✅ Created kubectl-oadp-${platform}.tar.gz"
73+
echo "✅ Created kubectl-oadp_${{ github.ref_name }}_${platform}.tar.gz"
7474
else
7575
echo "❌ Binary not found: $binary"
7676
exit 1
@@ -81,9 +81,9 @@ jobs:
8181
if [[ -f "$binary" ]]; then
8282
echo "Creating archive for $platform..."
8383
cp "$binary" kubectl-oadp
84-
tar -czf "kubectl-oadp-${platform}.tar.gz" kubectl-oadp LICENSE
84+
tar -czf "kubectl-oadp_${{ github.ref_name }}_${platform}.tar.gz" kubectl-oadp LICENSE
8585
rm kubectl-oadp
86-
echo "✅ Created kubectl-oadp-${platform}.tar.gz"
86+
echo "✅ Created kubectl-oadp_${{ github.ref_name }}_${platform}.tar.gz"
8787
else
8888
echo "❌ Binary not found: $binary"
8989
exit 1
@@ -111,12 +111,12 @@ jobs:
111111
112112
# Set environment variables for template substitution
113113
export VERSION="${{ github.ref_name }}"
114-
export LINUX_AMD64_SHA=$(grep "kubectl-oadp-linux-amd64.tar.gz" checksums.txt | cut -d' ' -f1)
115-
export LINUX_ARM64_SHA=$(grep "kubectl-oadp-linux-arm64.tar.gz" checksums.txt | cut -d' ' -f1)
116-
export DARWIN_AMD64_SHA=$(grep "kubectl-oadp-darwin-amd64.tar.gz" checksums.txt | cut -d' ' -f1)
117-
export DARWIN_ARM64_SHA=$(grep "kubectl-oadp-darwin-arm64.tar.gz" checksums.txt | cut -d' ' -f1)
118-
export WINDOWS_AMD64_SHA=$(grep "kubectl-oadp-windows-amd64.tar.gz" checksums.txt | cut -d' ' -f1)
119-
export WINDOWS_ARM64_SHA=$(grep "kubectl-oadp-windows-arm64.tar.gz" checksums.txt | cut -d' ' -f1)
114+
export LINUX_AMD64_SHA=$(grep "kubectl-oadp_${{ github.ref_name }}_linux_amd64.tar.gz" checksums.txt | cut -d' ' -f1)
115+
export LINUX_ARM64_SHA=$(grep "kubectl-oadp_${{ github.ref_name }}_linux_arm64.tar.gz" checksums.txt | cut -d' ' -f1)
116+
export DARWIN_AMD64_SHA=$(grep "kubectl-oadp_${{ github.ref_name }}_darwin_amd64.tar.gz" checksums.txt | cut -d' ' -f1)
117+
export DARWIN_ARM64_SHA=$(grep "kubectl-oadp_${{ github.ref_name }}_darwin_arm64.tar.gz" checksums.txt | cut -d' ' -f1)
118+
export WINDOWS_AMD64_SHA=$(grep "kubectl-oadp_${{ github.ref_name }}_windows_amd64.tar.gz" checksums.txt | cut -d' ' -f1)
119+
export WINDOWS_ARM64_SHA=$(grep "kubectl-oadp_${{ github.ref_name }}_windows_arm64.tar.gz" checksums.txt | cut -d' ' -f1)
120120
121121
# Validate all checksums were found
122122
if [[ -z "$LINUX_AMD64_SHA" || -z "$LINUX_ARM64_SHA" || -z "$DARWIN_AMD64_SHA" || -z "$DARWIN_ARM64_SHA" || -z "$WINDOWS_AMD64_SHA" || -z "$WINDOWS_ARM64_SHA" ]]; then

Dockerfile.download

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ COPY . .
1414
RUN make release-build && \
1515
CGO_ENABLED=0 go build -o download-server ./cmd/downloads/server.go && \
1616
mkdir -p /archives && \
17-
for binary in kubectl-oadp-*; do \
17+
for binary in kubectl-oadp_*; do \
1818
archive_name=$(echo "$binary" | sed 's/\.exe$//' ).tar.gz; \
1919
tar -czf "/archives/$archive_name" "$binary"; \
2020
echo "Created /archives/$archive_name"; \

Makefile

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -387,7 +387,7 @@ release-build: ## Build binaries for all platforms
387387
echo "Building for $$GOOS/$$GOARCH..."; \
388388
GOOS=$$GOOS GOARCH=$$GOARCH go build -o $$binary_name .; \
389389
echo "✅ Built $$binary_name for $$GOOS/$$GOARCH"; \
390-
mv $$binary_name $(BINARY_NAME)-$$GOOS-$$GOARCH$${binary_name#$(BINARY_NAME)}; \
390+
mv $$binary_name $(BINARY_NAME)_${VERSION}_$$GOOS_$$GOARCH$${binary_name#$(BINARY_NAME)}; \
391391
done
392392
@echo "✅ All release binaries built successfully!"
393393

@@ -406,9 +406,9 @@ release-archives: release-build ## Create tar.gz archives for all platforms (inc
406406
else \
407407
binary_name="$(BINARY_NAME)"; \
408408
fi; \
409-
archive_name="$(BINARY_NAME)-$$GOOS-$$GOARCH.tar.gz"; \
409+
archive_name="$(BINARY_NAME)_${VERSION}_$$GOOS_$$GOARCH.tar.gz"; \
410410
echo "Creating $$archive_name..."; \
411-
tar czf $$archive_name LICENSE $(BINARY_NAME)-$$GOOS-$$GOARCH$${binary_name#$(BINARY_NAME)}; \
411+
tar czf $$archive_name LICENSE $(BINARY_NAME)_${VERSION}_$$GOOS_$$GOARCH$${binary_name#$(BINARY_NAME)}; \
412412
sha256sum $$archive_name > $$archive_name.sha256; \
413413
echo "✅ Created $$archive_name with LICENSE"; \
414414
done
@@ -443,7 +443,7 @@ content = re.sub(r'download/v1\.0\.0/', f'download/{version}/', content); \
443443
\
444444
for goos, goarch in platforms: \
445445
binary_suffix = '.exe' if goos == 'windows' else ''; \
446-
sha_file = f'kubectl-oadp-{goos}-{goarch}.tar.gz.sha256'; \
446+
sha_file = f'kubectl-oadp_${VERSION}_{goos}_{goarch}.tar.gz.sha256'; \
447447
if os.path.exists(sha_file): \
448448
with open(sha_file, 'r') as sf: \
449449
sha256 = sf.read().split()[0]; \
@@ -464,7 +464,7 @@ print(f'✅ Krew manifest generated: oadp-{version}.yaml'); \
464464
for platform in $(PLATFORMS); do \
465465
GOOS=$$(echo $$platform | cut -d'/' -f1); \
466466
GOARCH=$$(echo $$platform | cut -d'/' -f2); \
467-
sha_file="kubectl-oadp-$$GOOS-$$GOARCH.tar.gz.sha256"; \
467+
sha_file="kubectl-oadp_${VERSION}_$$GOOS_$$GOARCH.tar.gz.sha256"; \
468468
if [ -f "$$sha_file" ]; then \
469469
sha256=$$(cat $$sha_file | cut -d' ' -f1); \
470470
echo " ✅ $$GOOS/$$GOARCH: $$sha256"; \

cmd/downloads/server.go

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -57,10 +57,9 @@ func listBinaries(w http.ResponseWriter, r *http.Request) {
5757

5858
fmt.Fprintf(w, "</ul>")
5959
fmt.Fprintf(w, "<h3>Installation:</h3>")
60-
fmt.Fprintf(w, "<pre>tar -xzf kubectl-oadp-&lt;platform&gt;.tar.gz\n")
60+
fmt.Fprintf(w, "<pre>tar -xzf kubectl-oadp_*.tar.gz\n")
6161
fmt.Fprintf(w, "chmod +x kubectl-oadp\n")
6262
fmt.Fprintf(w, "sudo mv kubectl-oadp /usr/local/bin/</pre>")
63-
fmt.Fprintf(w, "</body></html>")
6463
}
6564

6665
func downloadBinary(w http.ResponseWriter, r *http.Request) {

oadp.yaml

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ spec:
3030
matchLabels:
3131
os: linux
3232
arch: amd64
33-
uri: https://github.com/migtools/oadp-cli/releases/download/${VERSION}/kubectl-oadp-linux-amd64.tar.gz
33+
uri: https://github.com/migtools/oadp-cli/releases/download/${VERSION}/kubectl-oadp_${VERSION}_linux_amd64.tar.gz
3434
sha256: "${LINUX_AMD64_SHA}"
3535
files:
3636
- from: kubectl-oadp
@@ -42,7 +42,7 @@ spec:
4242
matchLabels:
4343
os: linux
4444
arch: arm64
45-
uri: https://github.com/migtools/oadp-cli/releases/download/${VERSION}/kubectl-oadp-linux-arm64.tar.gz
45+
uri: https://github.com/migtools/oadp-cli/releases/download/${VERSION}/kubectl-oadp_${VERSION}_linux_arm64.tar.gz
4646
sha256: "${LINUX_ARM64_SHA}"
4747
files:
4848
- from: kubectl-oadp
@@ -54,7 +54,7 @@ spec:
5454
matchLabels:
5555
os: linux
5656
arch: ppc64le
57-
uri: https://github.com/migtools/oadp-cli/releases/download/${VERSION}/kubectl-oadp-linux-ppc64le.tar.gz
57+
uri: https://github.com/migtools/oadp-cli/releases/download/${VERSION}/kubectl-oadp_${VERSION}_linux_ppc64le.tar.gz
5858
sha256: "${LINUX_PPC64LE_SHA}"
5959
files:
6060
- from: kubectl-oadp
@@ -66,7 +66,7 @@ spec:
6666
matchLabels:
6767
os: linux
6868
arch: s390x
69-
uri: https://github.com/migtools/oadp-cli/releases/download/${VERSION}/kubectl-oadp-linux-s390x.tar.gz
69+
uri: https://github.com/migtools/oadp-cli/releases/download/${VERSION}/kubectl-oadp_${VERSION}_linux_s390x.tar.gz
7070
sha256: "${LINUX_S390X_SHA}"
7171
files:
7272
- from: kubectl-oadp
@@ -78,7 +78,7 @@ spec:
7878
matchLabels:
7979
os: darwin
8080
arch: amd64
81-
uri: https://github.com/migtools/oadp-cli/releases/download/${VERSION}/kubectl-oadp-darwin-amd64.tar.gz
81+
uri: https://github.com/migtools/oadp-cli/releases/download/${VERSION}/kubectl-oadp_${VERSION}_darwin_amd64.tar.gz
8282
sha256: "${DARWIN_AMD64_SHA}"
8383
files:
8484
- from: kubectl-oadp
@@ -90,7 +90,7 @@ spec:
9090
matchLabels:
9191
os: darwin
9292
arch: arm64
93-
uri: https://github.com/migtools/oadp-cli/releases/download/${VERSION}/kubectl-oadp-darwin-arm64.tar.gz
93+
uri: https://github.com/migtools/oadp-cli/releases/download/${VERSION}/kubectl-oadp_${VERSION}_darwin_arm64.tar.gz
9494
sha256: "${DARWIN_ARM64_SHA}"
9595
files:
9696
- from: kubectl-oadp
@@ -102,7 +102,7 @@ spec:
102102
matchLabels:
103103
os: windows
104104
arch: amd64
105-
uri: https://github.com/migtools/oadp-cli/releases/download/${VERSION}/kubectl-oadp-windows-amd64.tar.gz
105+
uri: https://github.com/migtools/oadp-cli/releases/download/${VERSION}/kubectl-oadp_${VERSION}_windows_amd64.tar.gz
106106
sha256: "${WINDOWS_AMD64_SHA}"
107107
files:
108108
- from: kubectl-oadp.exe
@@ -114,7 +114,7 @@ spec:
114114
matchLabels:
115115
os: windows
116116
arch: arm64
117-
uri: https://github.com/migtools/oadp-cli/releases/download/${VERSION}/kubectl-oadp-windows-arm64.tar.gz
117+
uri: https://github.com/migtools/oadp-cli/releases/download/${VERSION}/kubectl-oadp_${VERSION}_windows_arm64.tar.gz
118118
sha256: "${WINDOWS_ARM64_SHA}"
119119
files:
120120
- from: kubectl-oadp.exe

0 commit comments

Comments
 (0)