Commit graph

158 commits

Author SHA1 Message Date
TW
4e3352ed58
Merge pull request #9327 from ThomasWaldmann/fixes-master
Misc. fixes (master)
2026-02-17 15:16:02 +01:00
Thomas Waldmann
ee569784de
improve dependabot configuration: more stability 2026-02-17 08:35:45 +01:00
TW
045701558e
Merge pull request #9343 from mr-raj12/fix-http-urls-master
Some checks are pending
Lint / lint (push) Waiting to run
CI / lint (push) Waiting to run
CI / security (push) Waiting to run
CI / asan_ubsan (push) Blocked by required conditions
CI / native_tests (push) Blocked by required conditions
CI / vm_tests (Haiku, false, haiku, r1beta5) (push) Blocked by required conditions
CI / vm_tests (NetBSD, false, netbsd, 10.1) (push) Blocked by required conditions
CI / vm_tests (OmniOS, false, omnios, r151056) (push) Blocked by required conditions
CI / vm_tests (OpenBSD, false, openbsd, 7.7) (push) Blocked by required conditions
CI / vm_tests (borg-freebsd-14-x86_64-gh, FreeBSD, true, freebsd, 14.3) (push) Blocked by required conditions
CI / windows_tests (push) Blocked by required conditions
CodeQL / Analyze (push) Waiting to run
upgrade http:// URLs to https:// and remove dead librelist.com link, fixes #9342
2026-02-16 18:40:51 +01:00
Mrityunjay Raj
7189954a56 ci: expand Dependabot config to monitor pip dependencies, fixes #9349 2026-02-16 02:10:34 +05:30
Mrityunjay Raj
fc89a66dc7 upgrade http:// URLs to https:// and remove dead librelist.com link, fixes #9342 2026-02-16 01:42:09 +05:30
Mrityunjay Raj
3349cdcc1e ci: add top-level permissions for least-privilege security, fixes #9344 2026-02-16 00:38:44 +05:30
TW
4e35c373ee
Merge pull request #9329 from mr-raj12/add-workflow-path-filters
ci: add path filters to lint and codeql workflows, fixes #9328
2026-02-14 20:54:55 +01:00
Mrityunjay Raj
802ec2f980 ci: include workflow files in their own path filters 2026-02-15 00:50:49 +05:30
Thomas Waldmann
d537f0d80d
CI: build linux binaries with pyfuse3 2026-02-14 19:32:40 +01:00
Thomas Waldmann
92ebb97ecb
CI: add borg.exe to PATH 2026-02-14 19:03:33 +01:00
Thomas Waldmann
ce7d3ee843
binary build: install cockpit,s3,sftp extras 2026-02-14 19:03:31 +01:00
Mrityunjay Raj
7ca00c0f70 ci: add path filters to lint and codeql workflows, fixes #9328 2026-02-14 23:26:41 +05:30
Mrityunjay Raj
943627131a ci: pin psf/black action to commit SHA, fixes #9317 2026-02-13 23:24:29 +05:30
Thomas Waldmann
64b81b7a8c
CI: codecov: nothing to do for mypy and docs envs 2026-02-13 14:02:58 +01:00
Thomas Waldmann
627d16ac80
CI: add testing on omniOS ("OpenSolaris") 2026-02-13 06:26:47 +01:00
dependabot[bot]
30ba0b1225
build(deps): bump the actions group with 7 updates
Bumps the actions group with 7 updates:

