Files
containers/.gitea/workflows/build-and-push.yml
Clay Buxton 0d439461bf
Some checks failed
Build and Push Containers / build-and-push (push) Has been cancelled
test
2026-03-04 19:59:28 -05:00

51 lines
1.3 KiB
YAML

name: Build and Push Containers
on:
push:
branches:
- main
workflow_dispatch:
jobs:
build-and-push:
runs-on: ubuntu-latest
services:
docker:
image: docker:dind
env:
DOCKER_TLS_CERTDIR: ""
options: --privileged
env:
DOCKER_HOST: tcp://docker:2375
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Wait for Docker
run: |
until docker info; do
echo "Waiting for Docker daemon..."
sleep 2
done
- name: Log in to Docker Hub
run: echo "${{ secrets.DOCKERHUB_TOKEN }}" | docker login -u "${{ secrets.DOCKERHUB_USERNAME }}" --password-stdin
- name: Set up Docker Buildx
run: docker buildx create --use --driver docker-container --name multiarch
- name: Build and push each container
run: |
for dir in */; do
dir="${dir%/}"
if [ -f "$dir/Dockerfile" ]; then
echo "Building $dir..."
docker buildx build \
--platform linux/amd64,linux/arm64 \
--tag ${{ secrets.DOCKERHUB_USERNAME }}/${dir}:latest \
--tag ${{ secrets.DOCKERHUB_USERNAME }}/${dir}:${{ github.sha }} \
--push \
"$dir"
fi
done