Commit graph

9438 commits

Author SHA1 Message Date
Thomas Waldmann
8646c4e045
shtab: require >= 1.8.0
in 1.7.x, zsh completions were still broken, 1.8.0 fixed that.
2025-11-18 17:58:41 +01:00
TW
1b9779b4f3
Merge pull request #9162 from ThomasWaldmann/docs/archive-series-note-8955
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
docs: highlight archive series naming for fast incrementals (fixes #8955)
2025-11-18 02:11:46 +01:00
TW
fd88da0c32
Merge pull request #9179 from ThomasWaldmann/update-changes
update CHANGES
2025-11-18 01:43:27 +01:00
Thomas Waldmann
7548f523e6
update CHANGES 2025-11-17 20:28:50 +01:00
TW
45fbc2f0e3
Merge pull request #9174 from ThomasWaldmann/shtab-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 (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
completion: generate completion scripts for supported shells, fixes #9172
2025-11-17 19:26:04 +01:00
Thomas Waldmann
15f59233b5
completion: borg can now generate completion scripts for supported shells, fixes #9172
Added `shtab` dependency for shell completion functionality:
- bash completion (works).
- zsh completion (known-broken due to iterative/shtab#183).
2025-11-17 18:47:00 +01:00
Thomas Waldmann
71ca0ac6a7
docs: add prominent note to borg create about archive series and files cache; recommend stable NAME per series for performance (#8955) 2025-11-10 02:37:55 +01:00
TW
1373b30ba8
Merge pull request #9161 from ThomasWaldmann/fix-freebsd-tests
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
netbsd/freebsd: work around test issues
2025-11-10 00:57:15 +01:00
Thomas Waldmann
1589489bda
netbsd: work around failure in test_basic_functionality, #8703
I could not find the root cause of this issue, but it is likely a minor
problem with ctime and doesn't affect borg usage much.

So I rather like to have CI on netbsd not failing because of this.
2025-11-09 19:48:10 +01:00
Thomas Waldmann
b929e0c5af
freebsd/netbsd: skip test_hard_link_deletion_and_replacement, #9147, #9153
The test fails on these platforms.

I could not find the root cause of this issue, but it is likely a minor
problem with ctime and doesn't affect borg usage much.

So I rather like to have CI on freebsd/netbsd not failing because of this.

Also: add is_netbsd and is_openbsd to platformflags.
2025-11-09 19:47:32 +01:00
TW
d423dd4acd
Merge pull request #9157 from ThomasWaldmann/ci-tox-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 (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
CI: use  tox (master)
2025-11-09 15:50:54 +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
TW
11c880bd76
Merge pull request #9154 from ThomasWaldmann/unify-ci-master
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
Integrate CI (master)
2025-11-07 19:45:44 +01:00
Thomas Waldmann
a3e6f63e2a
CI: integrate all OSes into ci.yml 2025-11-07 18:59:15 +01:00
TW
eca12e101e
Merge pull request #9151 from ThomasWaldmann/granularity_sleep-master
add granularity_sleep, fixes #9150
2025-11-07 17:49:50 +01:00
Thomas Waldmann
199f708b4f
add granularity_sleep, fixes #9150 2025-11-07 17:17:26 +01:00
TW
4e22bd595d
Merge pull request #9149 from ThomasWaldmann/ci-bsd-master
CI: add *BSD and Haiku OS
2025-11-07 17:15:47 +01:00
Thomas Waldmann
7d43398a17
testsuite: improve haiku compatibility
haiku does not have os.mknod.
and it looks like it does not have hardlinks either.
2025-11-07 15:25:05 +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
TW
c9484a9f3e
Merge pull request #9142 from ThomasWaldmann/py310-improvements-master
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 / posix_tests (push) Has been cancelled
CI / windows_tests (push) Has been cancelled
refactor: update type hints to use Python 3.10+ syntax
2025-11-03 23:44:38 +01:00
TW
1b4a380454
Merge pull request #9062 from ThomasWaldmann/port-8998-master
diff: --sort-by=field[,field,...], fixes #8998
2025-11-03 23:42:29 +01:00
Thomas Waldmann
dec2eb745b
refactor: update type hints to use Python 3.10+ syntax 2025-11-03 23:28:08 +01:00
TW
9c8340597b
Merge pull request #9141 from ThomasWaldmann/py39-news-master
py39 news (master)
2025-11-03 22:52:49 +01:00
Thomas Waldmann
6157c4b968
refactor: use .remove(prefix|suffix) str methods (py39) 2025-11-03 22:35:37 +01:00
Thomas Waldmann
8f40baa34b
refactor: use |= operator for dictionary updates (py39) 2025-11-03 22:18:26 +01:00
TW
3bad2de41f
Merge pull request #9139 from ThomasWaldmann/dynamic-code-analysis-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 / posix_tests (push) Blocked by required conditions
CI / windows_tests (push) Blocked by required conditions
CodeQL / Analyze (push) Waiting to run
CI: do dynamic code analysis, #6819
2025-11-03 21:19:48 +01:00
Thomas Waldmann
68590e35f0
tests: use context manager when opening files in patterns_test 2025-11-03 20:54:09 +01:00
Thomas Waldmann
add19da678
CI: do dynamic code analysis, #6819
Use:
- AddressSanitizer ASan
- UndefinedBehaviorSanitizer UBSan
2025-11-03 20:42:13 +01:00
Thomas Waldmann
5c44dad125
diff --sort-by: enhanced sorting, fixes #8998
use borg diff --sort-by=spec1,spec2,spec2 for enhanced sorting.

remove legacy --sort behaviour (sort by path), this was deprecated
since 1.4.2.

Co-authored-by: Daniel Rudolf <github.com@daniel-rudolf.de>

This is a port of #9005 to master branch.
2025-11-03 19:25:02 +01:00
Thomas Waldmann
51ddfaf9c1
preprocess_args: fix option name matching
previously, it also matched on --sort-by when it only should have matched on --sort.
2025-11-03 17:51:05 +01:00
TW
d15e8ca6c5
Merge pull request #9138 from ThomasWaldmann/update-changes
update CHANGES
2025-11-03 17:42:30 +01:00
Thomas Waldmann
352cf7bdcc
update CHANGES 2025-11-03 17:33:19 +01:00
TW
30fb8266a0
Merge pull request #9136 from ThomasWaldmann/issue-9134-attestations2
Some checks are pending
Lint / lint (push) Waiting to run
CI / lint (push) Waiting to run
CI / security (push) Waiting to run
CI / posix_tests (push) Blocked by required conditions
CI / windows_tests (push) Blocked by required conditions
CodeQL / Analyze (push) Waiting to run
do binary build and gh attestation based on a tag push
2025-11-02 19:27:12 +01:00
Thomas Waldmann
eba3f8cfb0
docs: update attestation instructions in binary readme 2025-11-02 18:48:08 +01:00
Thomas Waldmann
4be4609445
CI: run also for tag pushes
Simplifies tag-based binary building and attestation.
2025-11-02 18:45:35 +01:00
TW
f24adf5484
Merge pull request #9135 from ThomasWaldmann/issue-9134-attestations
CI: add GitHub artifact attestations for release binaries, fixes #9134 (master)
2025-11-02 17:27:25 +01:00
Thomas Waldmann
a5c8aed7cf
CI: add GitHub artifact attestations for release binaries (fixes #9134)
- grant id-token and attestations permissions to posix_tests job
- add actions/attest-build-provenance@v1 step for built artifacts

This publishes SLSA-style provenance for our tag builds (only when binaries
are produced) so users can verify the origin of downloaded borg binaries.
2025-11-02 17:17:23 +01:00
TW
b9508a8f55
Merge pull request #9133 from f-froehlich/master
Bugfix: local path regex should not match s3 and b2 urls
2025-11-02 15:52:43 +01:00
Fabian Fröhlich
9a5d2bc3ce Bugfix: local path regex should not match s3 and b2 urls 2025-11-02 14:40:46 +01:00
TW
4cffced692
Merge pull request #9131 from ThomasWaldmann/port-9122-to-master-openindiana-doclinks-3.10
Some checks are pending
Lint / lint (push) Waiting to run
CI / lint (push) Waiting to run
CI / security (push) Waiting to run
CI / posix_tests (push) Blocked by required conditions
CI / windows_tests (push) Blocked by required conditions
CodeQL / Analyze (push) Waiting to run
drop python 3.9, more work was needed
2025-11-01 20:49:14 +01:00
Thomas Waldmann
c41d1b1fe2
drop python 3.9, more work was needed 2025-11-01 20:32:59 +01:00
TW
bcbff56bde
Merge pull request #9130 from ThomasWaldmann/port-9121-to-master
Release process updates (master)
2025-11-01 20:11:54 +01:00
Thomas Waldmann
3fe9102b29
update binary readme 2025-11-01 20:02:22 +01:00
Thomas Waldmann
943e68b20e
docs: release binaries are built on GitHub now
bad:
- no *BSD testing and FreeBSD binary building on gh
- binaries not signed by me, because they are built on gh

good:
- for linux intel/amd64 and arm64, built on ubuntu
- for macOS intel and arm64, built on a relatively recent macOS
- I can get rid of that ancient macOS VM I used for building.
- the source code distribution (sdist) is still made locally on
  my machine and thus signed with my signature (*.asc).
2025-11-01 20:02:20 +01:00
Thomas Waldmann
471e302024
upload-pypi: use borg-specific repository names
so it finds the right api token in .pypirc
2025-11-01 19:57:26 +01:00
TW
df17837a58
Merge pull request #9129 from ThomasWaldmann/vagrant-updates-master-port-9117
Vagrant updates (master port of #9117)
2025-11-01 19:44:56 +01:00