85 lines
3.1 KiB
YAML
85 lines
3.1 KiB
YAML
name: Build and Push Multi-Arch Docker Images
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- main
|
|
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: fithwum
|
|
|
|
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
|