Skip to content

CI: add *BSD

CI: add *BSD #17

Workflow file for this run

name: CI OpenBSD
on:
push:
branches: [ master ]
tags:
- '2.*'
pull_request:
branches: [ master ]
paths:
- '**.py'
- '**.pyx'
- '**.c'
- '**.h'
- '**.yml'
- '**.toml'
- '**.cfg'
- '**.ini'
- 'requirements.d/*'
- '!docs/**'
jobs:
openbsd_tests:
name: OpenBSD 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 OpenBSD
id: openbsd
uses: cross-platform-actions/[email protected]
with:
operating_system: openbsd
version: '7.7'
shell: bash
cpu_count: 3
memory: 6G
run: |
set -euxo pipefail
# On OpenBSD, use pkg_add and set installurl. Use sudo for privileged operations.
# echo "https://ftp.eu.openbsd.org/pub/OpenBSD" | sudo tee /etc/installurl > /dev/null
# crypto / compression libs
sudo -E pkg_add xxhash || true
sudo -E pkg_add lz4 || true
sudo -E pkg_add zstd || true
# toolchain / VCS
sudo -E pkg_add git || true
sudo -E pkg_add rust || true
# OpenSSL 3.4
sudo -E pkg_add openssl%3.4 || true
# Python tooling
sudo -E pkg_add py3-pip || true
sudo -E pkg_add py3-virtualenv || true
export BORG_OPENSSL_NAME=eopenssl34
# Create and activate a virtualenv
python3 -m virtualenv .venv
. .venv/bin/activate
python -m pip install --upgrade pip
# Install development/test dependencies
pip install -r requirements.d/development.txt
# Build Borg (editable)
pip install -e .
# Run tests; skip benchmarks
pytest -v -n auto --benchmark-skip