From 2b355a310825b8ae07b23eecefb08b7be5152ca1 Mon Sep 17 00:00:00 2001 From: Florian Pommerening Date: Thu, 10 Oct 2024 15:18:54 +0200 Subject: [PATCH] [release-24.06] Release version 24.06.0. --- driver/version.py | 2 +- misc/releases/24.06/Dockerfile.24.06 | 61 ++++++++++++++++++++++ misc/releases/24.06/Vagrantfile.24.06 | 74 +++++++++++++++++++++++++++ misc/releases/latest/Dockerfile | 2 +- misc/releases/latest/Vagrantfile | 2 +- 5 files changed, 138 insertions(+), 3 deletions(-) create mode 100644 misc/releases/24.06/Dockerfile.24.06 create mode 100644 misc/releases/24.06/Vagrantfile.24.06 diff --git a/driver/version.py b/driver/version.py index 969142edb4..2cc1289535 100644 --- a/driver/version.py +++ b/driver/version.py @@ -1,4 +1,4 @@ # This file is auto-generated by the scripts in misc/release. # Do not modify it. -__version__ = "23.06+" +__version__ = "24.06" diff --git a/misc/releases/24.06/Dockerfile.24.06 b/misc/releases/24.06/Dockerfile.24.06 new file mode 100644 index 0000000000..702999bf79 --- /dev/null +++ b/misc/releases/24.06/Dockerfile.24.06 @@ -0,0 +1,61 @@ +# This file has been automatically generated. + +# The recipe below implements a Docker multi-stage build: +# + +############################################################################### +# A first image to build the planner +############################################################################### +FROM ubuntu:24.04 AS builder + +RUN apt-get update && apt-get install --no-install-recommends -y \ + ca-certificates \ + cmake \ + g++ \ + git \ + libgmp3-dev \ + make \ + python3 \ + zlib1g-dev + +# Set up some environment variables. +ENV CXX g++ +ENV SOPLEX_REVISION release-710 +ENV soplex_DIR /opt/soplex + +# Install SoPlex. +WORKDIR /workspace/soplex +RUN git clone --depth 1 --branch $SOPLEX_REVISION https://github.com/scipopt/soplex.git . && \ + cmake -DCMAKE_INSTALL_PREFIX="$soplex_DIR" -S . -B build && \ + cmake --build build && \ + cmake --install build + +# Install Fast Downward. +WORKDIR /workspace/downward/ +RUN git clone --depth 1 --branch release-24.06.0 https://github.com/aibasel/downward.git . && \ + ./build.py release debug && \ + strip --strip-all builds/release/bin/downward + + +############################################################################### +# The final image to run the planner +############################################################################### +FROM ubuntu:24.04 AS runner + +RUN apt-get update && apt-get install --no-install-recommends -y \ + python3 \ + && rm -rf /var/lib/apt/lists/* + +WORKDIR /workspace/downward/ + +# Copy the relevant files from the previous docker build into this build. +COPY --from=builder /workspace/downward/fast-downward.py . +COPY --from=builder /workspace/downward/builds/release/bin/ ./builds/release/bin/ +COPY --from=builder /workspace/downward/builds/debug/bin/ ./builds/debug/bin/ +COPY --from=builder /workspace/downward/driver ./driver +COPY --from=builder /opt/soplex /opt/soplex + +ENV soplex_DIR=/opt/soplex +ENV LD_LIBRARY_PATH=$soplex_DIR/lib + +ENTRYPOINT ["/workspace/downward/fast-downward.py"] diff --git a/misc/releases/24.06/Vagrantfile.24.06 b/misc/releases/24.06/Vagrantfile.24.06 new file mode 100644 index 0000000000..9d285c58cb --- /dev/null +++ b/misc/releases/24.06/Vagrantfile.24.06 @@ -0,0 +1,74 @@ +# All Vagrant configuration is done below. The "2" in Vagrant.configure +# configures the configuration version (we support older styles for +# backwards compatibility). Please don't change it unless you know what +# you're doing. +Vagrant.configure("2") do |config| + # For a complete reference of vagrant options see https://docs.vagrantup.com. + + # We increase the RAM from a default of 1GB for compiling with SoPlex. + # See issue1101 for details. + config.vm.provider "virtualbox" do |v| + v.memory = 2048 + end + + config.vm.box = "ubuntu/jammy64" + + # To compile the planner with support for CPLEX, download the 64-bit Linux + # installer of CPLEX 22.1.1 and set the environment variable + # DOWNWARD_LP_INSTALLERS to an absolute path containing them before + # provisioning the VM. + provision_env = {} + if !ENV["DOWNWARD_LP_INSTALLERS"].nil? + cplex_installer = ENV["DOWNWARD_LP_INSTALLERS"] + "/cplex_studio2211.linux_x86_64.bin" + if File.exists?(cplex_installer) + config.vm.synced_folder ENV["DOWNWARD_LP_INSTALLERS"], "/lp", :mount_options => ["ro"] + provision_env["CPLEX_INSTALLER"] = "/lp/" + File.basename(cplex_installer) + end + end + + config.vm.provision "shell", env: provision_env, inline: <<-SHELL + + apt-get update && apt-get install --no-install-recommends -y \ + ca-certificates \ + cmake \ + default-jre \ + g++ \ + git \ + libgmp3-dev \ + make \ + python3 \ + unzip \ + zlib1g-dev + + if [ -f "$CPLEX_INSTALLER" ]; then + # Set environment variables for CPLEX. + cat > /etc/profile.d/downward-cplex.sh <<-EOM + export cplex_DIR="/opt/ibm/ILOG/CPLEX_Studio2211/cplex" + EOM + source /etc/profile.d/downward-cplex.sh + + # Install CPLEX. + $CPLEX_INSTALLER -DLICENSE_ACCEPTED=TRUE -i silent + fi + + # Set environment variables for SoPlex. + cat > /etc/profile.d/downward-soplex.sh <<-EOM + export soplex_DIR="/opt/soplex" + EOM + source /etc/profile.d/downward-soplex.sh + git clone --depth 1 --branch release-710 https://github.com/scipopt/soplex.git soplex + cd soplex + cmake -DCMAKE_INSTALL_PREFIX="$soplex_DIR" -S . -B build + cmake --build build + cmake --install build + + cd /home/vagrant + + if ! [ -e downward ] ; then + git clone --branch release-24.06.0 https://github.com/aibasel/downward.git downward + ./downward/build.py release debug + chown -R vagrant.vagrant downward + fi + + SHELL +end diff --git a/misc/releases/latest/Dockerfile b/misc/releases/latest/Dockerfile index 00cd48ce77..2715b3c8e3 120000 --- a/misc/releases/latest/Dockerfile +++ b/misc/releases/latest/Dockerfile @@ -1 +1 @@ -../23.06/Dockerfile.23.06 \ No newline at end of file +../24.06/Dockerfile.24.06 \ No newline at end of file diff --git a/misc/releases/latest/Vagrantfile b/misc/releases/latest/Vagrantfile index 967211af34..844d61121d 120000 --- a/misc/releases/latest/Vagrantfile +++ b/misc/releases/latest/Vagrantfile @@ -1 +1 @@ -../23.06/Vagrantfile.23.06 \ No newline at end of file +../24.06/Vagrantfile.24.06 \ No newline at end of file