Skip to content

Fix sdist CI: install libsvn-dev before building sdist #713

Fix sdist CI: install libsvn-dev before building sdist

Fix sdist CI: install libsvn-dev before building sdist #713

Workflow file for this run

name: Python package
on: [push, pull_request]
jobs:
build:
runs-on: ${{ matrix.os }}
strategy:
matrix:
python-version: ["3.10", "3.11", "3.12", "3.13", "3.14"]
os: [ubuntu-latest, macos-latest, windows-latest]
fail-fast: false
env:
VCPKG_INSTALL_DIR: ${{ github.workspace }}\vcpkg\installed\x64-windows-release
steps:
- uses: actions/checkout@v6
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v6
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies (apt)
run: |
sudo apt update
sudo apt install libsvn-dev
if: "matrix.os == 'ubuntu-latest'"
- name: Install dependencies (brew)
run: |
brew install subversion
if: "matrix.os == 'macos-latest'"
- name: Install dependencies (Windows)
uses: johnwason/vcpkg-action@v7
id: vcpkg
with:
pkgs: subversion
triplet: x64-windows-release
extra-args: --allow-unsupported --recurse --keep-going
token: ${{ github.token }}
if: "matrix.os == 'windows-latest'"
- name: Add msbuild to PATH
uses: microsoft/setup-msbuild@v2
if: "matrix.os == 'windows-latest'"
- name: Install other dependencies
run: |
python -m pip install --upgrade pip
pip install -U pip ruff fastimport setuptools pytest pytest-cov
- name: Style checks
run: |
python -m ruff check subvertpy
python -m ruff format --check subvertpy
- name: Build (Linux)
run: |
pip install -e .
if: "matrix.os == 'ubuntu-latest'"
- name: Build (macOS)
run: |
export PATH="$(brew --prefix)/opt/subversion/libexec:$PATH"
export PATH="$(brew --prefix)/opt/apr-util/bin:$PATH"
export PATH="$(brew --prefix)/opt/apr/bin:$PATH"
pip install -e .
if: "matrix.os == 'macos-latest'"
- name: Build (Windows)
env:
APR_INCLUDE_DIR: ${{ env.VCPKG_INSTALL_DIR }}/include
APU_INCLUDE_DIR: ${{ env.VCPKG_INSTALL_DIR }}/include
SVN_HEADER_PATH: ${{ env.VCPKG_INSTALL_DIR }}/include/subversion-1
SVN_LIBRARY_PATH: ${{ env.VCPKG_INSTALL_DIR }}/lib
LIB: ${{ env.VCPKG_INSTALL_DIR }}/lib
run: |
pip install -e .
if: "matrix.os == 'windows-latest'"
- name: Coverage test suite run (Linux)
run: |
pytest -sv --cov=subvertpy subvertpy
if: "matrix.os == 'ubuntu-latest'"
- name: Coverage test suite run
run: |
pytest -sv --cov=subvertpy subvertpy
if: "matrix.os == 'macos-latest'"
- name: Coverage test suite run
env:
SUBVERTPY_DLL_PATH: ${{ github.workspace }}/vcpkg/installed/x64-windows-release/bin
run: |
# using coverage on windows make some tests fail so only run tests
pytest -sv subvertpy
if: "matrix.os == 'windows-latest'"