Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
61 changes: 61 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
name: Release
# Prepares a release and packages of Storm

on:
# needed to trigger the workflow manually
workflow_dispatch:

env:
# GitHub runners currently have 4 cores
NR_JOBS: "4"

jobs:
debian:
name: Debian package (${{ matrix.distro.name }})
runs-on: ubuntu-latest
strategy:
matrix:
distro:
- {name: "debian:12",
tag: "debian-12",
build_type: "Release"
}
- {name: "ubuntu:24.04",
tag: "ubuntu-24.04",
build_type: "Release"
}
- {name: "ubuntu:latest",
tag: "latest",
build_type: "Release"
}
fail-fast: false
steps:
- name: Git clone
uses: actions/checkout@v4
- name: Build storm from Dockerfile
run: |
docker build -t movesrwth/storm:ci . \
--build-arg BASE_IMAGE=movesrwth/storm-basesystem:${{ matrix.distro.tag }} \
--build-arg build_type="${{ matrix.distro.build_type }}" \
--build-arg carl_tag="master" \
--build-arg cmake_args="-DSTORM_BUILD_TESTS=OFF" \
--build-arg no_threads=${NR_JOBS}
# Omitting arguments developer, disable_*, cln_exact, cln_ratfunc, all_sanitizers
- name: Run Docker
run: docker run -d -it --name ci movesrwth/storm:ci
- name: Create package
run: docker exec ci bash -c "cd /opt/storm/build; make package"
- name: Copy package
run: |
docker exec ci bash -c "mkdir /opt/package; cp /opt/storm/build/*.deb /opt/package/"
docker cp ci:/opt/package .
- uses: actions/upload-artifact@v4
with:
name: storm-deb-${{ matrix.distro.tag }}
path: ./package/*.deb
- name: Test package
run: |
docker run -d -it --name ci-test ${{ matrix.distro.name }}
docker cp package/*.deb ci-test:/opt/
docker exec ci-test bash -c "apt-get update; apt-get install -y /opt/*.deb"
docker exec ci-test bash -c "storm"
7 changes: 5 additions & 2 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,12 @@ endif()

# Set project name
project (storm
VERSION 1.10.0.1
# Version x.y.z.1 should be read as: This is an updated version of x.y.z that has not been released as x.y.z+1 yet.
LANGUAGES CXX C
VERSION 1.10.0.1)
# Version x.y.z.1 should be read as: This is an updated version of x.y.z that has not been released as x.y.z+1 yet.
DESCRIPTION "Storm - A Modern Probabilistic Model Checker"
HOMEPAGE_URL "https://www.stormchecker.org"
)

# Add the resources/cmake folder to Module Search Path
set(STORM_CMAKE_FIND_MODULES "${PROJECT_SOURCE_DIR}/resources/cmake/find_modules")
Expand Down
36 changes: 16 additions & 20 deletions StormCPackConfig.cmake
Original file line number Diff line number Diff line change
@@ -1,31 +1,27 @@
include(InstallRequiredSystemLibraries)

# For help take a look at:
# http://www.cmake.org/Wiki/CMake:CPackConfiguration

### general settings
set(CPACK_PACKAGE_NAME "Storm")
### General settings
# General project information is taken from the project() variables
set(CPACK_PACKAGE_NAME ${PROJECT_NAME})
set(CPACK_PACKAGE_VERSION ${CMAKE_PROJECT_VERSION})
set(CPACK_PACKAGE_VERSION_MAJOR ${CMAKE_PROJECT_VERSION_MAJOR})
set(CPACK_PACKAGE_VERSION_MINOR ${CMAKE_PROJECT_VERSION_MINOR})
set(CPACK_PACKAGE_VERSION_PATCH ${CMAKE_PROJECT_VERSION_PATCH})
set(CPACK_PACKAGE_VENDOR "Storm Developers")
set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Storm - A Modern Probabilistic Model Checker.")
set(CPACK_PACKAGE_CONTACT "[email protected]")

set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_SOURCE_DIR}/LICENSE")

### versions
set(CPACK_PACKAGE_VERSION_MAJOR "${STORM_VERSION_MAJOR}")
set(CPACK_PACKAGE_VERSION_MINOR "${STORM_VERSION_MINOR}")
set(CPACK_PACKAGE_VERSION_PATCH "${STORM_VERSION_PATCH}")

set(CPACK_GENERATOR "ZIP")
set(CPACK_RESOURCE_FILE_README "${CMAKE_SOURCE_DIR}/README.md")
set(CPACK_PACKAGE_INSTALL_DIRECTORY "${CPACK_PACKAGE_NAME}-${CPACK_PACKAGE_VERSION}")

### source package settings
set(CPACK_SOURCE_GENERATOR "ZIP")
set(CPACK_SOURCE_IGNORE_FILES "~$;[.]swp$;/[.]svn/;/[.]git/;.gitignore;/build/;tags;cscope.*")
set(CPACK_GENERATOR "DEB")

### Source package configuration
# The support is limited and we recommend to use "git archive" instead
set(CPACK_SOURCE_GENERATOR "TGZ")
set(CPACK_SOURCE_IGNORE_FILES "~$;[.]swp$;/[.]git/;.gitignore;/build/;tags;cscope.*")
set(CPACK_SOURCE_PACKAGE_FILE_NAME "${CPACK_PACKAGE_NAME}-${CPACK_PACKAGE_VERSION}-src")

# Dependencies to create DEB File
set(CPACK_DEBIAN_PACKAGE_DEPENDS "libboost-all-dev,libcln-dev,libgmp-dev,libginac-dev,automake,libglpk-dev,libhwloc-dev,libz3-dev,libxerces-c-dev,libeigen3-dev")
set(CPACK_DEBIAN_PACKAGE_MAINTAINER ${CPACK_PACKAGE_CONTACT})
# Debian package
set(CPACK_DEBIAN_PACKAGE_DEPENDS "cmake, automake, libboost-all-dev, libcln-dev, libginac-dev, libglpk-dev, libgmp-dev, libhwloc-dev, libeigen3-dev, libxerces-c-dev, libz3-dev")

include(CPack)