Skip to content

Commit

Permalink
Merge branch 'main' into scorpion
Browse files Browse the repository at this point in the history
  • Loading branch information
jendrikseipp committed Nov 29, 2024
2 parents 2ffb77c + c7d6a4d commit 6fe2e43
Show file tree
Hide file tree
Showing 311 changed files with 4,899 additions and 1,902 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/autodoc.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ jobs:
name: Autodoc
if: github.repository == 'aibasel/downward'
timeout-minutes: 60
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04
env:
DOWNWARD_AUTODOC_PASSWORD: ${{ secrets.DOWNWARD_AUTODOC_PASSWORD }}
steps:
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/mac.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,8 @@ jobs:
strategy:
matrix:
version:
- {macos: macos-11, python: '3.8'}
- {macos: macos-12, python: '3.10'}
- {macos: macos-13, python: '3.10'}
- {macos: macos-14, python: '3.10'}
steps:
- name: Clone repository
uses: actions/checkout@v3
Expand Down
11 changes: 2 additions & 9 deletions .github/workflows/style.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ on:
jobs:
style:
name: Test code style
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04
steps:
- name: Clone repository
uses: actions/checkout@v3
Expand All @@ -23,14 +23,7 @@ jobs:
- name: Install dependencies
run: |
pip3 install tox
sudo apt-get -y install clang-tidy-12
# TODO: Remove once issue with Ubuntu 22.04 and clang++-14 is resolved.
- name: Work around https://github.com/actions/runner-images/issues/8659
run: |
sudo rm -f /etc/apt/sources.list.d/ubuntu-toolchain-r-ubuntu-test-jammy.list
sudo apt-get update
sudo apt-get install -y --allow-downgrades libc6=2.35-* libc6-dev=2.35-* libstdc++6=12.3.0-* libgcc-s1=12.3.0-*
sudo apt-get -y install clang-tidy-16
- name: Install uncrustify
run: |
Expand Down
33 changes: 12 additions & 21 deletions .github/workflows/ubuntu.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,20 +20,19 @@ jobs:
strategy:
matrix:
version:
- {ubuntu: 'ubuntu-20.04', python: '3.8', cc: gcc-10, cxx: g++-10, run_tox_tests: true}
- {ubuntu: 'ubuntu-20.04', python: '3.8', cc: clang-12, cxx: clang++-12, run_tox_tests: false}
- {ubuntu: 'ubuntu-22.04', python: '3.10', cc: gcc-11, cxx: g++-11, run_tox_tests: false}
- {ubuntu: 'ubuntu-22.04', python: '3.10', cc: gcc-12, cxx: g++-12, run_tox_tests: true}
- {ubuntu: 'ubuntu-22.04', python: '3.10', cc: clang-14, cxx: clang++-14, run_tox_tests: false}
- {ubuntu: 'ubuntu-22.04', python: '3.10', cc: clang-15, cxx: clang++-15, run_tox_tests: false}
- {ubuntu: 'ubuntu-24.04', python: '3.10', cc: gcc-14, cxx: g++-14, run_tox_tests: true}
- {ubuntu: 'ubuntu-24.04', python: '3.10', cc: clang-18, cxx: clang++-18, run_tox_tests: false}
env:
CC: ${{ matrix.version.cc }}
CXX: ${{ matrix.version.cxx }}
CPLEX_URL: ${{ secrets.CPLEX2211_LINUX_URL }}
cplex_DIR: /home/runner/lib/ibm/ILOG/CPLEX_Studio2211/cplex
CPLEX_LIB: /home/runner/lib/ibm/ILOG/CPLEX_Studio2211/cplex/bin/x86-64_linux/libcplex2211.so
soplex_DIR: /home/runner/lib/soplex-6.0.3x
SOPLEX_LIB: /home/runner/lib/soplex-6.0.3x/lib/
SOPLEX_INCLUDE: /home/runner/lib/soplex-6.0.3x/include/
soplex_DIR: /home/runner/lib/soplex-7.1.0
SOPLEX_LIB: /home/runner/lib/soplex-7.1.0/lib/
SOPLEX_INCLUDE: /home/runner/lib/soplex-7.1.0/include/
steps:
- name: Clone repository
uses: actions/checkout@v3
Expand All @@ -57,14 +56,6 @@ jobs:
run: |
sudo apt-get -y install ${{ matrix.version.cxx }}
# TODO: Remove once issue with Ubuntu 22.04 and clang++-14 is resolved.
- name: Work around https://github.com/actions/runner-images/issues/8659
if: matrix.version.cxx == 'clang++-14'
run: |
sudo rm -f /etc/apt/sources.list.d/ubuntu-toolchain-r-ubuntu-test-jammy.list
sudo apt-get update
sudo apt-get install -y --allow-downgrades libc6=2.35-* libc6-dev=2.35-* libstdc++6=12.3.0-* libgcc-s1=12.3.0-*
# Only install CPLEX if its URL/secret is set.
- name: Install CPLEX
if: ${{ env.CPLEX_URL != 0 }}
Expand All @@ -80,7 +71,7 @@ jobs:
run: |
git clone https://github.com/scipopt/soplex.git
cd soplex
git checkout a5df0814d67812c13a00f06eec507b4d071fb862
git checkout release-710
cd ..
cmake -S soplex -B build
cmake --build build
Expand All @@ -98,7 +89,7 @@ jobs:
# only need to archive that one.
if: ${{ matrix.version.run_tox_tests }}
run: |
files_to_archive="fast-downward.py driver misc builds/debug/bin/ \
files_to_archive="fast-downward.py driver misc src builds/debug/bin/ \
builds/release/bin/ ${SOPLEX_LIB} ${SOPLEX_INCLUDE}"
if [[ ! -z "${CPLEX_URL}" ]]; then
files_to_archive="${files_to_archive} ${CPLEX_LIB}"
Expand All @@ -107,7 +98,7 @@ jobs:
- name: Upload archive
if: ${{ matrix.version.run_tox_tests }}
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4.4.0
with:
name: compiled-planner-${{ matrix.version.ubuntu }}
path: archive.tar.gz
Expand All @@ -121,13 +112,13 @@ jobs:
strategy:
matrix:
version:
- {ubuntu: ubuntu-20.04, python: '3.8'}
- {ubuntu: ubuntu-22.04, python: '3.10'}
- {ubuntu: ubuntu-24.04, python: '3.10'}
env:
CPLEX_URL: ${{ secrets.CPLEX2211_LINUX_URL }}
steps:
- name: Download archive
uses: actions/download-artifact@v3
uses: actions/download-artifact@v4.1.8
with:
name: compiled-planner-${{ matrix.version.ubuntu }}

