diff --git a/.gitea/workflows/build-and-push.yaml b/.gitea/workflows/build-and-push.yaml index 4a8715c..689795b 100644 --- a/.gitea/workflows/build-and-push.yaml +++ b/.gitea/workflows/build-and-push.yaml @@ -44,16 +44,23 @@ jobs: USERNAME=${{ secrets.DOCKERHUB_USERNAME }} TAG=${{ steps.get_tag.outputs.snapshot_tag }} - echo "Building and pushing image as: $USERNAME/$IMAGE:$TAG" + echo "Building Docker image as: $USERNAME/$IMAGE:$TAG" - docker build -t $USERNAME/$IMAGE:$TAG . + docker build \ + --build-arg FORGE_SNAPSHOT_TAG=$TAG \ + -t $USERNAME/$IMAGE:$TAG . + + echo "Pushing Docker image: $USERNAME/$IMAGE:$TAG" docker push $USERNAME/$IMAGE:$TAG - - name: (Optional) Also Push 'latest' Tag + - name: Also Push 'latest' Tag run: | IMAGE=forge-kasm USERNAME=${{ secrets.DOCKERHUB_USERNAME }} TAG=${{ steps.get_tag.outputs.snapshot_tag }} + echo "Tagging image as 'latest'" docker tag $USERNAME/$IMAGE:$TAG $USERNAME/$IMAGE:latest + + echo "Pushing Docker image: $USERNAME/$IMAGE:latest" docker push $USERNAME/$IMAGE:latest diff --git a/Dockerfile b/Dockerfile index 01c4f21..4d24b1a 100644 --- a/Dockerfile +++ b/Dockerfile @@ -10,17 +10,22 @@ WORKDIR $HOME ######### Customize Container Here ########### -### Install Java 17 +# Add new ARG +ARG FORGE_SNAPSHOT_TAG + +# Install Java RUN apt-get update && \ apt-get install -y openjdk-17-jdk && \ apt-get clean && \ rm -rf /var/lib/apt/lists/* ### Install Forge to /opt/forge, placing the start file at /opt/forge/forge.sh +# Use snapshot tag in URL to bust cache if it changes WORKDIR /tmp/forge-download RUN apt-get update && apt-get install -y jq curl && \ SNAPSHOT_URL=$(curl -s https://api.github.com/repos/Card-Forge/forge/releases/tags/daily-snapshots \ - | jq -r '.assets[] | select(.name | test("forge-installer-.*\\.tar\\.bz2")) | .browser_download_url') && \ + | jq -r --arg TAG "$FORGE_SNAPSHOT_TAG" '.assets[] | select(.name | contains($TAG)) | .browser_download_url') && \ + echo "Downloading $SNAPSHOT_URL" && \ curl -L "$SNAPSHOT_URL" -o forge.tar.bz2 && \ mkdir -p /opt/forge && \ tar -xjf forge.tar.bz2 -C /opt/forge && \ @@ -46,4 +51,4 @@ ENV HOME /home/kasm-user WORKDIR $HOME RUN mkdir -p $HOME && chown -R 1000:0 $HOME -USER 1000 \ No newline at end of file +USER 1000