CI: add *BSD #17
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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 |