Skip to content

Commit

Permalink
[release-23.06] Release version 23.06.0.
Browse files Browse the repository at this point in the history
  • Loading branch information
maltehelmert committed Jul 31, 2023
1 parent 96571a5 commit d70b107
Show file tree
Hide file tree
Showing 5 changed files with 145 additions and 3 deletions.
2 changes: 1 addition & 1 deletion driver/version.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# This file is auto-generated by the scripts in misc/release.
# Do not modify it.

__version__ = "22.12+"
__version__ = "23.06"
67 changes: 67 additions & 0 deletions misc/releases/23.06/Dockerfile.23.06
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
# This file has been automatically generated.

# The recipe below implements a Docker multi-stage build:
# <https://docs.docker.com/develop/develop-images/multistage-build/>

###############################################################################
# A first image to build the planner
###############################################################################
FROM ubuntu:22.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++
# TODO: on next release, replace this with a tagged SoPlex release > 6.0.3.
ENV SOPLEX_REVISION a5df081
ENV DOWNWARD_SOPLEX_ROOT /opt/soplex

# Install SoPlex.
WORKDIR /workspace/soplex
# TODO: on next release, work with a tagged SoPlex release again if possible.
# We might continue using git clone, replacing this with `--depth 1 --branch $SOPLEX_REVISION`
# ($SOPLEX_REVISION needs to be a branch or tag, not a commit hash) or use
# another distribution mechanism.
RUN git clone --branch master https://github.com/scipopt/soplex.git . && \
git checkout $SOPLEX_REVISION && \
cmake -DCMAKE_INSTALL_PREFIX="$DOWNWARD_SOPLEX_ROOT" -S . -B build && \
cmake --build build && \
cmake --install build

# Install Fast Downward.
WORKDIR /workspace/downward/
RUN git clone --depth 1 --branch release-23.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:22.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 DOWNWARD_SOPLEX_ROOT=/opt/soplex
ENV LD_LIBRARY_PATH=$DOWNWARD_SOPLEX_ROOT/lib

ENTRYPOINT ["/workspace/downward/fast-downward.py"]
75 changes: 75 additions & 0 deletions misc/releases/23.06/Vagrantfile.23.06
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
# 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 DOWNWARD_CPLEX_ROOT="/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 DOWNWARD_SOPLEX_ROOT="/opt/soplex"
EOM
source /etc/profile.d/downward-soplex.sh
git clone --branch master https://github.com/scipopt/soplex.git soplex
cd soplex
git checkout a5df081
cmake -DCMAKE_INSTALL_PREFIX="$DOWNWARD_SOPLEX_ROOT" -S . -B build
cmake --build build
cmake --install build

cd /home/vagrant

if ! [ -e downward ] ; then
git clone --branch release-23.06.0 https://github.com/aibasel/downward.git downward
./downward/build.py release debug
chown -R vagrant.vagrant downward
fi

SHELL
end
2 changes: 1 addition & 1 deletion misc/releases/latest/Dockerfile
2 changes: 1 addition & 1 deletion misc/releases/latest/Vagrantfile

0 comments on commit d70b107

Please sign in to comment.