name: Build and Push Multi-Arch Docker Images on: push: branches: - main paths: - 'debian/buster/**' - 'debian/bullseye/**' - 'debian/bookworm/**' - 'debian/docker-build/**' 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 (buster, bullseye, bookworm, docker-build) IMAGE_TAG_BUSTER=buster IMAGE_TAG_BULLSEYE=bullseye IMAGE_TAG_BOOKWORM=bookworm IMAGE_TAG_DOCKER_BUILD=docker-build echo "IMAGE_TAG_BUSTER=${IMAGE_TAG_BUSTER}" >> $GITHUB_ENV echo "IMAGE_TAG_BULLSEYE=${IMAGE_TAG_BULLSEYE}" >> $GITHUB_ENV echo "IMAGE_TAG_BOOKWORM=${IMAGE_TAG_BOOKWORM}" >> $GITHUB_ENV echo "IMAGE_TAG_DOCKER_BUILD=${IMAGE_TAG_DOCKER_BUILD}" >> $GITHUB_ENV # Set image names for each subfolder Dockerfile IMAGE_BUSTER=${IMAGE_REGISTRY}/${IMAGE_ORG}/${IMAGE_REPO}/${IMAGE_NAME}:${IMAGE_TAG_BUSTER} IMAGE_BULLSEYE=${IMAGE_REGISTRY}/${IMAGE_ORG}/${IMAGE_REPO}/${IMAGE_NAME}:${IMAGE_TAG_BULLSEYE} IMAGE_BOOKWORM=${IMAGE_REGISTRY}/${IMAGE_ORG}/${IMAGE_REPO}/${IMAGE_NAME}:${IMAGE_TAG_BOOKWORM} IMAGE_DOCKER_BUILD=${IMAGE_REGISTRY}/${IMAGE_ORG}/${IMAGE_REPO}/${IMAGE_NAME}:${IMAGE_TAG_DOCKER_BUILD} echo "IMAGE_BUSTER=${IMAGE_BUSTER}" >> $GITHUB_ENV echo "IMAGE_BULLSEYE=${IMAGE_BULLSEYE}" >> $GITHUB_ENV echo "IMAGE_BOOKWORM=${IMAGE_BOOKWORM}" >> $GITHUB_ENV echo "IMAGE_DOCKER_BUILD=${IMAGE_DOCKER_BUILD}" >> $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 buster, bullseye, bookworm, docker-build - name: Build and Push buster Docker Image run: | docker buildx build --platform linux/amd64,linux/arm64 --push -t ${IMAGE_BUSTER} ./debian/buster - name: Build and Push bullseye Docker Image run: | docker buildx build --platform linux/amd64 --push -t ${IMAGE_BULLSEYE} ./debian/bullseye - name: Build and Push bookworm Docker Image run: | docker buildx build --platform linux/amd64 --push -t ${IMAGE_BOOKWORM} ./debian/bookworm - name: Build and Push docker-build Docker Image run: | docker buildx build --platform linux/amd64 --push -t ${IMAGE_DOCKER_BUILD} ./debian/docker-build