Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
a9d9699
Add ccache support to Dockerfiles and build workflow for improved bui…
lukovdm Mar 19, 2026
db2357b
cache test
lukovdm Mar 19, 2026
b565e9a
Remove PCH when using ccache, fix missing includes.
lukovdm Mar 19, 2026
d89c26c
Update cache key in build workflow and fix includes
lukovdm Mar 19, 2026
d578afc
Enhance ccache usage with verbose output in Dockerfiles and build wor…
lukovdm Mar 19, 2026
c905fc4
Update docker files
lukovdm Mar 19, 2026
fc5220f
warm cache
lukovdm Mar 20, 2026
f525bcd
add PCH flag, disable PCH when developer is turned on
lukovdm Mar 20, 2026
2b66662
Fix Mac CI error with STORM_DEVELOPER
lukovdm Mar 20, 2026
2491036
Set correct key for Minimal dependices indepth tests
lukovdm Mar 20, 2026
ddbecae
Disable PCH for linuxtests ci
lukovdm Mar 20, 2026
22a84a7
fix syntax in buildtest.yml
lukovdm Mar 20, 2026
d3eee94
Update cache key for build tests to include cmakeArgs
lukovdm Mar 20, 2026
af35ec3
Refine cache keys for build tests to improve cache efficiency
lukovdm Mar 20, 2026
897f8db
Fix Spot build flags for debug mode and ensure CCACHE is applied corr…
lukovdm Mar 20, 2026
eb9b0a7
Set workflow cache keys so they are properly saved.
lukovdm Mar 26, 2026
32e0eec
Seperate out the build tests in seperate files which can be called fr…
lukovdm Apr 2, 2026
65f99d9
Merge branch 'master' into cache-actions
lukovdm Apr 2, 2026
3db1980
Merge build workflows
lukovdm Apr 9, 2026
8357a0b
new ci policy
lukovdm Apr 9, 2026
07b2b2b
Compact matrices and fix bug in docker base image
lukovdm Apr 10, 2026
8b964cc
Don't run normal PR CI if ready to review CI PR is used.
lukovdm Apr 10, 2026
490f9e4
Refactor cache keys in test workflows for improved cache management
lukovdm Apr 13, 2026
c92cbe3
Merge branch 'master' into cache-actions
lukovdm Apr 13, 2026
4c9b11d
Fix syntax for conditional checks in CI workflow
lukovdm Apr 13, 2026
9d50cc0
Fix actions
lukovdm Apr 20, 2026
9e14620
Remove unnecessary line breaks in Docker build arguments for CI workf…
lukovdm Apr 20, 2026
10013bb
Suppress false positive warning from GCC 15 for SparseDtmcElimination…
lukovdm Apr 20, 2026
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
8 changes: 7 additions & 1 deletion .github/workflows/Dockerfile.alpine
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,7 @@ ARG packages=""

RUN apk add --no-cache \
bash \
ccache \
cmake \
make \
gcc \
Expand All @@ -69,12 +70,17 @@ RUN apk add --no-cache \

# Build Storm
#############
ENV CCACHE_DIR=/root/.ccache
RUN mkdir /opt/storm
WORKDIR /opt/storm

# Copy the content of the current local Storm repository into the Docker image
COPY . .

# Seed ccache from the workflow cache directory if available.
RUN mkdir -p "$CCACHE_DIR" && \
if [ -d "/opt/storm/.ci-ccache" ]; then cp -a /opt/storm/.ci-ccache/. "$CCACHE_DIR"/; fi

# Switch to build directory
RUN mkdir -p /opt/storm/build
WORKDIR /opt/storm/build
Expand Down Expand Up @@ -102,6 +108,6 @@ RUN cmake -DCMAKE_BUILD_TYPE=$build_type \

# Build Storm
# (This can be adapted to only build 'storm' or 'binaries' depending on custom needs)
RUN make -j $no_threads
RUN ccache --max-size=3G && ccache --zero-stats && make -j $no_threads && ccache --show-stats --verbose

