@@ -52,22 +52,29 @@ jobs:
5252 - os : ubuntu-24.04
5353 python-version : ' 3.13'
5454 toxenv : py313
55+ - os : windows-latest
56+ python-version : ' 3.12'
57+ toxenv : py312
58+ allow-failure : true
5559
5660 env :
5761 TOXENV : ${{ matrix.toxenv }}
5862
5963 runs-on : ${{ matrix.os }}
64+ continue-on-error : ${{ matrix.allow-failure || false }}
6065
6166 steps :
6267 - uses : actions/checkout@v4
6368 with :
6469 # just fetching 1 commit is not enough for setuptools-scm, so we fetch all
6570 fetch-depth : 0
6671 - name : Install Linux packages
72+ if : runner.os == 'Linux'
6773 run : |
6874 sudo apt-get update
6975 sudo apt-get install -y rclone openssh-server curl
7076 - name : Configure OpenSSH SFTP server (test only)
77+ if : runner.os == 'Linux'
7178 run : |
7279 sudo mkdir -p /run/sshd
7380 sudo useradd -m -s /bin/bash sftpuser || true
96103 # Export SFTP test URL for tox via GITHUB_ENV
97104 echo "BORGSTORE_TEST_SFTP_URL=sftp://sftpuser@localhost:22/borgstore/temp-store" >> $GITHUB_ENV
98105 - name : Install and configure MinIO S3 server (test only)
106+ if : runner.os == 'Linux'
99107 run : |
100108 set -e
101109 arch=$(uname -m)
@@ -129,7 +137,16 @@ jobs:
129137 python -m pip install --upgrade pip setuptools
130138 pip install -r requirements.d/dev.txt
131139 - name : Install borgstore (with all extras)
140+ if : runner.os == 'Linux'
132141 run : pip install -ve ".[s3,sftp]"
133- - name : run tox envs
142+ - name : Install borgstore (no extras)
143+ if : runner.os == 'Windows'
144+ run : pip install -ve .
145+ - name : run tox envs (Linux)
146+ if : runner.os == 'Linux'
134147 run : |
135148 tox -e all_extras
149+ - name : run tox envs (Windows)
150+ if : runner.os == 'Windows'
151+ run : tox -e ${{ matrix.toxenv }}
152+
0 commit comments