Skip to content

Commit

Permalink
[release-20.06] Release version 20.06.0.
Browse files Browse the repository at this point in the history
  • Loading branch information
maltehelmert committed Jul 26, 2020
1 parent 0ce2b63 commit 3a27ea7
Show file tree
Hide file tree
Showing 7 changed files with 222 additions and 4 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__ = "19.12+"
__version__ = "20.06"
85 changes: 85 additions & 0 deletions misc/releases/20.06/Dockerfile.20.06
Original file line number Diff line number Diff line change
@@ -0,0 +1,85 @@
# 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:18.04 AS builder

RUN apt-get update && apt-get install --no-install-recommends -y \
ca-certificates \
cmake \
g++ \
git \
libgmp3-dev \
make \
python3 \
wget \
zlib1g-dev

# Set up some environment variables.
ENV CXX g++
ENV SOPLEX_VERSION soplex-3.1.1
ENV DOWNWARD_SOPLEX_INSTALLER $SOPLEX_VERSION.tgz
ENV DOWNWARD_SOPLEX_ROOT /opt/soplex
ENV OSI_VERSION Osi-0.107.9
ENV DOWNWARD_COIN_ROOT /opt/osi

# Install SoPlex.
WORKDIR /workspace/soplex
ADD $SOPLEX_VERSION.tgz .
RUN mkdir -p $SOPLEX_VERSION/build && \
cd $SOPLEX_VERSION/build && \
cmake -DCMAKE_INSTALL_PREFIX="$DOWNWARD_SOPLEX_ROOT" .. && \
make && \
make install

# Install OSI with support for both CPLEX and SoPlex.
WORKDIR /workspace/osi/
RUN wget http://www.coin-or.org/download/source/Osi/$OSI_VERSION.tgz && \
tar xvzf $OSI_VERSION.tgz && \
cd $OSI_VERSION && \
mkdir $DOWNWARD_COIN_ROOT && \
./configure CC="gcc" CFLAGS="-pthread -Wno-long-long" \
CXX="g++" CXXFLAGS="-pthread -Wno-long-long" \
LDFLAGS="-L$DOWNWARD_SOPLEX_ROOT/lib" \
--without-lapack --enable-static=no \
--prefix="$DOWNWARD_COIN_ROOT" \
--disable-bzlib \
--with-soplex-incdir="$DOWNWARD_SOPLEX_ROOT/include" \
--with-soplex-lib="-lsoplex" && \
make && \
make install

# Install Fast Downward.
WORKDIR /workspace/downward/
RUN git clone --depth 1 --branch release-20.06.0 https://github.com/aibasel/downward.git . && \
./build.py && \
strip --strip-all builds/release/bin/downward


###############################################################################
# The final image to run the planner
###############################################################################
FROM ubuntu:18.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/driver ./driver
COPY --from=builder /opt/soplex /opt/soplex
COPY --from=builder /opt/osi /opt/osi

ENV DOWNWARD_SOPLEX_ROOT=/opt/soplex
ENV DOWNWARD_COIN_ROOT=/opt/osi
ENV LD_LIBRARY_PATH=$DOWNWARD_SOPLEX_ROOT/lib:$DOWNWARD_COIN_ROOT/lib

ENTRYPOINT ["/workspace/downward/fast-downward.py"]
14 changes: 14 additions & 0 deletions misc/releases/20.06/Singularity.20.06
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
# This file has been automatically generated.

Bootstrap: docker
From: aibasel/downward:20.06

%setup
# Just for diagnosis purposes
hostname -f > $SINGULARITY_ROOTFS/etc/build_host

%post

%labels
Name Fast Downward
Description Singularity image for the Fast Downward planning system
119 changes: 119 additions & 0 deletions misc/releases/20.06/Vagrantfile.20.06
Original file line number Diff line number Diff line change
@@ -0,0 +1,119 @@
# 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.

config.vm.box = "ubuntu/bionic64"

# To compile the planner with support for CPLEX or SoPlex, download the 64-bit
# Linux installers of CPLEX 12.9 and/or SoPlex 3.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_studio129.linux-x86-64.bin"
soplex_installer = ENV["DOWNWARD_LP_INSTALLERS"] + "/soplex-3.1.1.tgz"
if File.exists?(cplex_installer) || File.exists?(soplex_installer)
config.vm.synced_folder ENV["DOWNWARD_LP_INSTALLERS"], "/lp", :mount_options => ["ro"]
provision_env["CPLEX_INSTALLER"] = "/lp/" + File.basename(cplex_installer)
provision_env["SOPLEX_INSTALLER"] = "/lp/" + File.basename(soplex_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 \
wget \
zlib1g-dev

OSI_LD_FLAGS=""
OSI_CONFIG_OPTIONS=()
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_Studio129/cplex"
EOM
source /etc/profile.d/downward-cplex.sh

# Install CPLEX.
$CPLEX_INSTALLER -DLICENSE_ACCEPTED=TRUE -i silent

# Prepare configuration of OSI.
OSI_LD_FLAGS="$OSI_LD_FLAGS -L$DOWNWARD_CPLEX_ROOT/bin/x86-64_linux"
OSI_CONFIG_OPTIONS+=(
"--with-cplex-incdir=$DOWNWARD_CPLEX_ROOT/include/ilcplex"
"--with-cplex-lib=-lcplex1290 -lm")
fi

if [ -f "$SOPLEX_INSTALLER" ]; then
# 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

# Install SoPlex.
tar xvzf $SOPLEX_INSTALLER
pushd $(basename $SOPLEX_INSTALLER .tgz)
mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX="$DOWNWARD_SOPLEX_ROOT" ..
make
make install
popd

# Prepare configuration of OSI.
OSI_LD_FLAGS="$OSI_LD_FLAGS -L$DOWNWARD_SOPLEX_ROOT/lib"
OSI_CONFIG_OPTIONS+=(
"--with-soplex-incdir=$DOWNWARD_SOPLEX_ROOT/include"
"--with-soplex-lib=-lsoplex")
fi

if [ -f "$CPLEX_INSTALLER" ] || [ -f "$SOPLEX_INSTALLER" ]; then
# Set environment variables for OSI.
cat > /etc/profile.d/downward-osi.sh <<- EOM
export DOWNWARD_COIN_ROOT="/opt/osi"
EOM
source /etc/profile.d/downward-osi.sh

# Install OSI.
OSI_VERSION="Osi-0.107.9"
wget http://www.coin-or.org/download/source/Osi/$OSI_VERSION.tgz
tar xvzf $OSI_VERSION.tgz
pushd $OSI_VERSION
mkdir $DOWNWARD_COIN_ROOT

./configure CC="gcc" CFLAGS="-pthread -Wno-long-long" \
CXX="g++" CXXFLAGS="-pthread -Wno-long-long" \
LDFLAGS="$OSI_LD_FLAGS" \
--without-lapack --enable-static=no \
--prefix="$DOWNWARD_COIN_ROOT" \
--disable-bzlib \
"${OSI_CONFIG_OPTIONS[@]}"
make
make install
popd
rm -rf $OSI_VERSION $OSI_VERSION.tgz
fi

cd /home/vagrant

if ! [ -e downward ] ; then
git clone --branch release-20.06.0 https://github.com/aibasel/downward.git downward
./downward/build.py
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/Singularity
2 changes: 1 addition & 1 deletion misc/releases/latest/Vagrantfile

0 comments on commit 3a27ea7

Please sign in to comment.