119 Commits
Author SHA1 Message Date
Thomas WaldmannandClaude Opus 5.5 b2de6a99b4 remove CHANGES.rst symlink
It just pointed to docs/changes.rst, refer to that file directly.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-09-24 22:00:31 +02:00
Thomas WaldmannandClaude Opus 5 8356838d79 release: attach the binaries' sigstore bundles to the GitHub release, too
a6970c7e7 did this for the sdist: its provenance attestation is only
stored in the GitHub attestations API, and fetching it from there needs
a recent gh and a GitHub token, so the sigstore bundle is attached to
the release as <asset>.sigstore.jsonl for offline verification.

Do the same for the standalone binaries: the jobs that build them attest
them, so they are also the ones that have the bundle. Each of them stores
it under the name of every asset it attested (one attestation covers both
the single-file binary and the .tgz) and uploads it in the artifact that
carries the binaries, so the release job attaches it to the release along
with them - it uploads whatever is in the artifacts.

vm_tests attested after uploading its artifact, so the attestation is now
made before the upload, like in the other two jobs.

Also document the offline verification in the binaries README (which is a
release asset itself) and in the release checklist.

Co-Authored-By: Claude Opus 5 <[email protected]>
2026-08-31 23:44:20 +02:00
TW 117e5c65b0 Merge pull request #10272 from ThomasWaldmann/fix-dev-archiver-pointer
docs: fix stale archiver.py pointer in development.rst
2026-08-29 15:22:22 +02:00
Thomas WaldmannandClaude Fable 5 9d64e5d4e8 docs: fix stale archiver.py pointer in development.rst
The usage/man docs sources live in the src/borg/archiver/ package;
the monolithic archiver.py is borg 1.x.

Co-Authored-By: Claude Fable 5 <[email protected]>
2026-08-29 15:10:16 +02:00
Thomas WaldmannandClaude Fable 5 d4c9fe7691 docs: macOS binaries are built without FUSE support
The auto-generated release notes claimed the macOS binaries are built
with FUSE support; they are built with the "none" FUSE variant
(toxenv py314-none) and no workflow installs macFUSE, matching what
00_README.txt says. Also drop the corresponding stale macFUSE step
from the release checklist.

Co-Authored-By: Claude Fable 5 <[email protected]>
2026-08-29 14:39:28 +02:00
Thomas WaldmannandClaude Fable 5 53de25c75f docs: remove Vagrant references from development.rst
Vagrant is no longer used for testing environments or binary builds
(platform testing and binary building happen on GitHub CI; local Linux
testing uses Podman via scripts/linux-run). The section also claimed a
"windows10" box that the Vagrantfile does not define.

Co-Authored-By: Claude Fable 5 <[email protected]>
2026-08-28 23:38:08 +02:00
Thomas WaldmannandClaude Fable 5 3bf2765ca5 docs: fix tox examples in development.rst
The advanced tox examples predate tox 4: positionals before -- are
rejected now, and borg.testsuite.locking no longer exists. Also, with
the [tool.tox] TOML-array commands, everything after -- becomes a
single --pyargs value, so module selection works but combining it with
pytest options like -k does not; say so and point at running pytest
directly instead. Also fix the tox.ini and borg/archiver.py references.

Co-Authored-By: Claude Fable 5 <[email protected]>
2026-08-28 23:37:46 +02:00
Thomas Waldmann abd9c3d88c CI: release automation for PyPI and GitHub releases
Pushing a release tag so far only built the standalone binaries and uploaded
them as workflow artifacts - everything else was manual: build and sign the
sdist, upload it to PyPI, fetch the binary artifacts and create the GitHub
release with them.

Add a release job (.github/workflows/release.yml), called by ci.yml for tags
after the tests and the binary builds succeeded - it runs inside the same
workflow run, because that is where the binary artifacts are. It builds the
sdist, verifies that the sdist is complete by installing it into a clean venv
and running borg, attests its provenance and drafts the GitHub release with
the sdist and all standalone binaries attached.

A pypi job then uploads the sdist to PyPI via trusted publishing, so no API
token has to be stored anywhere. It lives in ci.yml because PyPI trusted
publishing does not work from a reusable workflow. It uses the "pypi"
environment: configuring required reviewers for it makes the irreversible
upload wait for an approval.

The Windows binaries now use the same naming and layout as the binaries of
the other platforms (borg-windows-x86_64-gh.exe and .tgz, with the
single-directory variant and a provenance attestation), so they become
release assets, too.

The GitHub release is created as a draft: the release notes want a human, the
detached GPG signature of the sdist can only be made locally, and the binaries
should be tried out before the release becomes visible.
2026-08-15 08:52:14 +02:00
Mrityunjay Raj 55535a21eb docs: address review, add excalidraw sources for pack figures
Fix outdated wording in pack figures and captions, document the
diagram workflow in development.rst, and check in editable sources.
2026-07-03 17:22:36 +05:30
Thomas Waldmann 48308f1969 misc docs updates 2026-06-16 15:21:57 +02:00
Thomas Waldmann 0f1e3f90fe CI: use locked requirements, add canary job, fixes #9361 2026-03-12 15:01:00 +01:00
Thomas Waldmann 40a2bb7032 linux-run: run commands (e.g. tox) in a podman linux container
this is useful to run the linux tests on a mac, e.g. to test fuse stuff.
2026-02-14 12:19:32 +01:00
Mrityunjay Raj ffe360a2ec fix typos found by codespell
- backupped → backed-up (docs/faq.rst)
- splitted → expected (src/borg/testsuite/xattr_test.py)
- uptodate → up-to-date (docs/development.rst, src/borg/repository.py)

