Skip to content

Commit 14ce185

Browse files
Merge branch 'master' into fix-updating-best-sol
2 parents d2ce094 + bcbfd62 commit 14ce185

40 files changed

+2037
-393
lines changed

.github/workflows/build_wheels.yml

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ jobs:
3030
arch: x86_64
3131
- os: macos-14
3232
arch: arm64
33-
- os: macos-13
33+
- os: macos-15-intel
3434
arch: x86_64
3535
- os: windows-latest
3636
arch: AMD64
@@ -39,15 +39,14 @@ jobs:
3939

4040
steps:
4141
- uses: actions/checkout@v4
42-
42+
4343
- name: Build wheels
44-
uses: pypa/cibuildwheel@v2.21.1
44+
uses: pypa/cibuildwheel@v3.2.1
4545
env:
4646
CIBW_ARCHS: ${{ matrix.arch }}
47-
CIBW_TEST_GROUPS: test
47+
CIBW_BEFORE_TEST: "pip install -r {project}/requirements/test.txt"
4848
CIBW_TEST_COMMAND: "pytest {project}/tests"
49-
CIBW_MANYLINUX_*_IMAGE: manylinux_2_28
50-
49+
5150
- uses: actions/upload-artifact@v4
5251
with:
5352
name: wheels-${{ matrix.os}}-${{ matrix.arch }}

.github/workflows/coverage.yml

Lines changed: 8 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
name: Run tests with coverage
22
env:
3-
version: 9.2.1
3+
version: 10.0.0
44

55
on:
66
push:
@@ -25,8 +25,8 @@ jobs:
2525

2626
- name: Install dependencies (SCIPOptSuite)
2727
run: |
28-
wget --quiet --no-check-certificate https://github.com/scipopt/scip/releases/download/$(echo "v${{env.version}}" | tr -d '.')/SCIPOptSuite-${{ env.version }}-Linux-ubuntu20.deb
29-
sudo apt-get update && sudo apt install -y ./SCIPOptSuite-${{ env.version }}-Linux-ubuntu20.deb
28+
wget --quiet --no-check-certificate "https://github.com/scipopt/scip/releases/download/v${{ env.version }}/scipoptsuite_${{ env.version }}-1+jammy_amd64.deb"
29+
sudo apt-get update && sudo apt install -y ./scipoptsuite_${{ env.version }}-1+jammy_amd64.deb
3030
3131
- name: Setup python ${{ matrix.python-version }}
3232
uses: actions/setup-python@v4
@@ -36,30 +36,22 @@ jobs:
3636
- name: Prepare python environment
3737
run: |
3838
python -m pip install --upgrade pip
39-
if python -m pip help install | grep -q -- '--group'; then
40-
python -m pip install --group coverage
41-
else
42-
python -m pip install networkx cython pytest-cov numpy
43-
fi
39+
python -m pip install -r requirements/coverage.txt
4440
4541
- name: Install PySCIPOpt
4642
run: |
47-
export CFLAGS="-O0 -ggdb -Wall -Wextra -Werror" # Debug mode. More warnings. Warnings as errors.
43+
export CFLAGS="-O0 -ggdb -Wall -Wextra -Werror -Wno-error=deprecated-declarations" # Debug mode. More warnings. Warnings as errors, but allow deprecated declarations.
4844
python -m pip install . -v 2>&1 | tee build.log
4945
grep -i "warning" build.log || true
5046
5147
- name: Run pyscipopt tests
5248
run: |
5349
sudo apt-get install tzdata locales -y && sudo locale-gen pt_PT && sudo update-locale # add pt_PT locale that is used in tests
54-
if python -m pip help install | grep -q -- '--group'; then
55-
coverage run -m pytest -nauto
56-
coverage combine
57-
else
58-
coverage run -m pytest
59-
fi
50+
coverage run -m pytest -nauto
51+
coverage combine
6052
coverage report -m
6153
coverage xml
62-
54+
6355
- name: Upload to codecov.io
6456
uses: codecov/codecov-action@v2
6557
with:
Lines changed: 24 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
name: Integration test
22

33
env:
4-
version: 9.2.0
4+
version: 10.0.0
55

6-
# runs on branches and pull requests; doesn't run on tags.
76
on:
87
push:
98
branches:
109
- 'master'
10+
workflow_dispatch:
1111

1212

