apg-go/.forgejo/workflows/docker.yml
Winni Neessen 48a0b6763b
Modify Docker build process and workflow
The Docker build command in the GitHub workflow file (docker.yml) now requires sudo privileges. Additionally, the Dockerfile has been expanded to not only tidy up and verify the Go modules project but also to alter the build path for the "apg-go" executable.
2024-03-13 23:45:58 +01:00

54 lines
1.5 KiB
YAML

name: Build and Push Docker Image to Docker Hub
on:
push:
branches: [ "main" ]
pull_request:
branches: [ "main" ]
env:
REGISTRY: docker.io
IMAGE_NAME: wneessen/apg-go
jobs:
build:
runs-on: docker
steps:
- uses: actions/checkout@v3
- name: Install docker
run: |
apt-get update; apt-get -y install docker; which docker
- name: Build the Docker image
run: sudo docker build --no-cache --force-rm -t apg-go:main .
test:
runs-on: docker
steps:
- uses: actions/checkout@v2
- name: Test the Docker image
run: docker run apg-go:main
push_to_registry:
name: Push Docker image to Docker Hub
runs-on: docker
steps:
- name: Check out the repo
uses: actions/checkout@v3
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
- name: Log in to Docker Hub
uses: docker/login-action@f054a8b539a109f9f41c372932f1ae047eff08c9
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
- name: Extract metadata (tags, labels) for Docker
id: meta
uses: docker/metadata-action@98669ae865ea3cffbcbaa878cf57c20bbf1c6c38
with:
images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}
- name: Build and push Docker image
uses: docker/build-push-action@v2
with:
context: "{{defaultContext}}"
push: true
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}