Files
projects/.gitea/workflows/push_dockers.yml
T
Bram Kelchtermans 58d2f4a9ee
Build and Push Docker Images / build-and-push (push) Successful in 1m56s
chore: Update Dockerfile to build and push only changed Docker images
2024-07-31 14:06:30 +02:00

40 lines
1.0 KiB
YAML

name: Build and Push Docker Images
on:
push:
paths:
- 'Dockers/**'
jobs:
build-and-push:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v3
with:
fetch-depth: 2
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
- name: Log in to Docker Hub
uses: docker/login-action@v2
with:
username: ${{ secrets.DOCKER_HUB_USERNAME }}
password: ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }}
- name: Build and Push Docker images
env:
DOCKER_HUB_USERNAME: ${{ secrets.DOCKER_HUB_USERNAME }}
run: |
changed_dirs=$(git diff --name-only HEAD~1 HEAD | grep '^Dockers/' | cut -d'/' -f2 | sort -u)
for dir in $changed_dirs; do
if [ -d "Dockers/$dir" ]; then
image_name=$(basename "$dir")
version=$(cat "Dockers/$dir/version")
docker build -t $DOCKER_HUB_USERNAME/$dir:$version "Dockers/$dir"
docker push $DOCKER_HUB_USERNAME/$dir:$version
fi
done