Skip to content

Workflow file for this run

name: Build Docker Image
on:
push:
branches:
- 'master'
- 'main'
workflow_dispatch:
inputs:
version:
description: 'Version e.g v0.1'
required: false
type: string
default: 'latest'
jobs:
docker:
runs-on: ubuntu-latest
strategy:
matrix:
config:
- { tag: "base", dockerfile: "anonymization/Dockerfile", context: "anonymization"}
- { tag: "base-apps", dockerfile: "apps/Dockerfile", context: "apps"}
- { tag: "inception-minio", dockerfile: "inception/inception-minio/Dockerfile", context: "inception/inception-minio"}
- { tag: "inception-minio-mariadb", dockerfile: "inception/inception-minio-mariadb/Dockerfile", context: "inception/inception-minio-mariadb"}
- { tag: "shinyproxy", dockerfile: "shinyproxy/Dockerfile", context: "shinyproxy"}
- { tag: "rstudio", dockerfile: "development/rstudio/Dockerfile", context: "development/rstudio"}
- { tag: "prefect-example", dockerfile: "test/prefectexample/Dockerfile", context: "test/prefectexample"}
- { tag: "prefect-inspect", dockerfile: "test/prefectinspect/Dockerfile", context: "test/prefectinspect"}
steps:
- name: Clone
uses: actions/checkout@v3
- name: Set environment variable
run: |
if [[ "$GITHUB_REF_NAME" =~ ^v[0-9] ]]; then
echo "VERSION=$GITHUB_REF_NAME" >> $GITHUB_ENV
else
echo "VERSION=latest" >> $GITHUB_ENV
fi
if [ "${{ github.event.inputs.version }}" != "latest" ]; then
echo "VERSION=${{ github.event.inputs.version }}" >> $GITHUB_ENV
fi
- name: Print version
run: echo $VERSION
- name: Set up QEMU
uses: docker/setup-qemu-action@v2
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
- name: Login to DockerHub
uses: docker/login-action@v2
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Login to GHCR (GitHub Packages)
uses: docker/login-action@v2
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Login to datatailor
uses: docker/login-action@v2
with:
registry: registry.datatailor.be
username: ${{ secrets.DATATAILOR_REGISTRY_USER }}
password: ${{ secrets.DATATAILOR_REGISTRY_PWD }}
- name: Build and push ghcr.io
uses: docker/build-push-action@v5
with:
context: ${{ matrix.config.context }}
push: true
tags: "ghcr.io/bnosac/blackbar-${{ matrix.config.tag }}:latest"
file: ${{ matrix.config.dockerfile }}
- name: Build and push Dockerhub
uses: docker/build-push-action@v5
with:
context: ${{ matrix.config.context }}
push: true
tags: "bnosac/blackbar-${{ matrix.config.tag }}:latest"
file: ${{ matrix.config.dockerfile }}
- name: Build and push registry.datatailor.be
uses: docker/build-push-action@v5
with:
context: ${{ matrix.config.context }}
push: true
tags: "registry.datatailor.be/blackbar-${{ matrix.config.tag }}:latest"
file: ${{ matrix.config.dockerfile }}