diff --git a/.github/workflows/integration-test.yml b/.github/workflows/integration-test.yml index 5f5afe7..373cf16 100644 --- a/.github/workflows/integration-test.yml +++ b/.github/workflows/integration-test.yml @@ -12,37 +12,76 @@ on: jobs: -# ubuntu-test: -# runs-on: ubuntu-20.04 + 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 + sudo apt-get install git cmake gcc g++ + git clone -b master 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 }}/PySoPlex/soplex/build/install + python -m pip install . + + - name: Run pysoplex tests + run: | + export SOPLEX_DIR=${{ runner.workspace }}/PySoPlex/soplex/build/install + py.test + +# windows-test: +# runs-on: windows-latest # strategy: -# fail-fast: true # matrix: -# python-version: ["3.6", "3.7", "3.8", "3.9", "3.10", "3.11"] +# python-version: ["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' +# shell: powershell # run: | -# sudo apt-get update -# sudo apt-get install git cmake gcc g++ # 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 +# cmake -DCMAKE_INSTALL_PREFIX=install -DCMAKE_BUILD_TYPE=Release -DMT=on .. +# cmake --build . --config Release +# cmake --install . # # - name: Setup python ${{ matrix.python-version }} # uses: actions/setup-python@v4 @@ -50,62 +89,23 @@ jobs: # 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 # # - name: Install PySoPlex +# shell: powershell # run: | -# export SOPLEX_DIR=${{ runner.workspace }}/PySoPlex/soplex/build/install +# $Env:SOPLEX_DIR = "${{ runner.workspace }}\PySoPlex\soplex\build\install" # python -m pip install . # # - name: Run pysoplex tests +# shell: powershell # run: | -# export SOPLEX_DIR=${{ runner.workspace }}/PySoPlex/soplex/build/install +# $Env:PATH = "${{ runner.workspace }}\PySoPlex\soplex\build\install\bin;%PATH%" # py.test - windows-test: - runs-on: windows-latest - strategy: - matrix: - python-version: ["3.10", "3.11"] - steps: - - uses: actions/checkout@v3 - - - name: Install dependencies (soplex) - shell: powershell - run: | - git clone -b C_interface_update https://github.com/scipopt/soplex.git - cd soplex - mkdir build - cd build - cmake -DCMAKE_INSTALL_PREFIX=install -DCMAKE_BUILD_TYPE=Release -DMT=on .. - 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 - - - name: Install PySoPlex - shell: powershell - run: | - $Env:SOPLEX_DIR = "${{ runner.workspace }}\PySoPlex\soplex\build\install" - python -m pip install . - - - name: Run pysoplex tests - shell: powershell - run: | - $Env:PATH = "${{ runner.workspace }}\PySoPlex\soplex\build\install\bin;%PATH%" - py.test - # mac-test: # runs-on: macos-latest # strategy: