Skip to content

Commit 6b3702f

Browse files
committed
Changes for CI tests
1 parent 02fb671 commit 6b3702f

File tree

14 files changed

+156
-186
lines changed

14 files changed

+156
-186
lines changed

.github/workflows/build.yml

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ on: [push, pull_request]
44
permissions: read-all
55
jobs:
66
build_ubuntu:
7-
runs-on: ubuntu-22.04
7+
runs-on: ubuntu-latest
88
strategy:
99
matrix:
1010
include:
@@ -30,7 +30,7 @@ jobs:
3030
compiler: 'gcc'
3131
configure_options: '--enable-static-executables=yes --enable-multi-threading-support=no'
3232
steps:
33-
- uses: actions/checkout@v4
33+
- uses: actions/checkout@v5
3434
- name: Install build dependencies
3535
run: |
3636
sudo apt-get -y install autoconf automake autopoint build-essential git libfuse3-dev libtool pkg-config
@@ -46,15 +46,15 @@ jobs:
4646
run: |
4747
tests/runtests.sh
4848
build_dist:
49-
runs-on: ubuntu-22.04
49+
runs-on: ubuntu-latest
5050
strategy:
5151
matrix:
5252
include:
5353
- architecture: 'x64'
5454
compiler: 'gcc'
5555
configure_options: ''
5656
steps:
57-
- uses: actions/checkout@v4
57+
- uses: actions/checkout@v5
5858
- name: Install build dependencies
5959
run: |
6060
sudo apt-get -y install autoconf automake autopoint build-essential git libfuse3-dev libtool pkg-config
@@ -70,15 +70,15 @@ jobs:
7070
run: |
7171
make distcheck
7272
build_fuse_ubuntu:
73-
runs-on: ubuntu-22.04
73+
runs-on: ubuntu-latest
7474
strategy:
7575
matrix:
7676
include:
7777
- architecture: 'x64'
7878
compiler: 'gcc'
7979
configure_options: ''
8080
steps:
81-
- uses: actions/checkout@v4
81+
- uses: actions/checkout@v5
8282
- name: Install build dependencies
8383
run: |
8484
sudo apt-get -y install autoconf automake autopoint build-essential git libfuse3-dev libtool pkg-config libfuse-dev
@@ -94,15 +94,15 @@ jobs:
9494
run: |
9595
tests/runtests.sh
9696
build_fuse3_ubuntu:
97-
runs-on: ubuntu-22.04
97+
runs-on: ubuntu-latest
9898
strategy:
9999
matrix:
100100
include:
101101
- architecture: 'x64'
102102
compiler: 'gcc'
103103
configure_options: ''
104104
steps:
105-
- uses: actions/checkout@v4
105+
- uses: actions/checkout@v5
106106
- name: Install build dependencies
107107
run: |
108108
sudo apt-get -y install autoconf automake autopoint build-essential git libfuse3-dev libtool pkg-config libfuse3-dev
@@ -118,7 +118,7 @@ jobs:
118118
run: |
119119
tests/runtests.sh
120120
build_python_ubuntu:
121-
runs-on: ubuntu-22.04
121+
runs-on: ubuntu-latest
122122
strategy:
123123
matrix:
124124
include:
@@ -127,7 +127,7 @@ jobs:
127127
configure_options: '--enable-python'
128128
python_version: ''
129129
steps:
130-
- uses: actions/checkout@v4
130+
- uses: actions/checkout@v5
131131
- name: Install build dependencies
132132
run: |
133133
sudo add-apt-repository universe &&
@@ -147,7 +147,7 @@ jobs:
147147
run: |
148148
tests/runtests.sh
149149
build_setup_py_ubuntu:
150-
runs-on: ubuntu-22.04
150+
runs-on: ubuntu-latest
151151
strategy:
152152
matrix:
153153
include:
@@ -156,7 +156,7 @@ jobs:
156156
configure_options: ''
157157
python-version: '3.10'
158158
steps:
159-
- uses: actions/checkout@v4
159+
- uses: actions/checkout@v5
160160
- name: Set up Python ${{ matrix.python-version }}
161161
uses: actions/setup-python@v5
162162
with:
@@ -175,7 +175,7 @@ jobs:
175175
run: |
176176
python setup.py build
177177
coverage_ubuntu:
178-
runs-on: ubuntu-22.04
178+
runs-on: ubuntu-latest
179179
strategy:
180180
matrix:
181181
include:
@@ -186,7 +186,7 @@ jobs:
186186
compiler: 'gcc'
187187
configure_options: '--enable-wide-character-type'
188188
steps:
189-
- uses: actions/checkout@v4
189+
- uses: actions/checkout@v5
190190
- name: Install build dependencies
191191
run: |
192192
sudo apt-get -y install autoconf automake autopoint build-essential git libfuse3-dev libtool pkg-config
@@ -207,7 +207,7 @@ jobs:
207207
(cd ${DIRECTORY} && find . -maxdepth 1 -name \*.gcno -type f -exec gcov -pb {} \;) \
208208
done
209209
- name: Upload coverage report to Codecov
210-
uses: codecov/codecov-action@v4
210+
uses: codecov/codecov-action@v5
211211
with:
212212
name: linux-${{ matrix.architecture }}-gcc-no-optimization
213213
token: ${{ secrets.CODECOV_TOKEN }}

