diff --git a/.github/workflows/integration-test.yml b/.github/workflows/integration-test.yml index 5d7fd2d..5e0f854 100644 --- a/.github/workflows/integration-test.yml +++ b/.github/workflows/integration-test.yml @@ -32,8 +32,6 @@ jobs: cmake ../ -DCMAKE_INSTALL_PREFIX=./install make -j make install - pwd - ls ../../ - name: Setup python ${{ matrix.python-version }} uses: actions/setup-python@v4 @@ -47,11 +45,12 @@ jobs: - name: Install PySoPlex run: | - export SOPLEX_DIR=./soplex/build/install + export SOPLEX_DIR=${{ runner.workspace }}/soplex/build/install python -m pip install . - name: Run pysoplex tests run: | + export SOPLEX_DIR=${{ runner.workspace }}/soplex/build/install py.test # Windows-test: @@ -93,65 +92,63 @@ jobs: # shell: powershell # run: | # py.test -# -# MacOS-test: -# runs-on: macos-latest -# strategy: -# matrix: -# python-version: ["3.8", "3.9", "3.10", "3.11"] -# steps: -# - uses: actions/checkout@v3 -# -# - name: Cache dependencies (SCIPOptSuite) -# id: cache-scip -# uses: actions/cache@v2 -# with: -# path: | -# ${{ runner.workspace }}/scipoptsuite -# ~/Library/Caches/Homebrew/tbb--* -# /usr/local/opt/tbb* -# ~/Library/Caches/Homebrew/downloads/*--tbb-* -# ~/Library/Caches/Homebrew/boost--* -# /usr/local/opt/boost* -# ~/Library/Caches/Homebrew/downloads/*--boost-* -# key: ${{ runner.os }}-scipopt-${{ env.version }}-${{ hashFiles('**/lockfiles') }} -# restore-keys: | -# ${{ runner.os }}-scipopt-${{ env.version }}- -# -# - name: Install dependencies (SCIPOptSuite) -# if: steps.cache-scip.outputs.cache-hit != 'true' -# run: | -# brew install tbb boost bison -# wget --quiet --no-check-certificate https://github.com/scipopt/scip/releases/download/$(echo "v${{env.version}}" | tr -d '.')/scipoptsuite-${{ env.version }}.tgz -# tar xfz scipoptsuite-${{ env.version }}.tgz -# cd scipoptsuite-${{ env.version }} -# mkdir build -# cd build -# cmake .. -DCMAKE_BUILD_TYPE=Debug -DCMAKE_INSTALL_PREFIX=${{ runner.workspace }}/scipoptsuite -DIPOPT=off -DSYM=none -DTPI=tny -DREADLINE=off -# make install -j -# -# - 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 networkx pytest-cov pytest -# -# - name: Install PySCIPOpt -# run: | -# export SCIPOPTDIR=${{ runner.workspace }}/scipoptsuite/ -# export DYLD_LIBRARY_PATH=${DYLD_LIBRARY_PATH}:${{ runner.workspace }}/scipoptsuite/lib -# python -m pip install . -# -## - name: Run pyscipopt tests -## run: | -## export SCIPOPTDIR=${{ runner.workspace }}/scipoptsuite/ -## export DYLD_LIBRARY_PATH=${DYLD_LIBRARY_PATH}:${{ runner.workspace }}/scipoptsuite/lib -## 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@v2 + with: + path: | + ${{ runner.workspace }}/soplex + ~/Library/Caches/Homebrew/git--* + /usr/local/opt/git* + ~/Library/Caches/Homebrew/downloads/*--git-* + ~/Library/Caches/Homebrew/cmake--* + /usr/local/opt/cmake* + ~/Library/Caches/Homebrew/downloads/*--cmake-* + 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: | + brew install git cmake + git clone -b C_interface_update https://github.com/scipopt/soplex.git + cd soplex + mkdir build + cd build + 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 }}/soplex/build/install + python -m pip install . + + - name: Run pysoplex tests + run: | + export SOPLEX_DIR=${{ runner.workspace }}/soplex/build/install + py.test + # ### if you need valgrind on mac, you can install it via # # brew tap LouisBrunner/valgrind # # brew install --HEAD LouisBrunner/valgrind/valgrind