-
Notifications
You must be signed in to change notification settings - Fork 0
170 lines (157 loc) · 5.07 KB
/
integration-test.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
name: Integration test
env:
version: 6.0.4
# runs on branches and pull requests; doesn't run on tags.
on:
push:
branches:
- '**'
pull_request:
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
# 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
# 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:
# matrix:
# python-version: ["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 ..
# 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"
# 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:
matrix:
python-version: ["3.10"]
steps:
- uses: actions/checkout@v3
- name: Cache dependencies (soplex)
id: cache-soplex
uses: actions/cache@v3
with:
path: |
${{ runner.workspace }}/PySoPlex
~/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 bugfix-70 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
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
#