Skip to content

Commit 38bbc20

Browse files
committed
Worked on tests and changes for CI tests
1 parent 86facf8 commit 38bbc20

19 files changed

Lines changed: 2493 additions & 258 deletions
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: Build 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

.github/workflows/build_linux.yml

Lines changed: 15 additions & 6 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: ''
@@ -37,7 +37,10 @@ jobs:
3737
env:
3838
CC: ${{ matrix.compiler }}
3939
run: |
40-
tests/build.sh ${{ matrix.configure_options }}
40+
./synclibs.sh --use-head
41+
./autogen.sh
42+
./configure ${{ matrix.configure_options }}
43+
make > /dev/null
4144
- name: Run tests
4245
run: |
4346
tests/runtests.sh
@@ -61,7 +64,10 @@ jobs:
6164
env:
6265
CC: ${{ matrix.compiler }}
6366
run: |
64-
tests/build.sh ${{ matrix.configure_options }}
67+
./synclibs.sh --use-head
68+
./autogen.sh
69+
./configure ${{ matrix.configure_options }}
70+
make > /dev/null
6571
- name: Run tests
6672
run: |
6773
make distcheck
@@ -88,7 +94,10 @@ jobs:
8894
env:
8995
CC: ${{ matrix.compiler }}
9096
run: |
91-
tests/build.sh ${{ matrix.configure_options }}
97+
./synclibs.sh --use-head
98+
./autogen.sh
99+
./configure ${{ matrix.configure_options }}
100+
make > /dev/null
92101
- name: Run tests
93102
run: |
94103
tests/runtests.sh

.github/workflows/build_macos.yml

Lines changed: 42 additions & 1 deletion
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
@@ -29,8 +36,42 @@ jobs:
2936
run: |
3037
if test -x "synctestdata.sh"; then ./synctestdata.sh; fi
3138
- name: Build from source
39+
env:
40+
CC: ${{ matrix.compiler }}
3241
run: |
33-
tests/build.sh ${{ matrix.configure_options }}
42+
./synclibs.sh --use-head
43+
./autogen.sh
44+
./configure ${{ matrix.configure_options }}
45+
make > /dev/null
3446
- name: Run tests
3547
run: |
3648
tests/runtests.sh
49+
build_pkgbuild:
50+
runs-on: ${{ matrix.os }}
51+
strategy:
52+
matrix:
53+
include:
54+
- os: macos-26
55+
compiler: 'clang'
56+
configure_options: '--disable-dependency-tracking --prefix=/usr/local --with-pyprefix'
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: Build pkg
76+
run: |
77+
tests/pkgbuild.sh

.github/workflows/build_windows.yml

Lines changed: 24 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -36,18 +36,24 @@ jobs:
3636
strategy:
3737
matrix:
3838
include:
39-
- configure_options: '--enable-winapi=no'
40-
- configure_options: '--enable-winapi=yes'
39+
- configure_options: ''
4140
steps:
4241
- name: Configure git
4342
run: git config --global core.autocrlf false
4443
- uses: actions/checkout@v6
4544
- name: Install Cygwin and build dependencies
4645
uses: cygwin/cygwin-install-action@v6
4746
with:
48-
packages: autoconf, automake, gettext-devel, git, libtool, make, mingw-w64-x86_64-gcc, pkg-config
47+
packages: autoconf, automake, binutils, gcc-core, gettext-devel, git, libtool, make, pkg-config
4948
platform: x86_64
5049
add-to-path: true
50+
- name: Download test data
51+
shell: bash --login -e -o pipefail -o igncr {0}
52+
working-directory: ${{ github.workspace }}
53+
env:
54+
CHERE_INVOKING: 1
55+
run: |
56+
if test -x "synctestdata.sh"; then ./synctestdata.sh; fi
5157
- name: Build from source
5258
shell: bash --login -e -o pipefail -o igncr {0}
5359
working-directory: ${{ github.workspace }}
@@ -56,21 +62,24 @@ jobs:
5662
CONFIGURE_OPTIONS: ${{ matrix.configure_options }}
5763
LD: ld
5864
run: |
59-
if test -x "synctestdata.sh"; then ./synctestdata.sh; fi
60-
tests/build.sh ${CONFIGURE_OPTIONS}
65+
./synclibs.sh --use-head
66+
./autogen.sh
67+
./configure ${CONFIGURE_OPTIONS}
68+
make > /dev/null
6169
- name: Run tests
6270
shell: bash --login -e -o pipefail -o igncr {0}
6371
working-directory: ${{ github.workspace }}
6472
env:
6573
CHERE_INVOKING: 1
6674
run: |
6775
tests/runtests.sh
68-
build_mingw:
76+
build_msys2_mingw:
6977
runs-on: windows-latest
7078
strategy:
7179
matrix:
7280
include:
73-
- configure_options: ''
81+
- configure_options: '--disable-winapi'
82+
- configure_options: '--enable-winapi'
7483
steps:
7584
- uses: actions/checkout@v6
7685
- name: Set up MSYS2 with MinGW-w64
@@ -79,13 +88,19 @@ jobs:
7988
msystem: MINGW64
8089
update: true
8190
install: autoconf automake gettext gettext-devel git libtool make mingw-w64-x86_64-gcc pkg-config
91+
- name: Download test data
92+
shell: msys2 {0}
93+
run: |
94+
if test -x "synctestdata.sh"; then ./synctestdata.sh; fi
8295
- name: Build from source
8396
shell: msys2 {0}
8497
env:
8598
CONFIGURE_OPTIONS: ${{ matrix.configure_options }}
8699
run: |
87-
if test -x "synctestdata.sh"; then ./synctestdata.sh; fi
88-
tests/build.sh ${CONFIGURE_OPTIONS}
100+
./synclibs.sh --use-head
101+
./autogen.sh
102+
./configure ${CONFIGURE_OPTIONS}
103+
make > /dev/null
89104
- name: Run tests
90105
shell: msys2 {0}
91106
run: |

