Skip to content

Commit b91cb8d

Browse files
authored
Merge pull request #504 from stacklok/fix-image
Fix release download
2 parents fe5a19e + cb433e2 commit b91cb8d

File tree

2 files changed

+18
-9
lines changed

2 files changed

+18
-9
lines changed

Diff for: .github/workflows/image-build.yml

+3-3
Original file line numberDiff line numberDiff line change
@@ -20,10 +20,10 @@ jobs:
2020
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
2121
- name: Set up Docker Buildx
2222
uses: docker/setup-buildx-action@6524bf65af31da8d45b59e8c27de4bd072b392f5 # v3
23-
- name: Fetch latest FE commit SHA
24-
id: fetch_commit_fe_sha
23+
- name: Fetch latest release URL
24+
id: fetch_release_url
2525
run: |
26-
echo "LATEST_RELEASE=$(curl -s "https://api.github.com/repos/stacklok/codegate-ui/releases/latest" | grep '"zipball_url":' | cut -d '"' -f 4)" >> $GITHUB_ENV
26+
echo "LATEST_RELEASE=$(curl -s "https://api.github.com/repos/stacklok/codegate-ui/releases/latest" | jq -r '.zipball_url')" >> $GITHUB_ENV
2727
- name: Test build on x86
2828
id: docker_build
2929
uses: docker/build-push-action@48aba3b46d1b1fec4febb7c5d0c644b249a11355 # v5

Diff for: Dockerfile

+15-6
Original file line numberDiff line numberDiff line change
@@ -24,20 +24,29 @@ COPY . /app
2424
# Build the webapp
2525
FROM node:23-slim AS webbuilder
2626

27+
28+
2729
# Install curl for downloading the webapp from GH and unzip to extract it
2830
RUN apt-get update && apt-get install -y --no-install-recommends \
2931
curl \
32+
jq \
3033
unzip\
3134
ca-certificates
3235

3336
WORKDIR /usr/src/
3437

35-
# To ensure we always download the latest release of the webapp, we use a build argument.
36-
# This prevents the curl command from being cached by Docker.
38+
# Set build arg for latest release URL (optional)
39+
ARG LATEST_RELEASE
3740

38-
ARG LATEST_RELEASE=LATEST
39-
RUN echo "Latest FE release: $LATEST_RELEASE"
40-
RUN LATEST_RELEASE=${LATEST_RELEASE} curl -L -o main.zip ${LATEST_RELEASE}
41+
# Download the latest release - if LATEST_RELEASE is provided use it, otherwise fetch from API
42+
RUN if [ -n "$LATEST_RELEASE" ]; then \
43+
echo "Using provided release URL" && \
44+
curl -L -o main.zip "${LATEST_RELEASE}"; \
45+
else \
46+
echo "Fetching latest release URL" && \
47+
curl -s https://api.github.com/repos/stacklok/codegate-ui/releases/latest | \
48+
jq -r '.zipball_url' | xargs curl -L -o main.zip; \
49+
fi
4150

4251
# Extract the downloaded zip file
4352
RUN unzip main.zip
@@ -111,4 +120,4 @@ USER codegate
111120

112121
# Set the container's default entrypoint
113122
EXPOSE 8989
114-
ENTRYPOINT ["/app/scripts/entrypoint.sh"]
123+
ENTRYPOINT ["/app/scripts/entrypoint.sh"]

0 commit comments

Comments
 (0)