name: Build and Push Minecraft Docker Images on: push: branches: - master paths: - 'vanilla/Dockerfile' - 'testing/Dockerfile' - 'fabric/Dockerfile' - 'vanilla/**' - 'testing/**' - 'fabric/**' jobs: build: runs-on: docker-build steps: - name: Checkout code uses: actions/checkout@v3 # - name: Set up QEMU for multi-platform builds # uses: docker/setup-qemu-action@v2 - name: Set image tags and names id: vars run: | IMAGE_REGISTRY=gitea.fithwum.tech IMAGE_ORG=fithwum IMAGE_REPO=minecraft IMAGE_NAME=minecraft # Set the tag based on the folder name (vanilla, TESTING, fabric) IMAGE_TAG_VANILLA=vanilla IMAGE_TAG_TESTING=testing IMAGE_TAG_FABRIC=fabric echo "IMAGE_TAG_VANILLA=${IMAGE_TAG_VANILLA}" >> $GITHUB_ENV echo "IMAGE_TAG_TESTING=${IMAGE_TAG_TESTING}" >> $GITHUB_ENV echo "IMAGE_TAG_FABRIC=${IMAGE_TAG_FABRIC}" >> $GITHUB_ENV # Set image names for each subfolder Dockerfile IMAGE_VANILLA=${IMAGE_REGISTRY}/${IMAGE_ORG}/${IMAGE_NAME}:${IMAGE_TAG_VANILLA} IMAGE_TESTING=${IMAGE_REGISTRY}/${IMAGE_ORG}/${IMAGE_NAME}:${IMAGE_TAG_TESTING} IMAGE_FABRIC=${IMAGE_REGISTRY}/${IMAGE_ORG}/${IMAGE_NAME}:${IMAGE_TAG_FABRIC} echo "IMAGE_VANILLA=${IMAGE_VANILLA}" >> $GITHUB_ENV echo "IMAGE_TESTING=${IMAGE_TESTING}" >> $GITHUB_ENV echo "IMAGE_FABRIC=${IMAGE_FABRIC}" >> $GITHUB_ENV - name: Set up Docker Buildx uses: docker/setup-buildx-action@v3 - name: Log in to Gitea Registry run: echo "${{ secrets.DOCKER_PASSWORD }}" | docker login gitea.fithwum.tech -u "${{ secrets.DOCKER_USERNAME }}" --password-stdin # Build and Push Docker Images for vanilla, testing, fabric, docker-build - name: Build and Push vanilla Docker Image run: | docker buildx build --platform linux/amd64 \ --push -t ${IMAGE_VANILLA} \ ./vanilla - name: Build and Push testing Docker Image run: | docker buildx build --platform linux/amd64 \ --push -t ${IMAGE_TESTING} \ ./testing - name: Build and Push fabric Docker Image run: | docker buildx build --platform linux/amd64 \ --push -t ${IMAGE_FABRIC} \ ./minecraft-fabric