diff --git a/.github/workflows/image-build.yml b/.github/workflows/image-build.yml index 5129ef0a..70c7e698 100644 --- a/.github/workflows/image-build.yml +++ b/.github/workflows/image-build.yml @@ -23,7 +23,7 @@ jobs: - name: Fetch latest FE commit SHA id: fetch_commit_fe_sha run: | - echo "LATEST_COMMIT_SHA=$(curl -LSsk 'https://api.github.com/repos/stacklok/codegate-ui/commits?per_page=1' -H 'Authorization: Bearer ${{ secrets.GH_CI_TOKEN }}' | jq -r '.[0].sha')" >> $GITHUB_ENV + echo "LATEST_RELEASE=$(curl -s "https://api.github.com/repos/stacklok/codegate-ui/releases/latest" -H "Authorization: Bearer ${{ secrets.GH_CI_TOKEN }}" | grep '"zipball_url":' | cut -d '"' -f 4)" >> $GITHUB_ENV - name: Test build on x86 id: docker_build uses: docker/build-push-action@48aba3b46d1b1fec4febb7c5d0c644b249a11355 # v5 @@ -38,4 +38,4 @@ jobs: secrets: | gh_token=${{ secrets.GH_CI_TOKEN }} build-args: | - LATEST_COMMIT_SHA=${{ env.LATEST_COMMIT_SHA }} + LATEST_RELEASE=${{ env.LATEST_RELEASE }} diff --git a/.github/workflows/image-publish.yml b/.github/workflows/image-publish.yml index b1ca2800..04d1726d 100644 --- a/.github/workflows/image-publish.yml +++ b/.github/workflows/image-publish.yml @@ -66,8 +66,7 @@ jobs: - name: Fetch latest FE commit SHA id: fetch_commit_fe_sha run: | - echo "LATEST_COMMIT_SHA=$(curl -LSsk 'https://api.github.com/repos/stacklok/codegate-ui/commits?per_page=1' -H 'Authorization: Bearer ${{ secrets.GH_CI_TOKEN }}' | jq -r '.[0].sha')" >> $GITHUB_ENV - echo "Fetched LATEST_COMMIT_SHA: $LATEST_COMMIT_SHA" + echo "LATEST_RELEASE=$(curl -s "https://api.github.com/repos/stacklok/codegate-ui/releases/latest" -H "Authorization: Bearer ${{ secrets.GH_CI_TOKEN }}" | grep '"zipball_url":' | cut -d '"' -f 4)" >> $GITHUB_ENV - name: Rename to accommodate to image run: mv ./backup_weaviate ./weaviate_backup - name: Download git lfs dependencies @@ -88,7 +87,7 @@ jobs: secrets: | gh_token=${{ secrets.GH_CI_TOKEN }} build-args: | - LATEST_COMMIT_SHA=${{ env.LATEST_COMMIT_SHA }} + LATEST_RELEASE=${{ env.LATEST_RELEASE }} - name: Capture Image Digest id: image-digest run: | diff --git a/Dockerfile b/Dockerfile index 578743e1..c4cd3829 100644 --- a/Dockerfile +++ b/Dockerfile @@ -32,11 +32,13 @@ RUN apt-get update && apt-get install -y --no-install-recommends \ WORKDIR /usr/src/ +# To ensure we always download the latest release of the webapp, we use a build argument. +# This prevents the curl command from being cached by Docker. +ARG LATEST_RELEASE=LATEST +RUN echo "Latest FE release: $LATEST_RELEASE" RUN --mount=type=secret,id=gh_token \ - curl -s -H "Authorization: Bearer $(cat /run/secrets/gh_token)" https://api.github.com/repos/stacklok/codegate-ui/releases/latest \ - | grep '"zipball_url":' \ - | cut -d '"' -f 4 \ - | xargs -n 1 -I {} curl -L -H "Authorization: Bearer $(cat /run/secrets/gh_token)" -o main.zip {} + LATEST_RELEASE=${LATEST_RELEASE} \ + curl -L -H "Authorization: Bearer $(cat /run/secrets/gh_token)" -o main.zip ${LATEST_RELEASE} # Extract the downloaded zip file RUN unzip main.zip