From 471e302024a854164a33559721baa0ad77547b41 Mon Sep 17 00:00:00 2001 From: Thomas Waldmann Date: Sat, 1 Nov 2025 19:57:26 +0100 Subject: [PATCH 1/3] upload-pypi: use borg-specific repository names so it finds the right api token in .pypirc --- scripts/upload-pypi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/upload-pypi b/scripts/upload-pypi index 44aea4024..0098e718b 100755 --- a/scripts/upload-pypi +++ b/scripts/upload-pypi @@ -8,7 +8,7 @@ if [ "$R" = "" ]; then fi if [ "$2" = "test" ]; then - export TWINE_REPOSITORY=borgbackuptest + export TWINE_REPOSITORY=testborgbackup else export TWINE_REPOSITORY=borgbackup fi From 943e68b20e8324e96064c62f24fd8542e46b7a5c Mon Sep 17 00:00:00 2001 From: Thomas Waldmann Date: Sat, 1 Nov 2025 19:57:44 +0100 Subject: [PATCH 2/3] 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). --- docs/development.rst | 26 +++++++++++++++----------- 1 file changed, 15 insertions(+), 11 deletions(-) diff --git a/docs/development.rst b/docs/development.rst index 7845bf81f..69e313628 100644 --- a/docs/development.rst +++ b/docs/development.rst @@ -439,7 +439,7 @@ Checklist: - Check version number of upcoming release in ``CHANGES.rst``. - Render ``CHANGES.rst`` via ``make html`` and check for markup errors. - Verify that ``MANIFEST.in``, ``pyproject.toml`` and ``setup.py`` are complete. -- Run these commands and commit:: +- Run these commands, check git status for files that might need to be added, and commit:: python scripts/make.py build_usage python scripts/make.py build_man @@ -448,6 +448,8 @@ Checklist: git tag -s -m "tagged/signed release X.Y.Z" X.Y.Z +- Push the release PR branch to GitHub, make a pull request. +- Also push the release tag. - Create a clean repo and use it for the following steps:: git clone borg borg-clean @@ -456,8 +458,9 @@ Checklist: It will also reveal uncommitted required files. Moreover, it makes sure the vagrant machines only get committed files and do a fresh start based on that. -- Run tox and/or binary builds on all supported platforms via vagrant, - check for test failures. +- Optional: run tox and/or binary builds on all supported platforms via vagrant, + check for test failures. This is now optional as we do platform testing and + binary building on GitHub. - Create sdist, sign it, upload release to (test) PyPi: :: @@ -468,11 +471,12 @@ Checklist: Note: the signature is not uploaded to PyPi any more, but we upload it to github releases. -- Put binaries into dist/borg-OSNAME and sign them: - - :: - - scripts/sign-binaries 201912312359 +- When GitHub CI looks good on the release PR, merge it and then check "Actions": + GitHub will create binary assets after the release PR is merged within the + CI testing of the merge. Check the "Upload binaries" step on Ubuntu (AMD/Intel + and ARM64) and macOS (Intel and ARM64), fetch the ZIPs with the binaries. +- Unpack the ZIPs and test the binaries, upload the binaries to the GitHub + release page (borg-OS-SPEC-ARCH-gh and borg-OS-SPEC-ARCH-gh.tgz). - Close the release milestone on GitHub. - `Update borgbackup.org @@ -489,7 +493,7 @@ Checklist: - pypi dist package and signature - Standalone binaries (see above for how to create them). - - For macOS, document the macFUSE version in the README of the binaries. - macFUSE uses a kernel extension that needs to be compatible with the - code contained in the binary. + - For macOS binaries **with** FUSE support, document the macFUSE version + in the README of the binaries. macFUSE uses a kernel extension that needs + to be compatible with the code contained in the binary. - A link to ``CHANGES.rst``. From 3fe9102b29509928cf1a573156dd9cd23977c22b Mon Sep 17 00:00:00 2001 From: Thomas Waldmann Date: Sat, 1 Nov 2025 19:58:00 +0100 Subject: [PATCH 3/3] update binary readme --- docs/binaries/00_README.txt | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/docs/binaries/00_README.txt b/docs/binaries/00_README.txt index b05a4e555..1377d18ab 100644 --- a/docs/binaries/00_README.txt +++ b/docs/binaries/00_README.txt @@ -47,18 +47,18 @@ borg-linux-glibc231-x86_64 Linux (built on Debian 11 "Bullseye" with glibc 2.31) borg-freebsd-14-x86_64 FreeBSD (built on FreeBSD 14) +Note: if you don't find a specific binary here, check release 1.4.1 or 1.2.9. Verifying your download ----------------------- -Please check the GPG signature to make sure you received the binary as I have -built it. +I provide GPG signatures for files which I have built locally on my machines. -To check the GPG signature, download both the binary and the corresponding -*.asc file and then (on the shell) type, for example: +To check the GPG signature, download both the file and the corresponding +signature (*.asc file) and then (on the shell) type, for example: gpg --recv-keys 9F88FB52FAF7B393 - gpg --verify borg-freebsd14.asc borg-freebsd14 + gpg --verify borgbackup.tar.gz.asc borgbackup.tar.gz The files are signed by: