Skip to content

Commit 04b2746

Browse files
committed
Changes for CI tests
1 parent e20d3ee commit 04b2746

File tree

12 files changed

+119
-172
lines changed

12 files changed

+119
-172
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:
@@ -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 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 libtool pkg-config
@@ -70,7 +70,7 @@ jobs:
7070
run: |
7171
make distcheck
7272
build_python_ubuntu:
73-
runs-on: ubuntu-22.04
73+
runs-on: ubuntu-latest
7474
strategy:
7575
matrix:
7676
include:
@@ -79,7 +79,7 @@ jobs:
7979
configure_options: '--enable-python'
8080
python_version: ''
8181
steps:
82-
- uses: actions/checkout@v4
82+
- uses: actions/checkout@v5
8383
- name: Install build dependencies
8484
run: |
8585
sudo add-apt-repository universe &&
@@ -99,7 +99,7 @@ jobs:
9999
run: |
100100
tests/runtests.sh
101101
build_setup_py_ubuntu:
102-
runs-on: ubuntu-22.04
102+
runs-on: ubuntu-latest
103103
strategy:
104104
matrix:
105105
include:
@@ -108,7 +108,7 @@ jobs:
108108
configure_options: ''
109109
python-version: '3.10'
110110
steps:
111-
- uses: actions/checkout@v4
111+
- uses: actions/checkout@v5
112112
- name: Set up Python ${{ matrix.python-version }}
113113
uses: actions/setup-python@v5
114114
with:
@@ -127,7 +127,7 @@ jobs:
127127
run: |
128128
python setup.py build
129129
coverage_ubuntu:
130-
runs-on: ubuntu-22.04
130+
runs-on: ubuntu-latest
131131
strategy:
132132
matrix:
133133
include:
@@ -138,7 +138,7 @@ jobs:
138138
compiler: 'gcc'
139139
configure_options: '--enable-wide-character-type'
140140
steps:
141-
- uses: actions/checkout@v4
141+
- uses: actions/checkout@v5
142142
- name: Install build dependencies
143143
run: |
144144
sudo apt-get -y install autoconf automake autopoint build-essential git libtool pkg-config
@@ -159,7 +159,7 @@ jobs:
159159
(cd ${DIRECTORY} && find . -maxdepth 1 -name \*.gcno -type f -exec gcov -pb {} \;) \
160160
done
161161
- name: Upload coverage report to Codecov
162-
uses: codecov/codecov-action@v4
162+
uses: codecov/codecov-action@v5
163163
with:
164164
name: linux-${{ matrix.architecture }}-gcc-no-optimization
165165
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

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