Commit graph

109 commits

Author SHA1 Message Date
Thomas Waldmann
add19da678
CI: do dynamic code analysis, #6819
Use:
- AddressSanitizer ASan
- UndefinedBehaviorSanitizer UBSan
2025-11-03 20:42:13 +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
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
Thomas Waldmann
c4a9582fdf
build binaries on github
also:

- speed up CI for PRs
- update README for binaries
2025-10-16 00:37:46 +02:00
Thomas Waldmann
f401ca00f9
backport action: remove debugging step
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 / linux (ubuntu-22.04, 3.10, mypy) (push) Has been cancelled
CI / linux (ubuntu-22.04, 3.10, py310-fuse2) (push) Has been cancelled
CI / linux (ubuntu-22.04, 3.11, docs) (push) Has been cancelled
CI / linux (ubuntu-22.04, 3.11, py311-fuse3) (push) Has been cancelled
CI / linux (ubuntu-24.04, 3.12, py312-fuse3) (push) Has been cancelled
CI / linux (ubuntu-24.04, 3.13, py313-fuse3) (push) Has been cancelled
CI / linux (ubuntu-24.04, 3.14, py314-fuse3) (push) Has been cancelled
CI / macOS (macos-14, 3.11, py311-none) (push) Has been cancelled
CI / windows (push) Has been cancelled
2025-10-12 16:24:36 +02:00
Thomas Waldmann
ee4083eaa7
backport action: fix label_pattern 2025-10-12 16:19:19 +02:00
Thomas Waldmann
126dc4974a
debug backport action 2025-10-12 16:06:25 +02:00
Thomas Waldmann
947007c567
test on Python 3.14 (w/o -dev) 2025-10-09 12:43:16 +02:00
Thomas Waldmann
d27409784e
github actions: use korthout/backport-action 2025-09-23 18:53:08 +02:00
Thomas Waldmann
2c7bec0149
manual corrections/reverts 2025-09-23 14:56:35 +02:00
Thomas Waldmann
f9ec04ddf6
github workflows: fix typos and grammar 2025-09-23 14:53:51 +02:00
Thomas Waldmann
adbad12478
github templates: fix typos and grammar 2025-09-23 14:53:49 +02:00
Thomas Waldmann
b5d0261222
CI: add local servers for s3 and sftp testing 2025-09-11 14:40:24 +02:00
Thomas Waldmann
74689d6ea9
support python 3.14 2025-06-12 12:06:45 +02:00
Thomas Waldmann
338f9b1db9
add bandit, a security-oriented static analysis tool 2025-06-01 18:00:35 +02:00
Thomas Waldmann
5940bad06e
CI: disable windows for now
The file:// repo URLs are still broken on windows.
2025-05-23 06:47:59 +02:00
Thomas Waldmann
18844717d2
CI: upload coverage for windows tests 2025-05-21 22:40:55 +02:00
Thomas Waldmann
5c681b921c
completions: test validity of shell completion files
CI: install zsh and fish so we can test shell completions
2025-05-19 21:03:14 +02:00
Thomas Waldmann
3df7702519
tests: fix and enable windows CI, fixes #8728
thanks a lot to @sothix for helping with this!

removed pytest-forked, is not found anymore:
error: target not found: mingw-w64-ucrt-x86_64-python-pytest-forked

use a virtual env to avoid mixup of user with system packages.

remove old workaround for setuptools (SETUPTOOLS_USE_DISTUTILS: stdlib).

fix pip install

use --system-site-packages as a workaround for broken pip install python-cffi.

do not upgrade pip setuptools build wheel

use python -m pytest to use the one from the venv
2025-05-19 11:00:11 +02:00
Ronny Pfannschmidt
4d2197b536 update codeql to v3 due to deprecation 2025-05-09 23:11:23 +02:00
Thomas Waldmann
a90473600d
remove support for / testing on Python 3.9
Python 3.9 will run out of upstream support 2025-10 anyway.
So we can also drop it right now and have faster CI testing.
2025-04-24 20:55:02 +02:00
Thomas Waldmann
41f150ff7f
macos: fix broken brew pkg-config upgrade
it looks like in brew they removed pkg-config formula and added
an alias to the pkgconf formula (which also provides a pkg-config
cli command).

the transition was not seamless:

on github actions CI:

Installing pkg-config
==> Downloading https://ghcr.io/v2/homebrew/core/pkgconf/manifests/2.3.0_1
==> Fetching pkgconf
==> Downloading https://ghcr.io/v2/homebrew/core/pkgconf/blobs/sha256:5f83615f295e78e593c767d84f3eddf61bfb0b849a1e6a5ea343506b30b2c620
==> Pouring pkgconf--2.3.0_1.arm64_sonoma.bottle.tar.gz
Error: The `brew link` step did not complete successfully
The formula built, but is not symlinked into /opt/homebrew
Could not symlink bin/pkg-config
Target /opt/homebrew/bin/pkg-config
is a symlink belonging to pkg-config@0.29.2. You can unlink it:
  brew unlink pkg-config@0.29.2

To force the link and overwrite all conflicting files:
  brew link --overwrite pkgconf

To list all files that would be deleted:
  brew link --overwrite pkgconf --dry-run