.github/workflows/check_source.yml

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,10 @@ jobs:
2727
env:
2828
CC: ${{ matrix.compiler }}
2929
run: |
30-
tests/build.sh ${{ matrix.configure_options }}
30+
./synclibs.sh --use-head
31+
./autogen.sh
32+
./configure ${{ matrix.configure_options }}
33+
make > /dev/null
3134
- name: Run tests
3235
run: |
3336
make check CHECK_WITH_ASAN=1 CHECK_WITH_STDERR=1
@@ -115,7 +118,10 @@ jobs:
115118
env:
116119
CC: ${{ matrix.compiler }}
117120
run: |
118-
tests/build.sh ${{ matrix.configure_options }}
121+
./synclibs.sh --use-head
122+
./autogen.sh
123+
./configure ${{ matrix.configure_options }}
124+
make > /dev/null
119125
- name: Run tests
120126
run: |
121127
make check CHECK_WITH_STDERR=1

.github/workflows/coverage.yml

Lines changed: 28 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,10 @@ jobs:
1010
strategy:
1111
matrix:
1212
include:
13-
- configure_options: '--enable-code-coverage --enable-winapi=yes'
13+
- configure_options: '--enable-code-coverage --enable-winapi'
1414
codecov_name: 'cygwin64-gcc-no-optimization'
1515
steps:
16-
- name: Configure git
16+
- name: Configure git
1717
run: git config --global core.autocrlf false
1818
- uses: actions/checkout@v6
1919
- name: Install Cygwin and build dependencies
@@ -22,6 +22,13 @@ jobs:
2222
packages: autoconf, automake, curl, gettext-devel, git, libtool, make, mingw-w64-x86_64-gcc, pkg-config
2323
platform: x86_64
2424
add-to-path: true
25+
- name: Download test data
26+
shell: bash --login -e -o pipefail -o igncr {0}
27+
working-directory: ${{ github.workspace }}
28+
env:
29+
CHERE_INVOKING: 1
30+
run: |
31+
if test -x "synctestdata.sh"; then ./synctestdata.sh; fi
2532
- name: Build from source
2633
shell: bash --login -e -o pipefail -o igncr {0}
2734
working-directory: ${{ github.workspace }}
@@ -30,8 +37,10 @@ jobs:
3037
CONFIGURE_OPTIONS: ${{ matrix.configure_options }}
3138
LD: ld
3239
run: |
33-
if test -x "synctestdata.sh"; then ./synctestdata.sh; fi
34-
tests/build.sh ${CONFIGURE_OPTIONS}
40+
./synclibs.sh --use-head
41+
./autogen.sh
42+
./configure ${CONFIGURE_OPTIONS}
43+
make > /dev/null
3544
- name: Run tests
3645
shell: bash --login -e -o pipefail -o igncr {0}
3746
working-directory: ${{ github.workspace }}
@@ -64,7 +73,7 @@ jobs:
6473
include:
6574
- os: ubuntu-24.04
6675
compiler: 'gcc'
67-
configure_options: 'CPPFLAGS=-DHAVE_MEMORY_TESTS=1 --enable-code-coverage'
76+
configure_options: '--enable-code-coverage CPPFLAGS=-DHAVE_MEMORY_TESTS=1'
6877
codecov_name: 'ubuntu-24.04-gcc-no-optimization'
6978
steps:
7079
- uses: actions/checkout@v6
@@ -78,7 +87,10 @@ jobs:
7887
env:
7988
CC: ${{ matrix.compiler }}
8089
run: |
81-
tests/build.sh ${{ matrix.configure_options }}
90+
./synclibs.sh --use-head
91+
./autogen.sh
92+
./configure ${{ matrix.configure_options }}
93+
make > /dev/null
8294
- name: Run tests
8395
run: |
8496
make check CHECK_WITH_STDERR=1 SKIP_TOOLS_END_TO_END_TESTS=1
@@ -93,12 +105,12 @@ jobs:
93105
name: ${{ matrix.codecov_name }}
94106
token: ${{ secrets.CODECOV_TOKEN }}
95107
verbose: true
96-
coverage_mingw:
108+
coverage_msys2_mingw:
97109
runs-on: windows-latest
98110
strategy:
99111
matrix:
100112
include:
101-
- configure_options: '--enable-code-coverage --enable-winapi=yes'
113+
- configure_options: '--enable-code-coverage --enable-winapi'
102114
codecov_name: 'mingw-w64-gcc-no-optimization'
103115
steps:
104116
- uses: actions/checkout@v6
@@ -108,13 +120,19 @@ jobs:
108120
msystem: MINGW64
109121
update: true
110122
install: autoconf automake gettext gettext-devel git libtool make mingw-w64-x86_64-gcc pkg-config
123+
- name: Download test data
124+
shell: msys2 {0}
125+
run: |
126+
if test -x "synctestdata.sh"; then ./synctestdata.sh; fi
111127
- name: Build from source
112128
shell: msys2 {0}
113129
env:
114130
CONFIGURE_OPTIONS: ${{ matrix.configure_options }}
115131
run: |
116-
if test -x "synctestdata.sh"; then ./synctestdata.sh; fi
117-
tests/build.sh ${CONFIGURE_OPTIONS}
132+
./synclibs.sh --use-head
133+
./autogen.sh
134+
./configure ${CONFIGURE_OPTIONS}
135+
make > /dev/null
118136
- name: Run tests
119137
shell: msys2 {0}
120138
run: |

0 commit comments

Comments
 (0)