1313
jobs:
@@ -17,14 +17,14 @@ jobs:
1717
strategy:
1818
fail-fast: true
1919
matrix:
20-
python-version: ["3.8", "3.9", "3.10", "3.11", "3.12"]
20+
python-version: ["3.8", "3.9", "3.10", "3.11", "3.12", "3.13"]
2121
steps:
2222
- uses: actions/checkout@v3
2323

2424
- name: Install dependencies (SCIPOptSuite)
2525
run: |
26-
wget --quiet --no-check-certificate https://github.com/scipopt/scip/releases/download/$(echo "v${{env.version}}" | tr -d '.')/SCIPOptSuite-${{ env.version }}-Linux-ubuntu20.deb
27-
sudo apt-get update && sudo apt install -y ./SCIPOptSuite-${{ env.version }}-Linux-ubuntu20.deb
26+
wget --quiet --no-check-certificate "https://github.com/scipopt/scip/releases/download/v${version}/scipoptsuite_${version}-1+jammy_amd64.deb"
27+
sudo apt-get update && sudo apt install -y ./scipoptsuite_${version}-1+jammy_amd64.deb
2828
2929
- name: Setup python ${{ matrix.python-version }}
3030
uses: actions/setup-python@v4
@@ -34,36 +34,27 @@ jobs:
3434
- name: Prepare python environment
3535
run: |
3636
python -m pip install --upgrade pip
37-
if python -m pip help install | grep -q -- '--group'; then
38-
python -m pip install --group test-full
39-
else
40-
python -m pip install networkx pytest-cov numpy
41-
fi
37+
python -m pip install -r requirements/test.txt
4238
4339
- name: Install PySCIPOpt
4440
run: python -m pip install .
4541

4642
- name: Run pyscipopt tests
47-
run: |
48-
if python -m pip help install | grep -q -- '--group'; then
49-
py.test -nauto
50-
else
51-
py.test
52-
fi
43+
run: pytest -nauto
5344

5445
Windows-test:
5546
env:
5647
SCIPOPTDIR: C:\scipoptdir
5748
runs-on: windows-latest
5849
strategy:
5950
matrix:
60-
python-version: ["3.8", "3.9", "3.10", "3.11", "3.12"]
51+
python-version: ["3.8", "3.9", "3.10", "3.11", "3.12", "3.13"]
6152
steps:
6253
- uses: actions/checkout@v3
6354

6455
- name: Download dependencies (SCIPOptSuite)
6556
shell: powershell
66-
run: wget https://github.com/scipopt/scip/releases/download/$(echo "v${{env.version}}" | tr -d '.')/SCIPOptSuite-${{ env.version }}-win64.exe -outfile scipopt-installer.exe
57+
run: wget https://github.com/scipopt/scip/releases/download/$(echo "v${{env.version}}" | tr -d '.')/scipoptsuite-${{ env.version }}-win-x64.exe -outfile scipopt-installer.exe
6758

6859
- name: Install dependencies (SCIPOptSuite)
6960
shell: cmd
@@ -77,13 +68,8 @@ jobs:
7768
- name: Prepare python environment
7869
shell: powershell
7970
run: |
80-
$pipHelp = python -m pip help install
81-
if ($pipHelp -match '--group') {
82-
python -m pip install --group test-full
83-
}
84-
else {
85-
python -m pip install wheel cython networkx pytest-cov
86-
}
71+
python -m pip install --upgrade pip
72+
python -m pip install -r requirements/test.txt
8773
8874
- name: Install PySCIPOpt
8975
shell: powershell
@@ -93,29 +79,24 @@ jobs:
9379
9480
- name: Run pyscipopt tests
9581
shell: powershell
96-
run: |
97-
$pipHelp = python -m pip help install
98-
if ($pipHelp -match '--group') {
99-
py.test -nauto
100-
} else {
101-
py.test
102-
}
82+
run: pytest -nauto
10383

10484
MacOS-test:
10585
runs-on: macos-latest
10686
strategy:
10787
matrix:
108-
python-version: ["3.8", "3.9", "3.10", "3.11", "3.12"]
88+
python-version: ["3.8", "3.9", "3.10", "3.11", "3.12", "3.13"]
10989
steps:
11090
- uses: actions/checkout@v3
11191

