Skip to content

Commit 06f239d

Browse files
committed
Changes for CI tests
1 parent d349181 commit 06f239d

File tree

12 files changed

+119
-168
lines changed

12 files changed

+119
-168
lines changed

.github/workflows/build.yml

Lines changed: 11 additions & 11 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:
@@ -33,7 +33,7 @@ jobs:
3333
compiler: 'gcc'
3434
configure_options: '--enable-static-executables=yes --enable-multi-threading-support=no'
3535
steps:
36-
- uses: actions/checkout@v4
36+
- uses: actions/checkout@v5
3737
- name: Install build dependencies
3838
run: |
3939
sudo apt-get -y install autoconf automake autopoint build-essential git libtool pkg-config zlib1g-dev
@@ -49,15 +49,15 @@ jobs:
4949
run: |
5050
tests/runtests.sh
5151
build_dist:
52-
runs-on: ubuntu-22.04
52+
runs-on: ubuntu-latest
5353
strategy:
5454
matrix:
5555
include:
5656
- architecture: 'x64'
5757
compiler: 'gcc'
5858
configure_options: ''
5959
steps:
60-
- uses: actions/checkout@v4
60+
- uses: actions/checkout@v5
6161
- name: Install build dependencies
6262
run: |
6363
sudo apt-get -y install autoconf automake autopoint build-essential git libtool pkg-config zlib1g-dev
@@ -73,7 +73,7 @@ jobs:
7373
run: |
7474
make distcheck
7575
build_python_ubuntu:
76-
runs-on: ubuntu-22.04
76+
runs-on: ubuntu-latest
7777
strategy:
7878
matrix:
7979
include:
@@ -82,7 +82,7 @@ jobs:
8282
configure_options: '--enable-python'
8383
python_version: ''
8484
steps:
85-
- uses: actions/checkout@v4
85+
- uses: actions/checkout@v5
8686
- name: Install build dependencies
8787
run: |
8888
sudo add-apt-repository universe &&
@@ -102,7 +102,7 @@ jobs:
102102
run: |
103103
tests/runtests.sh
104104
build_setup_py_ubuntu:
105-
runs-on: ubuntu-22.04
105+
runs-on: ubuntu-latest
106106
strategy:
107107
matrix:
108108
include:
@@ -111,7 +111,7 @@ jobs:
111111
configure_options: ''
112112
python-version: '3.10'
113113
steps:
114-
- uses: actions/checkout@v4
114+
- uses: actions/checkout@v5
115115
- name: Set up Python ${{ matrix.python-version }}
116116
uses: actions/setup-python@v5
117117
with:
@@ -130,7 +130,7 @@ jobs:
130130
run: |
131131
python setup.py build
132132
coverage_ubuntu:
133-
runs-on: ubuntu-22.04
133+
runs-on: ubuntu-latest
134134
strategy:
135135
matrix:
136136
include:
@@ -141,7 +141,7 @@ jobs:
141141
compiler: 'gcc'
142142
configure_options: '--enable-wide-character-type'
143143
steps:
144-
- uses: actions/checkout@v4
144+
- uses: actions/checkout@v5
145145
- name: Install build dependencies
146146
run: |
147147
sudo apt-get -y install autoconf automake autopoint build-essential git libtool pkg-config zlib1g-dev
@@ -162,7 +162,7 @@ jobs:
162162
(cd ${DIRECTORY} && find . -maxdepth 1 -name \*.gcno -type f -exec gcov -pb {} \;) \
163163
done
164164
- name: Upload coverage report to Codecov
165-
uses: codecov/codecov-action@v4
165+
uses: codecov/codecov-action@v5
166166
with:
167167
name: linux-${{ matrix.architecture }}-gcc-no-optimization
168168
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 libtool pkg-config zlib1g-dev

.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)