Closes #9295
2026-02-13 00:16:54 +05:30
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 3120f9cd1c fixed typos and grammar (AI)
this was done by Junie AI.
2025-09-23 14:56:23 +02:00
Thomas Waldmann b6ee18fffc docs: minor formatting changes in development docs 2025-05-07 17:02:29 +02:00
Thomas Waldmann b68552aef2 docs: announce releases on Mastodon, bsky, X 2025-05-07 16:53:30 +02:00
Thomas Waldmann 32ce149caa docs: refer to more current 1.4-maint 2025-05-07 16:48:55 +02:00
Thomas Waldmann ae423cfd10 docs: must have the release tags in the local repo, fixes #8582 2025-05-07 16:45:53 +02:00
Thomas Waldmann 5c3d9dec4b 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 22:29:55 +02:00
Coenraad Loubser 309bfc1f0c Clearer language 2025-03-21 12:23:19 +02:00
Thomas Waldmann 090ee523ad docs: update "Running the tests (using the pypi package)", fixes #6386 2024-10-04 19:04:43 +02:00
Thomas Waldmann 4d424de69e scripts: update docs about make.py 2024-02-09 17:37:44 +01:00
Thomas Waldmann b64f6e3335 scripts/gendocs.py: make it work
remove unused html_write function

gendocs: update developer docs
2024-02-09 17:37:38 +01:00
Thomas Waldmann 33393946b5 docs: how to run the testsuite using the dist package 2024-02-09 00:36:58 +01:00
Thomas Waldmann 576ee3532c docs: fix markup errors 2024-01-14 17:27:21 +01:00
ebabcock93 73a416830a docs: add typical PR workflow to development docs, fixes #7495 (#7656) 2024-01-10 00:56:18 +01:00
Thomas Waldmann 8db8fd601b docs: OS X -> macOS 2023-07-04 23:59:44 +02:00
Thomas Waldmann 5fb4cc3b4b docs: no signature upload on pypi any more
but we upload it on github releases,
so people can check it.
2023-07-04 20:20:35 +02:00
Thomas Waldmann 15781efab3 docs: CI only on github actions now 2023-07-04 20:11:26 +02:00
Thomas Waldmann 80188d3bdf remove coala (outdated)
last coala release (0.11.0) is now over 6y old.

when using pip install coala, a ton of stuff gets installed (expected)
and a part of that downgrades some stuff we use to outdated, incompatible
versions.

when trying to run coala with python 3.11, it just crashes because the
last release was made for py35/py36 (as seen in their setup.py).

a lot of PRs and tickets pile up at the coala project on github,
but noone is maintaining it.
2023-07-02 17:25:51 +02:00
Michael Deyaso 98d1c65b40 Installed and configured pre-commit to lint and format code. Fixes #7476 2023-03-25 13:34:30 +03:00
Thomas Waldmann 89e4a52c56 docs: misc. updates
- remove outdated stuff
- fix infos for borg 2.0
2022-08-03 11:35:25 +02:00
Thomas Waldmann 2e063a9c44 docs: using black for code formatting 2022-07-06 16:35:31 +02:00
Thomas Waldmann dbb63f874b docs: fix rst literal blocks 2022-07-05 00:38:37 +02:00
Thomas Waldmann 64e7ccd3fc require python >= 3.9, fixes #6315 2022-02-27 18:46:30 +01:00
Thomas Waldmann 59b6dc5442 require python 3.8+, fixes #5975
if you do not have py38+ yet, just use borg 1.1.x.
2021-09-16 02:21:29 +02:00
Ryan Polley 974fd9eecb add link back to git-installation 2021-01-22 16:12:52 -06:00
Samuel fa331c3e3b Change references of Travis to GitHub Actions (#5536)
s/travis/github actions/g, fixes #5528
2020-12-03 20:10:53 +01:00
Guinness 4212730e54 Add some documentation for new compression algorithm 2020-11-13 13:23:37 +01:00
Thomas Waldmann 9d2cabc4d2 update travis-ci.org -> .com (master) 2020-11-02 23:06:15 +01:00
Thomas Waldmann 49b1421682 FUSE: support pyfuse3 additionally to llfuse, fixes #5407
FUSE implementation can be switched via env var BORG_FUSE_IMPL.
2020-10-31 22:04:44 +01:00
Thomas Waldmann 1a8f5d27ab drop python 3.5, fixes #5344
py35 is EOL.
2020-09-25 02:13:43 +02:00
Thalian a8ecec24c2 [DOCS] #5000 – Add rendering docs to release todo
Add a line regarding checking the markup.
2020-03-18 19:54:03 +01:00
Milkey Mouse 4e95ad6230 Add updating borgbackup.org/releases to release checklist (fixes #4999) 2020-03-11 15:51:29 -07:00
Ioannis Cherouvim b586a6a20e docs: List items consistency
Capitalized list items and finished them with a full stop. This was inconsistent.
2019-09-20 21:19:38 +03:00
ntova 627ca1376b Fix various code blocks in the docs (#4708)
Fix various code blocks in the docs

- rst markup: put codeblock markup on separate line to make it better visible / separate it from normal text colons.

- borg help texts in archiver.py: put codeblock markup instead of colon - that way it looks like a single colon when using the cli help and also works as code block markup.
2019-08-09 23:13:11 +02:00
Thomas Waldmann 305efb5b01 signing binaries with Qubes OS support, docs 2019-02-11 02:44:44 +01:00
Thomas Waldmann f7525156c1 update release workflow using twine (docs, scripts), see #4213 2019-02-01 22:07:49 +01:00
Thomas Waldmann 63bdae8314 docs: fix broken links
(cherry picked from commit c7994b598b)
2017-11-27 00:00:46 +01:00