mirror of
https://github.com/wneessen/apg-go.git
synced 2024-11-25 15:20:50 +01:00
Winni Neessen
48a0b6763b
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.
54 lines
1.5 KiB
YAML
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 }}
|
|
|