Skip to content

Release Docker

Release Docker #4

name: Release Docker
# Builds and deploys images to Dockerhub
on:
workflow_dispatch:
inputs:
tag:
description: 'Docker tag (e.g. 1.1.0 or stable)'
required: true
default: 'x.y.z'
env:
# GitHub runners currently have 4 cores
NR_JOBS: "4"
jobs:
deploy:
name: Deploy (${{ matrix.buildType.name }})
runs-on: ubuntu-latest
strategy:
matrix:
buildType:
- {name: "Debug",
suffix: "-debug",
Developer: "ON"
}
- {name: "Release",
suffix: "",
Developer: "OFF"
}
steps:
- name: Git clone
uses: actions/checkout@v4
- name: Build storm from Dockerfile
run: |
docker build -t movesrwth/storm:${{ github.event.inputs.tag }}${{ matrix.buildType.suffix }} . \
--build-arg BASE_IMG=movesrwth/storm-dependencies:latest${{ matrix.buildType.suffix }} \
--build-arg build_type="${{ matrix.buildType.name }}" \
--build-arg developer="${{ matrix.buildType.Developer }}" \
--build-arg cmake_args="${{ matrix.buildType.cmakeArgs }}" \
--build-arg no_threads=${NR_JOBS}
# Omitting arguments gurobi_support, soplex_support, spot_support, cln_exact, cln_ratfunc, all_sanitizers
- 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.STORM_CI_DOCKER_USERNAME }}
password: ${{ secrets.STORM_CI_DOCKER_TOKEN }}
- name: Deploy storm
# Only deploy if using original repo
if: github.repository_owner == 'moves-rwth'
run: |
docker push movesrwth/storm:${{ github.event.inputs.tag }}${{ matrix.buildType.suffix }}