11292
- name: Install dependencies (SCIPOptSuite)
11393
run: |
11494
brew install tbb boost bison
115-
wget --quiet --no-check-certificate https://github.com/scipopt/scip/releases/download/$(echo "v${{env.version}}" | tr -d '.')/SCIPOptSuite-${{ env.version }}-Darwin.sh
116-
chmod +x SCIPOptSuite-${{ env.version }}-Darwin.sh
117-
./SCIPOptSuite-${{ env.version }}-Darwin.sh --skip-license --include-subdir
118-
mv SCIPOptSuite-${{ env.version }}-Darwin ${{ runner.workspace }}/scipoptsuite
95+
wget --quiet --no-check-certificate "https://github.com/scipopt/scip/releases/download/v${version}/scipoptsuite-${version}-macos13-arm64.tgz"
96+
tar xzf "scipoptsuite-${version}-macos13-arm64.tgz"
97+
chmod +x "scipoptsuite-${version}-macos13-arm64.sh"
98+
"./scipoptsuite-${version}-macos13-arm64.sh" --skip-license --include-subdir
99+
mv "scipoptsuite-${version}-macos13-arm64" "${{ github.workspace }}/scipoptsuite"
119100
120101
- name: Setup python ${{ matrix.python-version }}
121102
uses: actions/setup-python@v4
@@ -125,25 +106,20 @@ jobs:
125106
- name: Prepare python environment
126107
run: |
127108
python -m pip install --upgrade pip
128-
if python -m pip help install | grep -q -- '--group'; then
129-
python -m pip install --group test-full
130-
else
131-
python -m pip install networkx pytest-cov pytest numpy
132-
fi
109+
python -m pip install -r requirements/test.txt
133110
134111
- name: Install PySCIPOpt
135112
run: |
136-
export SCIPOPTDIR=${{ runner.workspace }}/scipoptsuite/
137-
export DYLD_LIBRARY_PATH=${DYLD_LIBRARY_PATH}:${{ runner.workspace }}/scipoptsuite/lib
113+
export SCIPOPTDIR=${{ github.workspace }}/scipoptsuite/
114+
export DYLD_LIBRARY_PATH=${DYLD_LIBRARY_PATH}:${{ github.workspace }}/scipoptsuite/lib
138115
python -m pip install .
139116
140117
# - name: Run pyscipopt tests
141118
# run: |
142-
# export SCIPOPTDIR=${{ runner.workspace }}/scipoptsuite/
143-
# export DYLD_LIBRARY_PATH=${DYLD_LIBRARY_PATH}:${{ runner.workspace }}/scipoptsuite/lib
144-
# py.test
119+
# export SCIPOPTDIR=${{ github.workspace }}/scipoptsuite/
120+
# export DYLD_LIBRARY_PATH=${DYLD_LIBRARY_PATH}:${{ github.workspace }}/scipoptsuite/lib
121+
# pytest
145122

146123
### if you need valgrind on mac, you can install it via
147124
# brew tap LouisBrunner/valgrind
148125
# brew install --HEAD LouisBrunner/valgrind/valgrind
149-

.github/workflows/test-release.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
name: TestPyPI release
22

33
env:
4-
version: 9.0.0
4+
version: 10.0.0
55

66

77
# runs only when a release is published, not on drafts
@@ -17,8 +17,8 @@ jobs:
1717

1818
- name: Install dependencies (SCIPOptSuite)
1919
run: |
20-
wget --quiet --no-check-certificate https://github.com/scipopt/scip/releases/download/$(echo "v${{env.version}}" | tr -d '.')/SCIPOptSuite-${{ env.version }}-Linux-ubuntu20.deb
21-
sudo apt-get update && sudo apt install -y ./SCIPOptSuite-${{ env.version }}-Linux-ubuntu20.deb
20+
wget --quiet --no-check-certificate "https://github.com/scipopt/scip/releases/download/v${version}/scipoptsuite_${version}-1+jammy_amd64.deb"
21+
sudo apt-get update && sudo apt install -y ./scipoptsuite_${version}-1+jammy_amd64.deb
2222
2323
- name: Setup python 3
2424
uses: actions/setup-python@v4

.github/workflows/update-packages-and-documentation.yml

Lines changed: 15 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
name: Test and Release PyPI Package
22

33
env:
4-
version: 9.0.0
4+
version: 10.0.0
55

66

77
# runs only when a release is published, not on drafts
@@ -38,8 +38,8 @@ jobs:
3838