Possible conflicting files are:
/opt/homebrew/bin/pkg-config -> /opt/homebrew/Cellar/pkg-config@0.29.2/0.29.2_3/bin/pkg-config
/opt/homebrew/share/aclocal/pkg.m4 -> /opt/homebrew/Cellar/pkg-config@0.29.2/0.29.2_3/share/aclocal/pkg.m4
/opt/homebrew/share/man/man1/pkg-config.1 -> /opt/homebrew/Cellar/pkg-config@0.29.2/0.29.2_3/share/man/man1/pkg-config.1
==> Summary
🍺  /opt/homebrew/Cellar/pkgconf/2.3.0_1: 27 files, 474KB
Installing pkg-config has failed!
2024-11-24 18:11:39 +01:00
Thomas Waldmann
e1347ef9ab
CI: use "3.13" (w/o "-dev") 2024-10-23 23:21:18 +02:00
Thomas Waldmann
7be254efe5
github CI: temporarily disabled windows CI, #8474 2024-10-15 20:36:17 +02:00
Thomas Waldmann
4c1a0b1ca0
msys2: disable SETUPTOOLS_USE_DISTUTILS=stdlib hack
The msys2 changelog says it is only needed for setuptools < 70.2.0:

https://www.msys2.org/docs/python/#known-issues

https://setuptools.pypa.io/en/stable/history.html#v70-2-0
2024-09-19 12:36:18 +02:00
Thomas Waldmann
de249f611e
CI: enable windows build 2024-09-15 22:56:06 +02:00
TW
ea08e49210
Merge pull request #8332 from ThomasWaldmann/use-borgstore
use borgstore and other big changes
2024-09-08 15:16:24 +02:00
Thomas Waldmann
57268909f8
upgrade black to 24.x 2024-09-07 22:04:36 +02:00
Thomas Waldmann
a8381673b0
support / test on Python 3.13 2024-08-29 00:00:52 +02:00
Thomas Waldmann
d30d5f4aec
Repository3 / RemoteRepository3: implement a borgstore based repository
Simplify the repository a lot:

No repository transactions, no log-like appending, no append-only, no segments,
just using a key/value store for the individual chunks.

No locking yet.

Also:

mypy: ignore missing import
there are no library stubs for borgstore yet, so mypy errors without that option.

pyproject.toml: install borgstore directly from github
There is no pypi release yet.

use pip install -e . rather than python setup.py develop
The latter is deprecated and had issues installing the "borgstore from github" dependency.
2024-08-23 23:55:09 +02:00
Thomas Waldmann
69ce4bd9ee
add github sponsors
also: reorder
2024-07-26 23:51:36 +02:00
Paweł Kotiuk
f777263997 Add Open Collective and Liberapay to FUNDING.yml
Source: https://www.borgbackup.org/support/fund.html
2024-07-19 20:41:06 +00:00
Thomas Waldmann
1e38525853
github CI: windows msys2 build: broken, disable it for now, see #8264 2024-07-07 14:36:54 +02:00
Thomas Waldmann
7baf8beed6
github CI: fix PKG_CONFIG_PATH for openssl 3.0 2024-05-12 15:25:27 +02:00
Thomas Waldmann
d893b899fc
update github actions
(avoid deprecation warnings)
2024-04-03 18:26:35 +02:00
Thomas Waldmann
670cb6eb3f
github CI: misc updates
- macOS: run on macos-14 (on Apple Silicon!)
- macOS: use OpenSSL 3.0 from brew
- macOS: run with Python 3.11
- pip install -e .: add -v
- use up-to-date github actions
- remove libb2 references - since borg 1.2, we use blake2 indirectly via python stdlib
2024-03-15 18:19:15 +01:00
Thomas Waldmann
8944129806
gh actions: increase timeout
especially the macos workers are sometimes extremely slow.
2024-02-09 00:22:16 +01:00
Stephen
5c5df6458a
github CI (macOS): use brew bundle install (uses Brewfile) 2024-01-14 15:30:08 +01:00
Thomas Waldmann
1a544845a2
use less setup.py, use pip and build
todo: clean clean2 build_usage build_man
2024-01-02 19:50:59 +01:00
Thomas Waldmann
66eb086c4a
fix msys build
forward port to get code in sync with 1.4-maint.

use "pip install -e ." before invoking pyinstaller, so we have
the _version.py built by setuptools_scm and also it compiled the
extension modules, so pyinstaller can pick them up.

msys2 hack:

https://stackoverflow.com/questions/76079590/error-plat-name-must-be-one-of-win32-win-amd64-win-arm32-win-arm6
2024-01-02 19:46:48 +01:00
Thomas Waldmann
b0f7b05f43
CI: also trigger if a .toml file changes
Usually this might be pyproject.toml.
2023-11-27 17:23:36 +01:00
Thomas Waldmann
82440a2a38
github CI: test on py312 (w/o -dev) 2023-10-10 17:38:39 +02:00
Thomas Waldmann
1175fbcfd9
support / test on Python 3.12 2023-09-14 03:04:28 +02:00
Thomas Waldmann
98796a2f0d
replace flake8 by ruff 2023-09-04 22:15:42 +02:00
Thomas Waldmann
057aec407d
ci: run on ubuntu 22.04 2023-08-26 15:11:17 +02:00
Thomas Waldmann
d2d6e6092b
CI: test building the docs 2023-08-26 13:44:51 +02:00
Thomas Waldmann
cab8e5d013
github actions CI: win/mac both need linux succeed first, fixes #7684
also:
- XDISTN=6, 3 cores on macOS machines
- XDISTN=4, 2 cores on windows/linux machines
2023-06-29 19:59:39 +02:00
Thomas Waldmann
e9f766dbbf
gha: remove outdated borg2 branch 2023-06-28 15:27:26 +02:00
Thomas Waldmann
7092f24f4a
CI: try 4 parallel pytest-xdist workers 2023-06-06 23:22:03 +02:00
Rayyan Ansari
4f7d940769
CI: merge Windows workflow with main
This also enables us to avoid running it when lint fails.
2023-06-01 20:25:42 +01:00