Skip to content

Adding a Makefile (#15) #6

Adding a Makefile (#15)

Adding a Makefile (#15) #6

Workflow file for this run

name: Publish Docker image
on:
push:
branches: [ main ]
env:
IMAGE_NAME: recipegen
CONTAINER_REGISTRY_URL: ${{ secrets.CONTAINER_REGISTRY_URL }}
CONTAINER_REGISTRY_USER: ${{ secrets.CONTAINER_REGISTRY_USER }}
CONTAINER_REGISTRY_ACCESS_TOKEN: ${{ secrets.CONTAINER_REGISTRY_ACCESS_TOKEN }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
CONTAINER_IMAGE_NAME: ${{ github.repository }}
jobs:
build-and-push:
runs-on: ubuntu-latest
steps:
- name: Check out code
uses: actions/checkout@v2
- name: Use Github Container Registry if no secrets are set
if: ${{ env.CONTAINER_REGISTRY_URL == '' }}
run: |
echo "CONTAINER_REGISTRY_URL=ghcr.io" >> $GITHUB_ENV
echo "CONTAINER_REGISTRY_ACCESS_TOKEN=$GITHUB_TOKEN" >> $GITHUB_ENV
echo "CONTAINER_REGISTRY_USER=\$GITHUB_USER" >> $GITHUB_ENV
- name: Login to Container Registry
uses: docker/login-action@v1
with:
registry: ${{ env.CONTAINER_REGISTRY_URL }}
username: ${{ env.CONTAINER_REGISTRY_USER }}
password: ${{ env.CONTAINER_REGISTRY_ACCESS_TOKEN }}
- name: Docker metadata
id: meta
uses: docker/metadata-action@v4
with:
images: ${{ env.CONTAINER_REGISTRY_URL }}/${{ env.CONTAINER_IMAGE_NAME }}
tags: |
type=schedule
type=ref,event=branch
type=ref,event=pr
type=semver,pattern={{version}}
type=sha
- name: Build and push
uses: docker/build-push-action@v4
with:
context: .
push: true
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
build-args: |
BUILDTIME=${{ fromJSON(steps.meta.outputs.json).labels['org.opencontainers.image.created'] }}
VERSION=${{ fromJSON(steps.meta.outputs.json).labels['org.opencontainers.image.version'] }}
REVISION=${{ fromJSON(steps.meta.outputs.json).labels['org.opencontainers.image.revision'] }}