Some checks failed
Build & Push Forge-Kasm / docker (push) Failing after 53s
67 lines
2.1 KiB
YAML
67 lines
2.1 KiB
YAML
name: Build & Push Forge-Kasm
|
|
|
|
on:
|
|
push:
|
|
branches: [ main ]
|
|
|
|
jobs:
|
|
docker:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout repo
|
|
uses: actions/checkout@v3
|
|
|
|
- name: Install Dependencies
|
|
run: |
|
|
apt-get update && apt-get install -y curl jq docker.io
|
|
|
|
- name: Get Forge Snapshot Tag
|
|
id: get_tag
|
|
run: |
|
|
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')
|
|
|
|
echo "Snapshot URL: $SNAPSHOT_URL"
|
|
|
|
SNAPSHOT_NAME=$(basename "$SNAPSHOT_URL")
|
|
echo "Snapshot file: $SNAPSHOT_NAME"
|
|
|
|
# Extract the "06.11" part from something like: forge-installer-2.0.05-SNAPSHOT-06.11.tar.bz2
|
|
SNAPSHOT_TAG=$(echo "$SNAPSHOT_NAME" | sed -E 's/.*SNAPSHOT-([0-9]+\.[0-9]+)\.tar\.bz2/\1/')
|
|
|
|
echo "Using tag: $SNAPSHOT_TAG"
|
|
echo "snapshot_tag=$SNAPSHOT_TAG" >> "$GITHUB_OUTPUT"
|
|
|
|
- name: Set up Docker Buildx
|
|
uses: docker/setup-buildx-action@v2
|
|
|
|
- name: Login to Docker Hub
|
|
run: echo "${{ secrets.DOCKERHUB_PASSWORD }}" | docker login -u "${{ secrets.DOCKERHUB_USERNAME }}" --password-stdin
|
|
|
|
- name: Build and Push Docker Image
|
|
run: |
|
|
IMAGE=forge-kasm
|
|
USERNAME=${{ secrets.DOCKERHUB_USERNAME }}
|
|
TAG=${{ steps.get_tag.outputs.snapshot_tag }}
|
|
|
|
echo "Building Docker image as: $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: 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
|