Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 4 additions & 5 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,16 +20,15 @@ jobs:
- name: Install build dependencies
run: |
brew update -q
brew install -q autoconf automake gettext gnu-sed libtool pkgconfig tox
brew install -q autoconf automake gettext gnu-sed libtool pkgconfig tox || true
# There currently is no brew formula for free-threaded Python, but setup-python will install it if necessary.
if [[ "${{ matrix.python-version }}" != *t ]]; then
brew install -q python@${{ matrix.python-version }}
fi
ln -s /usr/local/bin/glibtoolize /usr/local/bin/libtoolize
python3 -m pip install setuptools
- name: Build and test Python module
run: |
python ./utils/update_source.py
python utils/update_source.py
export CXXFLAGS="-std=c++14"
tox -e ${{ matrix.toxenv }}
build_ubuntu:
Expand Down Expand Up @@ -65,7 +64,7 @@ jobs:
python -m pip install tox
- name: Build and test Python module
run: |
python ./utils/update_source.py
python utils/update_source.py
tox -e ${{ matrix.toxenv }}
build_windows:
runs-on: windows-latest
Expand All @@ -84,7 +83,7 @@ jobs:
python3 -m pip install build setuptools wheel
- name: Build Python module
run: |
python ./utils/update_source.py
python utils/update_source.py
python -m build --wheel
python -m pip install --no-index --find-links=dist pytsk3
- name: Test Python module
Expand Down
89 changes: 89 additions & 0 deletions .github/workflows/build_wheel.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,89 @@
# Build Python wheels from source using cibuildwheel.
name: build_wheels
on: [push, pull_request]
permissions: read-all
jobs:
build_wheels_linux:
name: Build wheels on ${{ matrix.os }}
runs-on: ${{ matrix.os }}
strategy:
matrix:
include:
- os: ubuntu-24.04
- os: ubuntu-24.04-arm
steps:
- uses: actions/checkout@v6
- name: Install build dependencies
run: |
sudo apt-get -y install autoconf automake autopoint autotools-dev build-essential git libtool pkg-config
- name: Prepare build
run: |
python utils/update_source.py
- name: Build Python wheels
uses: pypa/cibuildwheel@v3.4.1
env:
CIBW_BEFORE_BUILD_LINUX: python utils/update_source.py
CIBW_TEST_COMMAND: python run_tests.py
CIBW_TEST_SOURCES: run_tests.py test_data tests
with:
package-dir: .
output-dir: dist
- uses: actions/upload-artifact@v7
with:
name: cibw-wheels-${{ matrix.os }}-${{ strategy.job-index }}
path: dist/*.whl
build_wheels_macos:
name: Build wheels on ${{ matrix.os }}
runs-on: ${{ matrix.os }}
strategy:
matrix:
include:
- os: macos-26
- os: macos-26-intel
steps:
- uses: actions/checkout@v6
- name: Install build dependencies
run: |
brew update -q
brew install -q autoconf automake gettext gnu-sed libtool pkgconfig || true
ln -s /usr/local/bin/glibtoolize /usr/local/bin/libtoolize
- name: Prepare build
run: |
python utils/update_source.py
- name: Build Python wheels
uses: pypa/cibuildwheel@v3.4.1
env:
CIBW_TEST_COMMAND: python run_tests.py
CIBW_TEST_SOURCES: run_tests.py test_data tests
with:
package-dir: .
output-dir: dist
- uses: actions/upload-artifact@v7
with:
name: cibw-wheels-${{ matrix.os }}-${{ strategy.job-index }}
path: dist/*.whl
build_wheels_windows:
name: Build wheels on ${{ matrix.os }}
runs-on: ${{ matrix.os }}
strategy:
matrix:
include:
- os: windows-11-arm
- os: windows-latest
steps:
- uses: actions/checkout@v6
- name: Prepare build
run: |
python utils/update_source.py
- name: Build Python wheels
uses: pypa/cibuildwheel@v3.4.1
env:
CIBW_TEST_COMMAND: python run_tests.py
CIBW_TEST_SOURCES: run_tests.py test_data tests
with:
package-dir: .
output-dir: dist
- uses: actions/upload-artifact@v7
with:
name: cibw-wheels-${{ matrix.os }}-${{ strategy.job-index }}
path: dist/*.whl
Loading