mirror of
https://github.com/borgbackup/borg.git
synced 2026-02-18 18:19:16 -05:00
CI: add Haiku workflow in haiku.yml
This commit is contained in:
parent
6dee31c968
commit
63e582be6a
1 changed files with 86 additions and 0 deletions
86
.github/workflows/haiku.yml
vendored
Normal file
86
.github/workflows/haiku.yml
vendored
Normal file
|
|
@ -0,0 +1,86 @@
|
|||
name: CI Haiku
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ master ]
|
||||
tags:
|
||||
- '2.*'
|
||||
pull_request:
|
||||
branches: [ master ]
|
||||
paths:
|
||||
- '**.py'
|
||||
- '**.pyx'
|
||||
- '**.c'
|
||||
- '**.h'
|
||||
- '**.yml'
|
||||
- '**.toml'
|
||||
- '**.cfg'
|
||||
- '**.ini'
|
||||
- 'requirements.d/*'
|
||||
- '!docs/**'
|
||||
|
||||
jobs:
|
||||
haiku_tests:
|
||||
name: Haiku tests
|
||||
runs-on: ubuntu-24.04
|
||||
timeout-minutes: 90
|
||||
continue-on-error: true
|
||||
|
||||
steps:
|
||||
- name: Check out repository
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
# setuptools-scm needs full history for versioning
|
||||
fetch-depth: 0
|
||||
fetch-tags: true
|
||||
|
||||
- name: Run on Haiku
|
||||
id: haiku
|
||||
uses: cross-platform-actions/action@v0.29.0
|
||||
with:
|
||||
operating_system: haiku
|
||||
version: 'r1beta5'
|
||||
shell: bash
|
||||
cpu_count: 2
|
||||
memory: 6G
|
||||
run: |
|
||||
set -euxo pipefail
|
||||
# Refresh repositories
|
||||
pkgman refresh || true
|
||||
# pkgman update -y || true
|
||||
|
||||
# Base tools and libraries
|
||||
pkgman install -y git pkgconfig zstd lz4 xxhash || true
|
||||
pkgman install -y openssl3 || true
|
||||
pkgman install -y rust_bin || true
|
||||
pkgman install -y python3.10 || true
|
||||
pkgman install -y cffi || true
|
||||
python3 -V || true
|
||||
# Development headers and pkg-config files needed for building C extensions
|
||||
pkgman install -y lz4_devel zstd_devel xxhash_devel openssl3_devel libffi_devel || true
|
||||
|
||||
# Ensure pkg-config can find .pc files
|
||||
export PKG_CONFIG_PATH="/system/develop/lib/pkgconfig:/system/lib/pkgconfig:${PKG_CONFIG_PATH:-}"
|
||||
|
||||
# Point Borg build to library/include prefixes (avoids pkg-config name mismatches)
|
||||
export BORG_LIBLZ4_PREFIX=/system/develop
|
||||
export BORG_LIBZSTD_PREFIX=/system/develop
|
||||
export BORG_LIBXXHASH_PREFIX=/system/develop
|
||||
export BORG_OPENSSL_PREFIX=/system/develop
|
||||
|
||||
# Ensure pip is available
|
||||
python3 -m ensurepip --upgrade || true
|
||||
python3 -m pip install --upgrade pip wheel
|
||||
|
||||
# Create and activate a virtualenv
|
||||
python3 -m venv .venv
|
||||
. .venv/bin/activate
|
||||
|
||||
python -V
|
||||
# Install development/test dependencies
|
||||
pip install -r requirements.d/development.txt
|
||||
# Build Borg (editable)
|
||||
pip install -e .
|
||||
# Run tests; skip benchmarks
|
||||
# remote archiver tests are broken on Haiku
|
||||
pytest -v --benchmark-skip -k "not remote and not socket"
|
||||
Loading…
Reference in a new issue