@@ -13,12 +13,12 @@ jobs:
1313 - os : ubuntu-24.04
1414 compiler : ' clang'
1515 configure_options : ' '
16- - os : ubuntu-24.04-arm
17- compiler : ' clang'
18- configure_options : ' '
1916 - os : ubuntu-24.04
2017 compiler : ' gcc'
2118 configure_options : ' '
19+ - os : ubuntu-24.04-arm
20+ compiler : ' clang'
21+ configure_options : ' '
2222 - os : ubuntu-24.04-arm
2323 compiler : ' gcc'
2424 configure_options : ' '
@@ -30,23 +30,27 @@ jobs:
3030 configure_options : ' --enable-wide-character-type'
3131 - os : ubuntu-24.04
3232 compiler : ' gcc'
33- configure_options : ' --enable-static-executables=yes --enable-multi-threading-support=no '
33+ configure_options : ' --disable-multi-threading-support --enable-static-executables '
3434 steps :
3535 - uses : actions/checkout@v6
3636 - name : Install build dependencies
3737 run : |
38+ sudo apt -y update
3839 sudo apt -y install autoconf automake autopoint build-essential git libtool pkg-config
3940 - name : Download test data
4041 run : |
4142 if test -x "synctestdata.sh"; then ./synctestdata.sh; fi
42- - name : Building from source
43+ - name : Build from source
4344 env :
4445 CC : ${{ matrix.compiler }}
4546 run : |
46- tests/build.sh ${{ matrix.configure_options }}
47+ ./synclibs.sh --use-head
48+ ./autogen.sh
49+ ./configure ${{ matrix.configure_options }}
50+ make > /dev/null
4751 - name : Run tests
4852 run : |
49- tests/runtests.sh
53+ tests/runtests.sh CHECK_WITH_STDERR=1
5054 build_dist :
5155 runs-on : ${{ matrix.os }}
5256 strategy :
@@ -59,19 +63,54 @@ jobs:
5963 - uses : actions/checkout@v6
6064 - name : Install build dependencies
6165 run : |
66+ sudo apt -y update
6267 sudo apt -y install autoconf automake autopoint build-essential git libtool pkg-config
6368 - name : Download test data
6469 run : |
6570 if test -x "synctestdata.sh"; then ./synctestdata.sh; fi
66- - name : Building from source
71+ - name : Build from source
6772 env :
6873 CC : ${{ matrix.compiler }}
6974 run : |
70- tests/build.sh ${{ matrix.configure_options }}
75+ ./synclibs.sh --use-head
76+ ./autogen.sh
77+ ./configure ${{ matrix.configure_options }}
78+ make > /dev/null
7179 - name : Run tests
7280 run : |
7381 make distcheck
74- build_python_ubuntu :
82+ build_mingw :
83+ runs-on : ${{ matrix.os }}
84+ strategy :
85+ matrix :
86+ include :
87+ - os : ubuntu-24.04
88+ configure_options : ' --enable-mingw-binmode --host=x86_64-w64-mingw32'
89+ steps :
90+ - uses : actions/checkout@v6
91+ - name : Install build dependencies
92+ run : |
93+ sudo apt -y update
94+ sudo apt -y install autoconf automake autopoint build-essential git libtool pkg-config mingw-w64 wine wine-binfmt
95+ sudo mount -t binfmt_misc binfmt_misc /proc/sys/fs/binfmt_misc 2>/dev/null || true
96+ sudo sh -c "echo ':DOSWin:M::MZ::/usr/bin/wine:' > /proc/sys/fs/binfmt_misc/register"
97+ - name : Download test data
98+ run : |
99+ if test -x "synctestdata.sh"; then ./synctestdata.sh; fi
100+ - name : Build from source
101+ run : |
102+ ./synclibs.sh --use-head
103+ ./autogen.sh
104+ ./configure ${{ matrix.configure_options }}
105+ make > /dev/null
106+ - name : Run tests
107+ env :
108+ WINE_DRIVER : " null"
109+ WINEDEBUG : " -all,err-winediag,err-systray"
110+ WINEDLLOVERRIDES : " explorer.exe=d"
111+ run : |
112+ tests/runtests.sh CHECK_WITH_STDERR=1
113+ build_python :
75114 runs-on : ${{ matrix.os }}
76115 strategy :
77116 matrix :
@@ -84,23 +123,25 @@ jobs:
84123 - uses : actions/checkout@v6
85124 - name : Install build dependencies
86125 run : |
87- sudo add-apt-repository universe &&
88- sudo apt update &&
126+ sudo apt -y update
89127 sudo apt -y install autoconf automake autopoint build-essential git libtool pkg-config python3-dev
90128 - name : Download test data
91129 run : |
92130 if test -x "synctestdata.sh"; then ./synctestdata.sh; fi
93- - name : Building from source
131+ - name : Build from source
94132 env :
95133 CC : ${{ matrix.compiler }}
96134 run : |
97- tests/build.sh ${{ matrix.configure_options }}
135+ ./synclibs.sh --use-head
136+ ./autogen.sh
137+ ./configure ${{ matrix.configure_options }}
138+ make > /dev/null
98139 - name : Run tests
99140 env :
100141 PYTHON_VERSION : ${{ matrix.python_version }}
101142 run : |
102- tests/runtests.sh
103- build_pyproject_ubuntu :
143+ tests/runtests.sh CHECK_WITH_STDERR=1
144+ build_pyproject :
104145 runs-on : ${{ matrix.os }}
105146 strategy :
106147 matrix :
@@ -112,14 +153,16 @@ jobs:
112153 - uses : actions/checkout@v6
113154 - name : Install build dependencies
114155 run : |
115- sudo add-apt-repository universe &&
116- sudo apt update &&
156+ sudo apt -y update
117157 sudo apt -y install autoconf automake autopoint build-essential git libtool pkg-config python3 python3-build python3-dev
118- - name : Building from source
158+ - name : Build from source
119159 env :
120160 CC : ${{ matrix.compiler }}
121161 run : |
122- tests/build.sh ${{ matrix.configure_options }}
162+ ./synclibs.sh --use-head
163+ ./autogen.sh
164+ ./configure ${{ matrix.configure_options }}
165+ make > /dev/null
123166 - name : Build Python module
124167 run : |
125168 python -m build
@@ -138,52 +181,22 @@ jobs:
138181 - uses : actions/checkout@v6
139182 - name : Install build dependencies
140183 run : |
184+ sudo apt -y update
141185 sudo apt -y install autoconf automake autopoint build-essential git libtool pkg-config
142186 - name : Download test data
143187 run : |
144188 if test -x "synctestdata.sh"; then ./synctestdata.sh; fi
145189 - name : Prepare shared libraries
146190 run : |
147191 tests/syncsharedlibs.sh --use-head
148- - name : Building from source
149- env :
150- CC : ${{ matrix.compiler }}
151- run : |
152- tests/build.sh ${{ matrix.configure_options }}
153- - name : Run tests
154- run : |
155- tests/runtests.sh
156- coverage :
157- runs-on : ${{ matrix.os }}
158- strategy :
159- matrix :
160- include :
161- - os : ubuntu-24.04
162- compiler : ' gcc'
163- configure_options : ' --enable-wide-character-type'
164- steps :
165- - uses : actions/checkout@v6
166- - name : Install build dependencies
167- run : |
168- sudo apt -y install curl autoconf automake autopoint build-essential git libtool pkg-config
169- - name : Download test data
170- run : |
171- if test -x "synctestdata.sh"; then ./synctestdata.sh; fi
172- - name : Building from source
192+ - name : Build from source
173193 env :
174194 CC : ${{ matrix.compiler }}
175195 run : |
176- tests/build.sh ${{ matrix.configure_options }} --enable-shared=no CFLAGS="--coverage -O0" CPPFLAGS="-DOPTIMIZATION_DISABLED" LDFLAGS="--coverage"
196+ ./synclibs.sh --use-head
197+ ./autogen.sh
198+ ./configure ${{ matrix.configure_options }}
199+ make > /dev/null
177200 - name : Run tests
178201 run : |
179- make check CHECK_WITH_STDERR=1 SKIP_TOOLS_END_TO_END_TESTS=1
180- - name : Generate coverage data
181- run : |
182- for DIRECTORY in `find . -maxdepth 1 -type d`; do \
183- (cd ${DIRECTORY} && find . -maxdepth 1 -name \*.gcno -type f -exec gcov -pb {} \;) \
184- done
185- - name : Upload coverage report to Codecov
186- uses : codecov/codecov-action@v6
187- with :
188- name : ${{ matrix.os }}-gcc-no-optimization
189- token : ${{ secrets.CODECOV_TOKEN }}
202+ tests/runtests.sh CHECK_WITH_STDERR=1
0 commit comments