WORKDIR /opt/storm
44 changes: 25 additions & 19 deletions .github/workflows/Dockerfile.archlinux
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,7 @@ ARG packages=""
RUN pacman -Syu --noconfirm # Updates needed as Archlinux is rolling release
RUN pacman -S --noconfirm \
base-devel \
ccache \
cmake \
git \
boost \
Expand All @@ -67,39 +68,44 @@ RUN pacman -S --noconfirm \

# Build Storm
#############
ENV CCACHE_DIR=/root/.ccache
RUN mkdir /opt/storm
WORKDIR /opt/storm

# Copy the content of the current local Storm repository into the Docker image
COPY . .

# Seed ccache from the workflow cache directory if available.
RUN mkdir -p "$CCACHE_DIR" && \
if [ -d "/opt/storm/.ci-ccache" ]; then cp -a /opt/storm/.ci-ccache/. "$CCACHE_DIR"/; fi

# Switch to build directory
RUN mkdir -p /opt/storm/build
WORKDIR /opt/storm/build

# Configure Storm
RUN cmake -DCMAKE_BUILD_TYPE=$build_type \
-DSTORM_PORTABLE=ON \
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we maybe revert this? The indentation was deliberate such that the CMake configs align ;)

-DSTORM_CARL_GIT_TAG=$carl_tag \
-DSTORM_DISABLE_CUDD=$disable_cudd \
-DSTORM_DISABLE_GLPK=$disable_glpk \
-DSTORM_DISABLE_GMM=$disable_gmm \
-DSTORM_DISABLE_GUROBI=$disable_gurobi \
-DSTORM_DISABLE_LIBARCHIVE=$disable_libarchive \
-DSTORM_DISABLE_MATHSAT=$disable_mathsat \
-DSTORM_DISABLE_SOPLEX=$disable_soplex \
-DSTORM_DISABLE_SPOT=$disable_spot \
-DSTORM_DISABLE_SYLVAN=$disable_sylvan \
-DSTORM_DISABLE_XERCES=$disable_xerces \
-DSTORM_DISABLE_Z3=$disable_z3 \
-DSTORM_DEVELOPER=$developer \
-DSTORM_USE_CLN_EA=$cln_exact \
-DSTORM_USE_CLN_RF=$cln_ratfunc \
-DSTORM_COMPILE_WITH_ALL_SANITIZERS=$all_sanitizers \
$cmake_args ..
-DSTORM_PORTABLE=ON \
-DSTORM_CARL_GIT_TAG=$carl_tag \
-DSTORM_DISABLE_CUDD=$disable_cudd \
-DSTORM_DISABLE_GLPK=$disable_glpk \
-DSTORM_DISABLE_GMM=$disable_gmm \
-DSTORM_DISABLE_GUROBI=$disable_gurobi \
-DSTORM_DISABLE_LIBARCHIVE=$disable_libarchive \
-DSTORM_DISABLE_MATHSAT=$disable_mathsat \
-DSTORM_DISABLE_SOPLEX=$disable_soplex \
-DSTORM_DISABLE_SPOT=$disable_spot \
-DSTORM_DISABLE_SYLVAN=$disable_sylvan \
-DSTORM_DISABLE_XERCES=$disable_xerces \
-DSTORM_DISABLE_Z3=$disable_z3 \
-DSTORM_DEVELOPER=$developer \
-DSTORM_USE_CLN_EA=$cln_exact \
-DSTORM_USE_CLN_RF=$cln_ratfunc \
-DSTORM_COMPILE_WITH_ALL_SANITIZERS=$all_sanitizers \
$cmake_args ..

# Build Storm
# (This can be adapted to only build 'storm' or 'binaries' depending on custom needs)
RUN make -j $no_threads
RUN ccache --max-size=3G && ccache --zero-stats && make -j $no_threads && ccache --show-stats --verbose

WORKDIR /opt/storm
Loading
Loading