1
- # This is a basic workflow to help you get started with Actions
2
-
3
1
name : Windows build
4
2
5
- defaults :
6
- run :
7
- shell : bash
8
-
9
3
on :
10
4
push :
11
5
branches : [ master ]
15
9
env :
16
10
OPENBLAS_COMMIT : " bfd9c1b58cd3"
17
11
OPENBLAS_ROOT : " c:\\ opt"
12
+ # Preserve working directory for calls into bash
13
+ CHERE_INVOKING : " yes"
14
+ BASH_PATH : " c:\\ rtools40\\ usr\\ bin\\ bash"
18
15
19
16
jobs :
20
17
build :
21
18
strategy :
22
19
matrix :
23
20
BUILD_BITS : [64, 32]
24
- INTERFACE64 : ['1', '']
21
+ INTERFACE64 : ['1', '0 ']
25
22
os : [windows-latest]
26
23
exclude :
27
24
- BUILD_BITS : 32
@@ -31,65 +28,46 @@ jobs:
31
28
32
29
steps :
33
30
- uses : actions/checkout@v2
34
- - uses : ilammy/msvc-dev-cmd@v1
35
-
36
- - name : Setup
31
+ - name : install-rtools
37
32
run : |
38
- BITS=${{ matrix.BUILD_BITS }}
39
- echo "BUILD_BITS=$BITS" >> $GITHUB_ENV;
40
- if [ "$BITS" == "32" ]; then
41
- echo "PLAT=i686" >> $GITHUB_ENV;
42
- else
43
- echo "PLAT=x86_64" >> $GITHUB_ENV;
44
- fi
45
- echo "START_DIR=$PWD" >> $GITHUB_ENV;
46
- choco install -y zip
47
-
48
- - run : |
49
- choco install -y mingw --forcex86 --force --version=8.1.0
50
- choco install -y make
51
- name: Install 32-bit mingw
52
- shell: powershell
53
- if: ${{ matrix.BUILD_BITS == '32' }}
33
+ choco install rtools --no-progress
54
34
55
- - run : |
56
- # see https://www.mail-archive.com/gcc-bugs@gcc.gnu.org/msg586184.html
57
- if [ "${{ matrix.BUILD_BITS }}" == "64" ]; then
58
- include=/c/ProgramData/Chocolatey/lib/mingw/tools/install/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/avx512fintrin.h
59
- else
60
- include=/c/ProgramData/Chocolatey/lib/mingw/tools/install/mingw32/lib/gcc/i686-w64-mingw32/8.1.0/include/avx512fintrin.h
61
- fi
62
- sed -i -e"s/_mm512_abs_pd (__m512 __A)/_mm512_abs_pd (__m512d __A)/" $include
63
- name: Fix gcc bug
35
+ - name : Set env variables
36
+ run : |
37
+ echo "START_DIR=$PWD" >> $env:GITHUB_ENV
38
+ $BITS = ${{ matrix.BUILD_BITS }}
39
+ echo "BUILD_BITS=$BITS" >> $env:GITHUB_ENV
40
+ # For interpretation of MSYSTEM, see:
41
+ # https://sourceforge.net/p/msys2/discussion/general/thread/b7dfdac8/#3939
42
+ if ($BITS -eq 32) {
43
+ echo "PLAT=i686" >> $env:GITHUB_ENV
44
+ echo "MSYSTEM=MINGW32" >> $env:GITHUB_ENV
45
+ echo "LDFLAGS=-static -static-libgcc" >> $env:GITHUB_ENV
46
+ } else {
47
+ echo "PLAT=x86_64" >> $env:GITHUB_ENV
48
+ echo "MSYSTEM=UCRT64" >> $env:GITHUB_ENV
49
+ echo "LDFLAGS=-lucrt -static -static-libgcc" >> $env:GITHUB_ENV
50
+ }
51
+ if ( ${{ matrix.INTERFACE64 }} -eq 1 ) {
52
+ echo "INTERFACE64=1" >> $env:GITHUB_ENV
53
+ }
64
54
65
55
- name : Build
66
56
run : |
67
- BITS=${{ matrix.BUILD_BITS }}
68
- if [ "${{ matrix.INTERFACE64 }}" == "1" ]; then
69
- export INTERFACE64=1
70
- fi
71
- if [ "$BITS" == "32" ]; then
72
- export PATH=/c/ProgramData/chocolatey/lib/mingw/tools/install/mingw32/bin:$PATH
73
- fi
74
- echo $PATH
75
57
git submodule update --init --recursive
76
- tools/build_openblas.sh
58
+ & $env:BASH_PATH -lc tools/build_openblas.sh
77
59
78
60
- name : Test
79
61
run : |
80
- BITS=${{ matrix.BUILD_BITS }}
81
- if [ "$BITS" == "32" ]; then
82
- export PATH=/c/ProgramData/chocolatey/lib/mingw/tools/install/mingw32/bin:$PATH
83
- fi
84
- if [ "${{ matrix.INTERFACE64 }}" == "1" ]; then
85
- export INTERFACE64=1
86
- fi
87
- tools/build_gfortran.sh
88
- cp test.exe builds
89
- cp test_dyn.exe builds
90
- ./test.exe
91
- cp $(cygpath $OPENBLAS_ROOT)/$BITS/bin/*.dll .
92
- ./test_dyn.exe
62
+ & $env:BASH_PATH -lc tools/build_gfortran.sh
63
+ echo "Static test"
64
+ .\for_test\test.exe
65
+ echo "Dynamic test"
66
+ .\for_test\test_dyn.exe
67
+
68
+ - name : Copy
69
+ run : |
70
+ cp for_test\test*.exe builds
93
71
94
72
- uses : actions/upload-artifact@v3
95
73
with :
100
78
OPENBLAS_LIBS_STAGING_UPLOAD_TOKEN : ${{ secrets.MULTIBUILD_WHEELS_STAGING_ACCESS }}
101
79
run : |
102
80
pip install -q git+https://github.com/Anaconda-Platform/anaconda-client@1.8.0
103
- tools/upload_to_anaconda_staging.sh
81
+ & $env:BASH_PATH -lc tools/upload_to_anaconda_staging.sh
0 commit comments