.github/workflows/build_freebsd.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,9 @@ on: [push]
44
permissions: read-all
55
jobs:
66
build_freebsd:
7-
runs-on: ubuntu-22.04
7+
runs-on: ubuntu-latest
88
steps:
9-
- uses: actions/checkout@v4
9+
- uses: actions/checkout@v5
1010
- name: Building from source
1111
id: build_freebsd
1212
uses: vmactions/freebsd-vm@v1

.github/workflows/build_macos.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ jobs:
1717
- os: macos-26
1818
configure_options: ''
1919
steps:
20-
- uses: actions/checkout@v4
20+
- uses: actions/checkout@v5
2121
- name: Install build dependencies
2222
run: |
2323
brew update -q

.github/workflows/build_ossfuzz.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ on:
66
permissions: read-all
77
jobs:
88
build_ossfuzz:
9-
runs-on: ubuntu-22.04
9+
runs-on: ubuntu-latest
1010
strategy:
1111
matrix:
1212
include:
@@ -17,7 +17,7 @@ jobs:
1717
- name: Install build dependencies
1818
run: |
1919
sudo apt-get -y install git
20-
- uses: actions/checkout@v4
20+
- uses: actions/checkout@v5
2121
with:
2222
repository: google/oss-fuzz
2323
path: oss-fuzz

.github/workflows/build_shared.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ on:
66
permissions: read-all
77
jobs:
88
build_shared_ubuntu:
9-
runs-on: ubuntu-22.04
9+
runs-on: ubuntu-latest
1010
strategy:
1111
matrix:
1212
include:
@@ -17,7 +17,7 @@ jobs:
1717
compiler: 'gcc'
1818
configure_options: '--enable-wide-character-type'
1919
steps:
20-
- uses: actions/checkout@v4
20+
- uses: actions/checkout@v5
2121
- name: Install build dependencies
2222
run: |
2323
sudo apt-get -y install autoconf automake autopoint build-essential git libfuse3-dev libtool pkg-config

.github/workflows/build_wheel.yml

