Files
debian-base/.gitea/workflows/pipeline.yml
2025-07-02 18:33:10 -07:00

87 lines
3.1 KiB
YAML

# .gitea/workflows/docker-multi-build.yml
name: Build and Push Multi-Arch Docker Images
on:
push:
branches:
- master
paths:
- 'debian/buster/Dockerfile'
- 'debian/bullseye/Dockerfile'
- 'debian/bookworm/Dockerfile'
- 'debian/docker-build/Dockerfile'
- 'debian/buster/**'
- 'debian/bullseye/**'
- 'debian/bookworm/**'
- 'debian/docker-build/**'
jobs:
build:
runs-on: ubuntu-latest
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,linux/arm64 \
--push -t ${IMAGE_BULLSEYE} \
./debian/bullseye
- name: Build and Push bookworm Docker Image
run: |
docker buildx build --platform linux/amd64,linux/arm64 \
--push -t ${IMAGE_BOOKWORM} \
./debian/bookworm
- name: Build and Push docker-build Docker Image
run: |
docker buildx build --platform linux/amd64,linux/arm64 \
--push -t ${IMAGE_DOCKER_BUILD} \
./debian/docker-build