Skip to content

Build basesystem

Build basesystem #17

Workflow file for this run

name: Build basesystem
# Builds the Storm basesystem Docker images and deploys them to Dockerhub
on:
# needed to trigger the workflow manually
workflow_dispatch:
jobs:
buildDistro:
name: Build for ${{ matrix.distro.name }}
runs-on: ubuntu-latest
strategy:
matrix:
distro:
- {name: "ubuntu-20.04", baseImg: "ubuntu:20.04"}
- {name: "debian-11", baseImg: "debian:11"}
- {name: "ubuntu-22.04", baseImg: "ubuntu:22.04"}
- {name: "debian-12", baseImg: "debian:12"}
- {name: "ubuntu-24.04", baseImg: "ubuntu:24.04"}
- {name: "latest", baseImg: "ubuntu:rolling"}
steps:
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Login to Docker Hub
# Only login if using original repo
if: github.repository_owner == 'moves-rwth'
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKER_NAME }}
password: ${{ secrets.DOCKER_TOKEN }}
- name: Build and push
uses: docker/build-push-action@v6
with:
file: storm-basesystem/Dockerfile
tags: mvolk/storm-basesystem:${{ matrix.distro.name }}
build-args: LINUX_BASE=${{ matrix.distro.baseImg }}
platforms: linux/amd64,linux/arm64
push: true
buildMinimalDependencies:
name: Build minimial dependencies
runs-on: ubuntu-latest
strategy:
matrix:
distro:
- {name: "minimal_dependencies", baseImg: "ubuntu:rolling"}
steps:
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Login to Docker Hub
# Only login if using original repo
if: github.repository_owner == 'moves-rwth'
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKER_NAME }}
password: ${{ secrets.DOCKER_TOKEN }}
- name: Build and push
uses: docker/build-push-action@v6
with:
file: storm-basesystem/Dockerfile.minimal_dependencies
tags: mvolk/storm-basesystem:${{ matrix.distro.name }}
build-args: LINUX_BASE=${{ matrix.distro.baseImg }}
platforms: linux/amd64,linux/arm64
push: true