Add cache option for Mac test #42
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Integration test | |
env: | |
version: 8.0.3 | |
# runs on branches and pull requests; doesn't run on tags. | |
on: | |
push: | |
branches: | |
- '**' | |
pull_request: | |
branches: | |
- 'master' | |
jobs: | |
ubuntu-test: | |
runs-on: ubuntu-20.04 | |
strategy: | |
fail-fast: true | |
matrix: | |
python-version: ["3.6", "3.7", "3.8", "3.9", "3.10", "3.11"] | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Cache dependencies (soplex) | |
id: cache-soplex | |
uses: actions/cache@v3 | |
with: | |
path: | | |
${{ runner.workspace }}/PySoPlex | |
key: ${{ runner.os }}-soplex-${{ env.version }}-${{ hashFiles('**/lockfiles') }} | |
restore-keys: | | |
${{ runner.os }}-soplex-${{ env.version }}- | |
- name: Install dependencies (soplex) | |
if: steps.cache-soplex.outputs.cache-hit != 'true' | |
run: | | |
sudo apt-get update | |
# install "libboost-all-dev" as well if needed | |
sudo apt-get install git cmake gcc g++ | |
git clone -b bugfix-70 https://github.com/scipopt/soplex.git | |
cd soplex | |
mkdir build | |
cd build | |
# set -DMPFR=On/Off and -DBOOST=On/Off explicity if needed | |
cmake ../ -DCMAKE_INSTALL_PREFIX=./install | |
make -j | |
make install | |
- name: Setup python ${{ matrix.python-version }} | |
uses: actions/setup-python@v4 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Prepare python environment | |
run: | | |
python -m pip install --upgrade pip | |
python -m pip install cython wheel pytest | |
- name: Install PySoPlex | |
run: | | |
export SOPLEX_DIR=${{ runner.workspace }}/PySoPlex/soplex/build/install | |
python -m pip install . | |
- name: Run pysoplex tests | |
run: | | |
export SOPLEX_DIR=${{ runner.workspace }}/PySoPlex/soplex/build/install | |
py.test | |
## Following Windows test produces linking errors; so turned it off for now | |
# windows-test-boost-off: | |
# runs-on: windows-latest | |
# strategy: | |
# matrix: | |
# python-version: ["3.6", "3.7", "3.8", "3.9", "3.10", "3.11"] | |
# steps: | |
# - uses: actions/checkout@v3 | |
# | |
# - name: Install dependencies (soplex) | |
# shell: powershell | |
# run: | | |
# git clone -b bugfix-70 https://github.com/scipopt/soplex.git | |
# cd soplex | |
# mkdir build | |
# cd build | |
# cmake -DCMAKE_INSTALL_PREFIX=install -DCMAKE_BUILD_TYPE=Release -DMT=on -DMPFR=Off -DBOOST=Off .. | |
# cmake --build . --config Release | |
# cmake --install . | |
# | |
# - name: Setup python ${{ matrix.python-version }} | |
# uses: actions/setup-python@v4 | |
# with: | |
# python-version: ${{ matrix.python-version }} | |
# | |
# - name: Prepare python environment | |
# shell: powershell | |
# run: | | |
# python -m pip install --upgrade pip | |
# python -m pip install cython wheel pytest | |
# which python | |
# | |
# - name: Install PySoPlex | |
# shell: powershell | |
# run: | | |
# $Env:SOPLEX_DIR = "${{ runner.workspace }}\PySoPlex\soplex\build\install" | |
# $Env:PATH += ";$Env:SOPLEX_DIR/bin" | |
# python -m pip install . | |
# | |
# - name: Run pysoplex tests | |
# shell: powershell | |
# run: | | |
# $Env:PATH += ";$Env:SOPLEX_DIR/bin" | |
# py.test | |
mac-test: | |
runs-on: macos-latest | |
strategy: | |
matrix: | |
python-version: ["3.6", "3.7", "3.8", "3.9", "3.10", "3.11"] | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Cache dependencies (soplex) | |
id: cache-soplex | |
uses: actions/cache@v3 | |
with: | |
path: | | |
${{ runner.workspace }}/PySoPlex | |
key: ${{ runner.os }}-soplex-${{ env.version }}-${{ hashFiles('**/lockfiles') }} | |
restore-keys: | | |
${{ runner.os }}-soplex-${{ env.version }}- | |
- name: Install dependencies (soplex) | |
if: steps.cache-soplex.outputs.cache-hit != 'true' | |
run: | | |
# install "boost" as well if needed | |
brew install git cmake | |
git clone -b bugfix-70 https://github.com/scipopt/soplex.git | |
cd soplex | |
mkdir build | |
cd build | |
# set -DMPFR=On/Off and -DBOOST=On/Off explicity if needed | |
cmake ../ -DCMAKE_INSTALL_PREFIX=./install | |
make -j | |
make install | |
- name: Setup python ${{ matrix.python-version }} | |
uses: actions/setup-python@v4 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Prepare python environment | |
run: | | |
python -m pip install --upgrade pip | |
python -m pip install cython wheel pytest | |
- name: Install PySoPlex | |
run: | | |
export SOPLEX_DIR=${{ runner.workspace }}/PySoPlex/soplex/build/install | |
python -m pip install . | |
- name: Run pysoplex tests | |
run: | | |
export SOPLEX_DIR=${{ runner.workspace }}/PySoPlex/soplex/build/install | |
export DYLD_LIBRARY_PATH=${{ runner.workspace }}/PySoPlex/soplex/build/install/lib:${DYLD_LIBRARY_PATH} | |
py.test | |
# ### if you need valgrind on mac, you can install it via | |
# # brew tap LouisBrunner/valgrind | |
# # brew install --HEAD LouisBrunner/valgrind/valgrind | |