Skip to content
Merged
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
19 changes: 18 additions & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -52,22 +52,29 @@ jobs:
- os: ubuntu-24.04
python-version: '3.13'
toxenv: py313
- os: windows-latest
python-version: '3.12'
toxenv: py312
allow-failure: true

env:
TOXENV: ${{ matrix.toxenv }}

runs-on: ${{ matrix.os }}
continue-on-error: ${{ matrix.allow-failure || false }}

steps:
- uses: actions/checkout@v4
with:
# just fetching 1 commit is not enough for setuptools-scm, so we fetch all
fetch-depth: 0
- name: Install Linux packages
if: runner.os == 'Linux'
run: |
sudo apt-get update
sudo apt-get install -y rclone openssh-server curl
- name: Configure OpenSSH SFTP server (test only)
if: runner.os == 'Linux'
run: |
sudo mkdir -p /run/sshd
sudo useradd -m -s /bin/bash sftpuser || true
Expand Down Expand Up @@ -96,6 +103,7 @@ jobs:
# Export SFTP test URL for tox via GITHUB_ENV
echo "BORGSTORE_TEST_SFTP_URL=sftp://sftpuser@localhost:22/borgstore/temp-store" >> $GITHUB_ENV
- name: Install and configure MinIO S3 server (test only)
if: runner.os == 'Linux'
run: |
set -e
arch=$(uname -m)
Expand Down Expand Up @@ -129,7 +137,16 @@ jobs:
python -m pip install --upgrade pip setuptools
pip install -r requirements.d/dev.txt
- name: Install borgstore (with all extras)
if: runner.os == 'Linux'
run: pip install -ve ".[s3,sftp]"
- name: run tox envs
- name: Install borgstore (no extras)
if: runner.os == 'Windows'
run: pip install -ve .
- name: run tox envs (Linux)
if: runner.os == 'Linux'
run: |
tox -e all_extras
- name: run tox envs (Windows)
if: runner.os == 'Windows'
run: tox -e ${{ matrix.toxenv }}

Loading