Skip to content

Commit 97b392a

Browse files
Merge pull request #9486 from ThomasWaldmann/windows-canary-fixes
canary CI job: windows: do it like in ci.yml
2 parents f12f464 + 1356aeb commit 97b392a

1 file changed

Lines changed: 54 additions & 3 deletions

File tree

.github/workflows/canary.yml

Lines changed: 54 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -30,9 +30,6 @@ jobs:
3030
- os: macos-15
3131
python-version: '3.14'
3232
toxenv: py314-none
33-
- os: windows-latest
34-
python-version: '3.14'
35-
toxenv: py314-windows
3633

3734
steps:
3835
- uses: actions/checkout@v6
@@ -96,3 +93,57 @@ jobs:
9693
# We need to tell tox to use the unlocked file.
9794
tox -e ${{ matrix.toxenv }} --override "env_run_base.deps=[-rrequirements.d/development.txt]"
9895
fi
96+
97+
windows_canary:
98+
99+
if: true # can be used to temporarily disable the build
100+
name: Canary (Windows)
101+
runs-on: windows-latest
102+
timeout-minutes: 180
103+
104+
env:
105+
PY_COLORS: 1
106+
107+
defaults:
108+
run:
109+
shell: msys2 {0}
110+
111+
steps:
112+
- uses: actions/checkout@v6
113+
with:
114+
fetch-depth: 0
115+
116+
- uses: msys2/setup-msys2@v2
117+
with:
118+
msystem: UCRT64
119+
update: true
120+
121+
- name: Install system packages
122+
run: ./scripts/msys2-install-deps development
123+
124+
- name: Build python venv
125+
run: |
126+
# building cffi / argon2-cffi in the venv fails, so we try to use the system packages
127+
python -m venv --system-site-packages env
128+
. env/bin/activate
129+
# python -m pip install --upgrade pip
130+
# pip install --upgrade setuptools build wheel
131+
pip install -r requirements.d/pyinstaller.txt
132+
133+
- name: Build
134+
run: |
135+
# build borg.exe
136+
. env/bin/activate
137+
pip install -e ".[cockpit,s3,sftp,rest,rclone]"
138+
mkdir -p dist/binary
139+
pyinstaller -y --clean --distpath=dist/binary scripts/borg.exe.spec
140+
# build sdist and wheel in dist/...
141+
python -m build
142+
143+
- name: Run tests
144+
run: |
145+
# Ensure locally built binary in ./dist/binary/borg-dir is found during tests
146+
export PATH="$GITHUB_WORKSPACE/dist/binary/borg-dir:$PATH"
147+
borg.exe -V
148+
. env/bin/activate
149+
python -m pytest -n4 --benchmark-skip -vv -rs -k "not remote" --cov=borg --cov-config=pyproject.toml --cov-report=xml --junitxml=test-results.xml

0 commit comments

Comments
 (0)