| Package | From | To |
| --- | --- | --- |
| [actions/checkout](https://github.com/actions/checkout) | `4` | `6` |
| [korthout/backport-action](https://github.com/korthout/backport-action) | `3` | `4` |
| [actions/setup-python](https://github.com/actions/setup-python) | `5` | `6` |
| [actions/cache](https://github.com/actions/cache) | `4` | `5` |
| [actions/upload-artifact](https://github.com/actions/upload-artifact) | `4` | `6` |
| [cross-platform-actions/action](https://github.com/cross-platform-actions/action) | `0.29.0` | `0.32.0` |
| [github/codeql-action](https://github.com/github/codeql-action) | `3` | `4` |


Updates `actions/checkout` from 4 to 6
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v4...v6)

Updates `korthout/backport-action` from 3 to 4
- [Release notes](https://github.com/korthout/backport-action/releases)
- [Commits](https://github.com/korthout/backport-action/compare/v3...v4)

Updates `actions/setup-python` from 5 to 6
- [Release notes](https://github.com/actions/setup-python/releases)
- [Commits](https://github.com/actions/setup-python/compare/v5...v6)

Updates `actions/cache` from 4 to 5
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](https://github.com/actions/cache/compare/v4...v5)

Updates `actions/upload-artifact` from 4 to 6
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/v4...v6)

Updates `cross-platform-actions/action` from 0.29.0 to 0.32.0
- [Release notes](https://github.com/cross-platform-actions/action/releases)
- [Changelog](https://github.com/cross-platform-actions/action/blob/master/changelog.md)
- [Commits](https://github.com/cross-platform-actions/action/compare/v0.29.0...v0.32.0)

Updates `github/codeql-action` from 3 to 4
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/v3...v4)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: '6'
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: actions
- dependency-name: korthout/backport-action
  dependency-version: '4'
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: actions
- dependency-name: actions/setup-python
  dependency-version: '6'
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: actions
- dependency-name: actions/cache
  dependency-version: '5'
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: actions
- dependency-name: actions/upload-artifact
  dependency-version: '6'
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: actions
- dependency-name: cross-platform-actions/action
  dependency-version: 0.32.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: actions
- dependency-name: github/codeql-action
  dependency-version: '4'
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: actions
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-02-13 03:22:48 +00:00
TW
e4d94cb40d
Merge pull request #9311 from mr-raj12/add-concurrency-groups
ci: add concurrency groups to cancel stale workflow runs, fixes #9310
2026-02-13 04:20:43 +01:00
TW
487d803fa8
Merge pull request #9307 from mr-raj12/bump-ruff-v0.15.0
ruff: bump to v0.15.0, migrate config to tool.ruff.lint, fixes #9305
2026-02-13 04:18:19 +01:00
TW
74a9cb0ae6
Merge pull request #9299 from mr-raj12/add-workflow-timeouts
ci: add missing timeout-minutes to codeql, backport, and lint workflows
2026-02-13 04:14:10 +01:00
TW
9202b57e83
Merge pull request #9309 from mr-raj12/add-dependabot-config
ci: add dependabot config for github actions, fixes  #9308
2026-02-13 04:13:35 +01:00
Mrityunjay Raj
cf20f8c5bc ci: add concurrency groups to cancel stale workflow runs, fixes #9310 2026-02-13 04:18:20 +05:30
Mrityunjay Raj
665a0be186 ci: add dependabot config for github actions, fixes #9308 2026-02-13 03:06:21 +05:30
Mrityunjay Raj
48ca497996 ruff: bump to v0.15.0, migrate config to tool.ruff.lint, fixes #9305 2026-02-13 02:36:43 +05:30
Mrityunjay Raj
51c376f500 CI: replace deprecated git.io shortlink in CodeQL workflow, fixes #9300 2026-02-13 01:42:50 +05:30
Mrityunjay Raj
2b83e0e0f0 ci: add missing timeout-minutes to codeql, backport, and lint workflows
ci.yml already has timeout-minutes on every job, but these three
workflows had no timeout configured. Without an explicit timeout,
GitHub Actions defaults to 6 hours, wasting CI minutes if a job
gets stuck.

Added timeouts consistent with ci.yml:
- codeql-analysis.yml: 20 min (builds from source + analysis)
- backport.yml: 5 min (simple checkout + PR creation)
- black.yaml: 5 min (matches ci.yml ruff lint job)

Fixes #9298
2026-02-13 01:15:28 +05:30
Thomas Waldmann
7ef2c258bb
CI: enable Codecov Test Analytics
Enable JUnit XML generation for `native_tests` and `windows_tests` to allow Codecov to process test analytics.

Upload the generated `test-results.xml` using `codecov/codecov-action`.

The upload step uses `if: !cancelled()` to ensure results are uploaded even if tests fail (to analyze failures), but skipped if the workflow is explicitly cancelled.

Originally brought up in PR #8752 by @katia-sentry, but missed the !cancelled() check.

Also: upgrade to codecov-action@v5.
2026-02-10 17:08:54 +01:00
Thomas Waldmann
d870d9517f
CI: cache needs to consider runner.arch
Seen this on the macOS arm64 runner:

ImportError: dlopen(/Users/runner/work/borg/borg/.tox/py311-none/lib/python3.11/site-packages/_argon2_cffi_bindings/_ffi.abi3.so, 0x0002): tried: '/Users/runner/work/borg/borg/.tox/py311-none/lib/python3.11/site-packages/_argon2_cffi_bindings/_ffi.abi3.so' (mach-o file, but is an incompatible architecture (have 'x86_64', need 'arm64e' or 'arm64')), '/System/Volumes/Preboot/Cryptexes/OS/Users/runner/work/borg/borg/.tox/py311-none/lib/python3.11/site-packages/_argon2_cffi_bindings/_ffi.abi3.so' (no such file), '/Users/runner/work/borg/borg/.tox/py311-none/lib/python3.11/site-packages/_argon2_cffi_bindings/_ffi.abi3.so' (mach-o file, but is an incompatible architecture (have 'x86_64', need 'arm64e' or 'arm64'))
2026-02-09 12:14:08 +01:00
Thomas Waldmann
a2b47c7439
CI: cache tox environments 2026-01-31 08:06:11 +01:00
Thomas Waldmann
e78c299e71
CI: remove redundant tox runs
Some tox envs are run when opening a PR, so we
do not need to run them again at merge time.
2026-01-31 07:31:09 +01:00
Thomas Waldmann
33a63fa924
CI: parallelize better, avoid unnecessary steps 2026-01-31 07:21:48 +01:00
Thomas Waldmann
85b2ca284e
CI: enable windows testing 2026-01-27 22:35:23 +01:00
Thomas Waldmann
ee3373c5e3
build borg.exe in dist/binary 2026-01-27 22:09:20 +01:00
Thomas Waldmann
d602cf23a5
CI: faster with borg-dir/borg.exe, fixes #9236
The single-file borg.exe needs unpacking each time it is invoked.
borg-dir/borg.exe is alread unpacked.

Also, macOS is slow when a "new" binary is first invoked, so
this should help there even more.
2025-12-26 20:22:52 +01:00
Thomas Waldmann
98aa125386
add requirements file for pyinstaller
make it easy to change pyinstaller version.
2025-12-23 18:52:22 +01:00
Thomas Waldmann
7ccbb33f84
rename tox envs after fuse lib name
Also: on freebsd, run tox env py311-mfusepy
2025-12-20 19:47:36 +01:00
Thomas Waldmann
d27cb58faf
CI: use macos-15-intel to build the x86_64 binary 2025-12-16 20:15:52 +01:00
Thomas Waldmann
ac73be4b09
CI: use macOS 15 for binary builds
Github EOLed all other macOS Intel action runners.

As Apple Silicon users tend to have more
recent OSes, we bump that to macOS 15 also.
2025-12-15 17:40:51 +01:00
Thomas Waldmann
ddcf61b5db
CI: increase timeout 2025-12-15 17:35:12 +01:00
Thomas Waldmann
fefb4dfd8e
freebsd: fix upload name for artifact zip 2025-12-15 17:33:19 +01:00
Thomas Waldmann
c8f5d6219d
CI: FUSE related fixes/improvements (master)
fixes #9182

- install OS fuse support packages as indicated by the tox env.
  on the macOS runners, we do not have any fuse support.
  on the linux runners, we may have fuse2 or fuse3.
  on FreeBSD, we have fuse2.
- install fuse python library for binary build
- first build/upload binaries, then run tests (including binary tests).
  early uploading makes inspection of a malfunctioning binary possible.
- for now, use llfuse, as there is an issue with pyinstaller and pyfuse3.

Also:
- remove || true - this just hides errors, not what we want.
2025-12-15 17:29:11 +01:00
TW
425fa1c77a
fix pynacl/libsodium build on freebsd (#9214)
Some checks failed
Lint / lint (push) Has been cancelled
CI / lint (push) Has been cancelled
CI / security (push) Has been cancelled
CodeQL / Analyze (push) Has been cancelled
CI / asan_ubsan (push) Has been cancelled
CI / native_tests (push) Has been cancelled
CI / vm_tests (Haiku, false, haiku, r1beta5) (push) Has been cancelled
CI / vm_tests (NetBSD, false, netbsd, 10.1) (push) Has been cancelled
CI / vm_tests (OpenBSD, false, openbsd, 7.7) (push) Has been cancelled
CI / vm_tests (borg-freebsd-14-x86_64-gh, FreeBSD, true, freebsd, 14.3) (push) Has been cancelled
CI / windows_tests (push) Has been cancelled
2025-12-06 15:30:26 +01:00
Thomas Waldmann
9a0122995c
CI: netbsd: enable xattrs on TMPDIR 2025-11-21 12:41:59 +01:00
Thomas Waldmann
9f0b3c4ff3
CI: remove "|| true" 2025-11-09 15:12:23 +01:00
Thomas Waldmann
b0ddb15733
CI: rather use tox as test runner
so that pytest options are centrally managed in tox configuration.

let tox build venv and install requirements.

tox does this anyway, so we save some time if we
do not need the venv for other purposes also
(like e.g. building binaries).

Also:
- default XDISTN to "auto". XDISTN is still used by Vagrantfile.
- some other optimisations, like less package manager calls.
- use XDISTN=1 for haiku
- fix freebsd binary build condition
2025-11-08 00:07:19 +01:00
Thomas Waldmann
a3e6f63e2a
CI: integrate all OSes into ci.yml 2025-11-07 18:59:15 +01:00
Thomas Waldmann
63e582be6a
CI: add Haiku workflow in haiku.yml 2025-11-07 12:59:04 +01:00
Thomas Waldmann
6dee31c968
CI: add NetBSD workflow in netbsd.yml 2025-11-06 22:35:09 +01:00
Thomas Waldmann
13d6e774a0
CI: add OpenBSD workflow in openbsd.yml 2025-11-06 22:35:08 +01:00
Thomas Waldmann
5855ca4135
CI: add FreeBSD workflow in freebsd.yml 2025-11-06 22:34:59 +01:00
Thomas Waldmann
add19da678
CI: do dynamic code analysis, #6819
Use:
- AddressSanitizer ASan
- UndefinedBehaviorSanitizer UBSan
2025-11-03 20:42:13 +01:00