3939
- name: Install dependencies (SCIPOptSuite)
4040
run: |
41-
wget --quiet --no-check-certificate https://github.com/scipopt/scip/releases/download/$(echo "v${{env.version}}" | tr -d '.')/SCIPOptSuite-${{ env.version }}-Linux-ubuntu20.deb
42-
sudo apt-get update && sudo apt install -y ./SCIPOptSuite-${{ env.version }}-Linux-ubuntu20.deb
41+
wget --quiet --no-check-certificate https://github.com/scipopt/scip/releases/download/$(echo "v${{env.version}}" | tr -d '.')/scipoptsuite_${{ env.version }}-1+jammy_amd64.deb
42+
sudo apt-get update && sudo apt install -y ./scipoptsuite_${{ env.version }}-1+jammy_amd64.deb
4343
4444
- name: Setup python ${{ matrix.python-version }}
4545
uses: actions/setup-python@v4
@@ -49,22 +49,14 @@ jobs:
4949
- name: Prepare python environment
5050
run: |
5151
python -m pip install --upgrade pip
52-
if python -m pip help install | grep -q -- '--group'; then
53-
python -m pip install --group test-full
54-
else
55-
python -m pip install wheel cython networkx pytest-cov
56-
fi
52+
python -m pip install -r requirements/test.txt
5753
5854
- name: Install PySCIPOpt
5955
run: python -m pip install .
6056

6157
- name: Run pyscipopt tests
6258
run: |
63-
if python -m pip help install | grep -q -- '--group'; then
64-
py.test -nauto
65-
else
66-
py.test
67-
fi
59+
py.test -nauto
6860
6961
windows-test:
7062
needs: release-integration-test
@@ -79,7 +71,9 @@ jobs:
7971

8072
- name: Download dependencies (SCIPOptSuite)
8173
shell: powershell
82-
run: wget https://github.com/scipopt/scip/releases/download/$(echo "v${{env.version}}" | tr -d '.')/SCIPOptSuite-${{ env.version }}-win64-VS15.exe -outfile scipopt-installer.exe
74+
run: |
75+
$url = "https://github.com/scipopt/scip/releases/download/v${{ env.version }}/scipoptsuite-${{ env.version }}-win-x64.exe"
76+
Invoke-WebRequest -Uri $url -OutFile scipopt-installer.exe
8377
8478
- name: Install dependencies (SCIPOptSuite)
8579
shell: cmd
@@ -94,11 +88,8 @@ jobs:
9488
shell: powershell
9589
run: |
9690
python -m pip install --upgrade pip
97-
if python -m pip help install | grep -q -- '--group'; then
98-
python -m pip install --group test-full
99-
else
100-
python -m pip install wheel cython networkx pytest-cov
101-
fi
91+
python -m pip install -r requirements/test.txt
92+
10293
- name: Install PySCIPOpt
10394
shell: powershell
10495
run: |
@@ -107,23 +98,19 @@ jobs:
10798
- name: Run pyscipopt tests
10899
shell: powershell
109100
run: |
110-
if python -m pip help install | grep -q -- '--group'; then
111-
py.test -nauto
112-
else
113-
py.test
114-
fi
101+
py.test -nauto
115102
116103
117104
deploy-packages-and-generate-documentation:
118-
needs: Windows-test
105+
needs: windows-test
119106
runs-on: ubuntu-22.04
120107
steps:
121108
- uses: actions/checkout@v3
122109

123110
- name: Install dependencies (SCIPOptSuite)
124111
run: |
125-
wget --quiet --no-check-certificate https://github.com/scipopt/scip/releases/download/$(echo "v${{env.version}}" | tr -d '.')/SCIPOptSuite-${{ env.version }}-Linux-ubuntu20.deb
126-
sudo apt-get update && sudo apt install -y ./SCIPOptSuite-${{ env.version }}-Linux-ubuntu20.deb
112+
wget --quiet --no-check-certificate https://github.com/scipopt/scip/releases/download/$(echo "v${{env.version}}" | tr -d '.')/scipoptsuite_${{ env.version }}-1+jammy_amd64.deb
113+
sudo apt-get update && sudo apt install -y ./scipoptsuite_${{ env.version }}-1+jammy_amd64.deb
127114
128115
- name: Setup python 3
129116
uses: actions/setup-python@v4
@@ -150,4 +137,4 @@ jobs:
150137
user: __token__
151138
password: ${{ secrets.PYPI_API_TOKEN }}
152139
verbose: true
153-
packages_dir: dist/
140+
packages_dir: dist/

0 commit comments

Comments
 (0)