Expand Down Expand Up @@ -169,7 +160,7 @@ jobs:
- name: Run driver, translator and search tests
run: |
cd misc/
tox -e driver,translator,search,autodoc
tox -e driver,translator,search,parameters,autodoc
- name: Run CPLEX tests
if: ${{ env.CPLEX_URL != 0 }}
Expand Down
13 changes: 5 additions & 8 deletions BUILD.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,22 +38,19 @@ Note that on Windows, setting up the environment variable might require using `/
**Important:** The GNU Multiple Precision library (GMP) is critical for the performance of SoPlex but the build does not complain if it is not present.
Make sure that the build uses the library (check the output of CMake for `Found GMP`).

As of SoPlex 6.0.4, the release does not support C++-20, so we build from the tip of the [GitHub main branch](https://github.com/scipopt/soplex) (adapt the path if you install a different version or want to use a different location):
We require at least SoPlex 7.1.0, which can be built from source as follows (adapt the paths if you install a different version or want to use a different location):
```bash
sudo apt install libgmp3-dev
git clone https://github.com/scipopt/soplex.git
export soplex_DIR=/opt/soplex-6.0.4x
export CXXFLAGS="$CXXFLAGS -Wno-use-after-free" # Ignore compiler warnings about use-after-free
cmake -S soplex -B build
wget https://github.com/scipopt/soplex/archive/refs/tags/release-710.tar.gz -O - | tar -xz
cmake -S soplex-release-710 -B build
cmake --build build
export soplex_DIR=/opt/soplex-7.1.0
cmake --install build --prefix $soplex_DIR
rm -rf soplex build
rm -rf soplex-release-710 build
```

After installation, permanently set the environment variable `soplex_DIR` to the value you used during the installation.

**Note:** Once [support for C++-20](https://github.com/scipopt/soplex/pull/15) has been included in a SoPlex release, we can update this and can recommend the [SoPlex homepage](https://soplex.zib.de/index.php#download) for downloads instead.


### Optional: Plan Validator

Expand Down
Loading

0 comments on commit 6fe2e43

Please sign in to comment.