Skip to content

rebuild all

rebuild all #43

name: Build & Publish DLCC Images
on:
push:
branches: [ docker ]
paths:
- 'docker/Dockerfile'
- 'docker/Dockerfile.gpu'
- 'docker/requirements.txt'
- 'docker/docker-compose.yml'
- '.github/workflows/docker-publish.yml'
- 'docker/.vscode/settings.json'
pull_request:
branches: [ docker ]
paths:
- 'docker/Dockerfile'
- 'docker/Dockerfile.gpu'
- 'docker/requirements.txt'
- 'docker/docker-compose.yml'
- '.github/workflows/docker-publish.yml'
- 'docker/.vscode/settings.json'
env:
REGISTRY: ghcr.io
IMAGE_NAME: deep-learning-crash-course
jobs:
build-and-push:
runs-on: ubuntu-latest
permissions:
contents: read
packages: write
strategy:
matrix:
variant: [cpu, gpu]
steps:
- uses: actions/checkout@v4
- name: Setup QEMU & Buildx
uses: docker/setup-buildx-action@v3
- name: Login to GHCR
uses: docker/login-action@v3
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Build & push ${{ matrix.variant }} image
uses: docker/build-push-action@v3
with:
context: ./docker
file: ./docker/Dockerfile${{ matrix.variant == 'gpu' && '.gpu' || '' }}
platforms: linux/amd64${{ matrix.variant == 'cpu' && ',linux/arm64' || '' }}
push: ${{ github.event_name == 'push' }}
tags: |
${{ env.REGISTRY }}/deeptrackai/${{ env.IMAGE_NAME }}${{ matrix.variant == 'gpu' && '-gpu' || '' }}:latest
${{ env.REGISTRY }}/deeptrackai/${{ env.IMAGE_NAME }}${{ matrix.variant == 'gpu' && '-gpu' || '' }}:${{ github.sha }}