Skip to content

Commit 238de49

Browse files
committed
feat: add ARM64 musl binary support for complete Alpine coverage
- Download radar-agent-linux-arm64-musl binary from radar repo - Update Alpine Dockerfile to use ARM64 musl binary instead of glibc - Remove libgcc dependency (no longer needed with musl binary) - Add radar-agent-linux-arm64-musl to release artifacts - Update release notes with ARM64 musl download instructions This completes the multi-platform support matrix: - Debian images: AMD64 glibc + ARM64 glibc - Alpine images: AMD64 musl + ARM64 musl All platforms now use the correct libc for their base image.
1 parent 13c53c3 commit 238de49

File tree

2 files changed

+14
-7
lines changed

2 files changed

+14
-7
lines changed

.github/workflows/release.yml

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,8 @@ jobs:
3434
cp ./binaries/radar-agent-linux/radar-agent-linux ./radar-agent-linux
3535
cp ./binaries/radar-agent-linux-musl/radar-agent-linux-musl ./radar-agent-linux-musl
3636
cp ./binaries/radar-agent-linux-arm64/radar-agent-linux-arm64 ./radar-agent-linux-arm64
37+
radar-agent-linux-arm64-musl
38+
cp ./binaries/radar-agent-linux-arm64-musl/radar-agent-linux-arm64-musl ./radar-agent-linux-arm64-musl
3739
cp ./binaries/radar-agent-darwin/radar-agent-darwin ./radar-agent-darwin
3840
3941
# Make binaries executable
@@ -53,6 +55,7 @@ jobs:
5355
radar-agent-linux
5456
radar-agent-linux-musl
5557
radar-agent-linux-arm64
58+
radar-agent-linux-arm64-musl
5659
radar-agent-darwin
5760
retention-days: 1
5861

@@ -172,6 +175,7 @@ jobs:
172175
radar-agent-linux
173176
radar-agent-linux-musl
174177
radar-agent-linux-arm64
178+
radar-agent-linux-arm64-musl
175179
radar-agent-darwin
176180
make_latest: true
177181
body: |
@@ -189,7 +193,12 @@ jobs:
189193
curl -L "https://github.com/redis-field-engineering/radar-agent/releases/download/${{ steps.tag.outputs.tag_name }}/radar-agent-linux-musl" -o radar-agent
190194
```
191195
192-
**Linux ARM64:**
196+
**Linux ARM64 (glibc):**
197+
198+
**Linux ARM64 (musl - for Alpine):**
199+
```bash
200+
curl -L "https://github.com/redis-field-engineering/radar-agent/releases/download/${{ steps.tag.outputs.tag_name }}/radar-agent-linux-arm64-musl" -o radar-agent
201+
```
193202
```bash
194203
curl -L "https://github.com/redis-field-engineering/radar-agent/releases/download/${{ steps.tag.outputs.tag_name }}/radar-agent-linux-arm64" -o radar-agent
195204
```

docker/Dockerfile.alpine.multiplatform

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,7 @@ LABEL org.opencontainers.image.source="https://github.com/redis-field-engineerin
1010
# Install required packages and create user
1111
RUN apk add --no-cache \
1212
ca-certificates \
13-
curl \
14-
libgcc && \
13+
curl && \
1514
adduser -D -g "" appuser
1615

1716
# Create necessary directories
@@ -22,13 +21,12 @@ RUN mkdir -p /certs /etc/agent /home/appuser/bin && \
2221
COPY --chown=appuser:appuser radar-agent-config-sample.yml /etc/agent/config.yaml
2322

2423
# Copy the correct binary based on architecture
25-
# For Alpine, we use musl binaries
26-
# Note: Currently we only have musl for amd64, so arm64 will use glibc binary
24+
# For Alpine, we use musl binaries for both AMD64 and ARM64
2725
COPY radar-agent-linux* /tmp/
2826
RUN if [ "$TARGETARCH" = "amd64" ]; then \
29-
cp /tmp/radar-agent-linux-musl /usr/local/bin/radar-agent || cp /tmp/radar-agent-linux /usr/local/bin/radar-agent; \
27+
cp /tmp/radar-agent-linux-musl /usr/local/bin/radar-agent; \
3028
elif [ "$TARGETARCH" = "arm64" ]; then \
31-
cp /tmp/radar-agent-linux-arm64 /usr/local/bin/radar-agent; \
29+
cp /tmp/radar-agent-linux-arm64-musl /usr/local/bin/radar-agent; \
3230
fi && \
3331
chmod +x /usr/local/bin/radar-agent && \
3432
rm -rf /tmp/radar-agent-*

0 commit comments

Comments
 (0)