17
17
runs-on : ubuntu-latest
18
18
steps :
19
19
- uses : actions/checkout@v3
20
+ with :
21
+ fetch-depth : 0
20
22
21
23
- name : Build SDist
22
24
run : pipx run build --sdist
58
60
59
61
steps :
60
62
- uses : actions/checkout@v3
63
+ with :
64
+ fetch-depth : 0
61
65
62
66
- uses : actions/setup-python@v4
63
67
with :
79
83
# Build SuiteSparse
80
84
CIBW_BEFORE_ALL : bash suitesparse.sh ${{ github.ref }}
81
85
82
- # Ask suitesparse.sh to build libraries in MSVC style on Windows.
83
- CIBW_ENVIRONMENT_WINDOWS : CMAKE_GNUtoMS=ON
86
+ # CMAKE_GNUtoMS=ON asks suitesparse.sh to build libraries in MSVC style on Windows.
87
+ CIBW_ENVIRONMENT_WINDOWS : CMAKE_GNUtoMS=ON GRAPHBLAS_PREFIX="C:/GraphBLAS"
84
88
85
89
# macOS libomp requires special configs. BREW_LIBOMP=1 asks suitesparse.sh to include them.
86
90
CIBW_ENVIRONMENT_MACOS : BREW_LIBOMP="1"
@@ -101,7 +105,7 @@ jobs:
101
105
# Note: Currently using a workaround: --no-mangle instead of stripping graphblas.dll
102
106
# see https://github.com/adang1345/delvewheel/issues/33
103
107
CIBW_BEFORE_BUILD_WINDOWS : " pip install delvewheel"
104
- CIBW_REPAIR_WHEEL_COMMAND_WINDOWS : " delvewheel repair --add-path \" C:\\ Program Files (x86) \\ bin\" --no-mangle \" libgomp-1.dll;libgcc_s_seh-1.dll\" -w {dest_dir} {wheel}"
108
+ CIBW_REPAIR_WHEEL_COMMAND_WINDOWS : " delvewheel repair --add-path \" C:\\ GraphBLAS \\ bin\" --no-mangle \" libgomp-1.dll;libgcc_s_seh-1.dll\" -w {dest_dir} {wheel}"
105
109
106
110
# make cibuildwheel install test dependencies from pyproject.toml
107
111
CIBW_TEST_EXTRAS : " test"
@@ -118,9 +122,21 @@ jobs:
118
122
shell : bash
119
123
120
124
- uses : actions/upload-artifact@v3
125
+ id : uploadAttempt1
126
+ continue-on-error : true
121
127
with :
122
128
path : wheelhouse/*.whl
129
+ if-no-files-found : error
123
130
131
+ # Retry upload if first attempt failed. This happens somewhat randomly and for irregular reasons.
132
+ # Logic is a duplicate of previous step.
133
+ - uses : actions/upload-artifact@v3
134
+ id : uploadAttempt2
135
+ if : steps.uploadAttempt1.outcome == 'failure'
136
+ continue-on-error : false
137
+ with :
138
+ path : wheelhouse/*.whl
139
+ if-no-files-found : error
124
140
125
141
upload_all :
126
142
name : Upload to PyPI
0 commit comments