diff --git a/.gitea/workflows/base-build.yml b/.gitea/workflows/base-build.yml new file mode 100644 index 0000000..987da85 --- /dev/null +++ b/.gitea/workflows/base-build.yml @@ -0,0 +1,72 @@ +name: Build and Push Multi-Arch Docker Images + +on: + push: + branches: + - main + 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 image tags and names + id: vars + run: | + IMAGE_REGISTRY=gitea.fithwum.tech + IMAGE_ORG=fithwum + IMAGE_REPO=base-image + IMAGE_NAME=debian + + # 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_REPO}/${IMAGE_NAME}:${IMAGE_TAG_VANILLA} + IMAGE_TESTING=${IMAGE_REGISTRY}/${IMAGE_ORG}/${IMAGE_REPO}/${IMAGE_NAME}:${IMAGE_TAG_TESTING} + IMAGE_FABRIC=${IMAGE_REGISTRY}/${IMAGE_ORG}/${IMAGE_REPO}/${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,linux/arm64 \ + --push -t ${IMAGE_VANILLA} \ + ./minecraft/vanilla + + - name: Build and Push testing Docker Image + run: | + docker buildx build --platform linux/amd64,linux/arm64 \ + --push -t ${IMAGE_TESTING} \ + ./minecraft/testing + + - name: Build and Push fabric Docker Image + run: | + docker buildx build --platform linux/amd64,linux/arm64 \ + --push -t ${IMAGE_FABRIC} \ + ./minecraft/fabric