Skip to content

Commit 57eb2f0

Browse files
committed
Worked on tests and changes for CI tests
1 parent d592e0c commit 57eb2f0

45 files changed

Lines changed: 1470 additions & 986 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
Lines changed: 26 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,39 @@
11
# Build from source on FreeBSD.
22
name: build_freebsd
3-
on: [push]
3+
on:
4+
pull_request:
5+
push:
46
permissions: read-all
57
jobs:
68
build:
79
runs-on: ubuntu-latest
10+
strategy:
11+
matrix:
12+
include:
13+
- configure_options: ''
814
steps:
915
- uses: actions/checkout@v6
10-
- name: Building from source
11-
id: build_freebsd
16+
- name: Start VM
1217
uses: vmactions/freebsd-vm@v1
1318
with:
1419
usesh: true
1520
mem: 4096
16-
# Note that the test scripts require bash
1721
prepare: |
18-
pkg install -y autoconf automake bash gettext git libtool pkgconf
19-
run: |
20-
tests/build.sh
21-
tests/runtests.sh
22+
pkg install -y autoconf automake bash curl gettext git libtool pkgconf
23+
- name: Download test data
24+
shell: freebsd {0}
25+
run: |
26+
if test -x "synctestdata.sh"; then ./synctestdata.sh; fi
27+
- name: Build from source
28+
shell: freebsd {0}
29+
env:
30+
CC: ${{ matrix.compiler }}
31+
run: |
32+
./synclibs.sh --use-head
33+
./autogen.sh
34+
./configure ${{ matrix.configure_options }}
35+
make > /dev/null
36+
- name: Run tests
37+
shell: freebsd {0}
38+
run: |
39+
tests/runtests.sh CHECK_WITH_STDERR=1

.github/workflows/build_linux.yml

Lines changed: 70 additions & 57 deletions
Original file line numberDiff line numberDiff line change
@@ -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

.github/workflows/build_macos.yml

Lines changed: 71 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,12 +11,19 @@ jobs:
1111
matrix:
1212
include:
1313
- os: macos-14
14+
compiler: 'clang'
1415
configure_options: ''
1516
- os: macos-15
17+
compiler: 'clang'
1618
configure_options: ''
1719
- os: macos-26
20+
compiler: 'clang'
21+
configure_options: ''
22+
- os: macos-26
23+
compiler: 'gcc'
1824
configure_options: ''
1925
- os: macos-26-intel
26+
compiler: 'clang'
2027
configure_options: ''
2128
steps:
2229
- uses: actions/checkout@v6
@@ -28,11 +35,72 @@ jobs:
2835
- name: Download test data
2936
run: |
3037
if test -x "synctestdata.sh"; then ./synctestdata.sh; fi
31-
- name: Building from source
38+
- name: Build from source
3239
env:
3340
CC: ${{ matrix.compiler }}
3441
run: |
35-
tests/build.sh ${{ matrix.configure_options }}
42+
./synclibs.sh --use-head
43+
./autogen.sh
44+
./configure ${{ matrix.configure_options }}
45+
make > /dev/null
3646
- name: Run tests
3747
run: |
38-
tests/runtests.sh
48+
tests/runtests.sh CHECK_WITH_STDERR=1
49+
build_python:
50+
runs-on: ${{ matrix.os }}
51+
strategy:
52+
matrix:
53+
include:
54+
- os: macos-26
55+
compiler: 'gcc'
56+
configure_options: '--enable-python'
57+
steps:
58+
- uses: actions/checkout@v6
59+
- name: Install build dependencies
60+
run: |
61+
brew update -q
62+
brew install -q autoconf automake gettext gnu-sed libtool pkg-config || true
63+
ln -s /usr/local/bin/glibtoolize /usr/local/bin/libtoolize
64+
- name: Download test data
65+
run: |
66+
if test -x "synctestdata.sh"; then ./synctestdata.sh; fi
67+
- name: Build from source
68+
env:
69+
CC: ${{ matrix.compiler }}
70+
run: |
71+
./synclibs.sh --use-head
72+
./autogen.sh
73+
./configure ${{ matrix.configure_options }}
74+
make > /dev/null
75+
- name: Run tests
76+
run: |
77+
tests/runtests.sh CHECK_WITH_STDERR=1
78+
build_pkgbuild:
79+
runs-on: ${{ matrix.os }}
80+
strategy:
81+
matrix:
82+
include:
83+
- os: macos-26
84+
compiler: 'clang'
85+
configure_options: '--disable-dependency-tracking --prefix=/usr/local --with-pyprefix'
86+
steps:
87+
- uses: actions/checkout@v6
88+
- name: Install build dependencies
89+
run: |
90+
brew update -q
91+
brew install -q autoconf automake gettext gnu-sed libtool pkg-config || true
92+
ln -s /usr/local/bin/glibtoolize /usr/local/bin/libtoolize
93+
- name: Download test data
94+
run: |
95+
if test -x "synctestdata.sh"; then ./synctestdata.sh; fi
96+
- name: Build from source
97+
env:
98+
CC: ${{ matrix.compiler }}
99+
run: |
100+
./synclibs.sh --use-head
101+
./autogen.sh
102+
./configure ${{ matrix.configure_options }}
103+
make > /dev/null
104+
- name: Build pkg
105+
run: |
106+
tests/pkgbuild.sh

0 commit comments

Comments
 (0)