Skip to content

Add github action to build and publish Docker image #2

Add github action to build and publish Docker image

Add github action to build and publish Docker image #2

Workflow file for this run

name: Build and Publish Docker Image
on:
push:
branches:
- '*'
paths:
- 'snitch/docker/Dockerfile'
pull_request:
jobs:
build-and-publish:
runs-on: ubuntu-latest
steps:
- name: Checkout Repository
uses: actions/checkout@v2
- name: Set up Docker Buildx
id: docker-buildx
uses: docker/setup-buildx-action@v1
- name: Login to GitHub Container Registry
run: echo "${{ secrets.GITHUB_TOKEN }}" | docker login ghcr.io -u ${{ github.actor }} --password-stdin
- name: Build and Push Docker Image
run: |
docker buildx -t ghcr.io/${{ github.repository_owner }}/${{ github.repository_name }}:${{ github.sha }} -f snitch/docker/Dockerfile .
docker push ghcr.io/${{ github.repository_owner }}/${{ github.repository_name }}:${{ github.sha }}
if [ "${{ github.ref }}" = "refs/heads/main" ]; then
docker buildx imagetools create ghcr.io/${{ github.repository_owner }}/${{ github.repository_name }}:${{ github.sha }} --tag ghcr.io/${{ github.repository_owner }}/${{ github.repository_name }}:latest
docker push ghcr.io/${{ github.repository_owner }}/${{ github.repository_name }}:latest
else
echo "Not on the main branch, skipping push to latest tag."
fi