Lines changed: 82 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,40 +1,96 @@
1-
# Build wheel from source using tox.
2-
name: build_wheel
1+
# Build Python wheels from source using cibuildwheel.
2+
name: build_wheels
33
on: [push, pull_request]
44
permissions: read-all
55
jobs:
6-
build_wheel:
7-
runs-on: ubuntu-latest
6+
build_wheels_linux:
7+
name: Build wheels on ${{ matrix.os }}
8+
runs-on: ${{ matrix.os }}
89
strategy:
910
matrix:
1011
include:
11-
- python-version: '3.10'
12-
toxenv: 'py310'
13-
- python-version: '3.11'
14-
toxenv: 'py311'
15-
- python-version: '3.12'
16-
toxenv: 'py312'
17-
- python-version: '3.13'
18-
toxenv: 'py313'
19-
- python-version: '3.14'
20-
toxenv: 'py314'
12+
- os: ubuntu-24.04-arm
13+
- os: ubuntu-latest
2114
steps:
22-
- uses: actions/checkout@v4
15+
- uses: actions/checkout@v5
2316
- name: Install build dependencies
2417
run: |
25-
sudo add-apt-repository universe
26-
sudo add-apt-repository -y ppa:deadsnakes/ppa
27-
sudo apt-get update
28-
sudo apt-get install -y autoconf automake autopoint build-essential git libtool pkg-config python${{ matrix.python-version }} python${{ matrix.python-version }}-dev python${{ matrix.python-version }}-venv python3-pip python3-setuptools
29-
- name: Install tox
18+
sudo apt-get -y install autoconf automake autopoint build-essential git libtool pkg-config
19+
- name: Prepare build
3020
run: |
31-
python3 -m pip install tox
32-
- name: Download test data
21+
./synclibs.sh
22+
./autogen.sh
23+
./configure
24+
make sources >/dev/null
25+
- name: Build Python wheels
26+
uses: pypa/cibuildwheel@v3.3.0
27+
env:
28+
CIBW_TEST_COMMAND: python tests/runtests.py
29+
CIBW_TEST_SOURCES: tests
30+
with:
31+
package-dir: .
32+
output-dir: dist
33+
- uses: actions/upload-artifact@v4
34+
with:
35+
name: cibw-wheels-${{ matrix.os }}-${{ strategy.job-index }}
36+
path: dist/*.whl
37+
build_wheels_macos:
38+
name: Build wheels on ${{ matrix.os }}
39+
runs-on: ${{ matrix.os }}
40+
strategy:
41+
matrix:
42+
include:
43+
- os: macos-14
44+
- os: macos-15-intel
45+
steps:
46+
- uses: actions/checkout@v5
47+
- name: Install build dependencies
3348
run: |
34-
if test -x "synctestdata.sh"; then ./synctestdata.sh; fi
49+
brew update -q
50+
brew install -q autoconf automake gettext gnu-sed libtool pkg-config || true
51+
brew link --force gettext
52+
ln -s /usr/local/bin/glibtoolize /usr/local/bin/libtoolize
3553
- name: Prepare build
3654
run: |
37-
./synclibs.sh --use-head && ./autogen.sh && ./configure && make sources >/dev/null
38-
- name: Build Python wheel
55+
./synclibs.sh
56+
./autogen.sh
57+
./configure
58+
make sources >/dev/null
59+
- name: Build Python wheels
60+
uses: pypa/cibuildwheel@v3.3.0
61+
env:
62+
CIBW_TEST_COMMAND: python tests/runtests.py
63+
CIBW_TEST_SOURCES: tests
64+
with:
65+
package-dir: .
66+
output-dir: dist
67+
- uses: actions/upload-artifact@v4
68+
with:
69+
name: cibw-wheels-${{ matrix.os }}-${{ strategy.job-index }}
70+
path: dist/*.whl
71+
build_wheels_windows:
72+
name: Build wheels on ${{ matrix.os }}
73+
runs-on: ${{ matrix.os }}
74+
strategy:
75+
matrix:
76+
include:
77+
- os: windows-11-arm
78+
- os: windows-latest
79+
steps:
80+
- uses: actions/checkout@v5
81+
- name: Prepare build
3982
run: |
40-
tox -e${{ matrix.toxenv }}
83+
.\synclibs.ps1
84+
.\autogen.ps1
85+
- name: Build Python wheels
86+
uses: pypa/cibuildwheel@v3.3.0
87+
env:
88+
CIBW_TEST_COMMAND: python tests/runtests.py
89+
CIBW_TEST_SOURCES: tests
90+
with:
91+
package-dir: .
92+
output-dir: dist
93+
- uses: actions/upload-artifact@v4
94+
with:
95+
name: cibw-wheels-${{ matrix.os }}-${{ strategy.job-index }}
96+
path: dist/*.whl

0 commit comments

Comments
 (0)