From 1c1838af0541fd9686f724d7141b565e0ea0e590 Mon Sep 17 00:00:00 2001 From: John Coffey Date: Wed, 30 Sep 2026 13:45:36 -0700 Subject: [PATCH 1/2] Release 2026.9.30.1 --- crates/types/src/branding.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/crates/types/src/branding.rs b/crates/types/src/branding.rs index 04ab7a3..f68c23d 100644 --- a/crates/types/src/branding.rs +++ b/crates/types/src/branding.rs @@ -81,7 +81,7 @@ fn legacy_setting(name: &str, is_set: impl Fn(&str) -> bool) -> Option { #[macro_export] macro_rules! brand_version { () => { - "2026.9.30" + "2026.9.30.1" }; } From ea9a6f0c5871c684592cddae31a070086a01b3ae Mon Sep 17 00:00:00 2001 From: John Coffey Date: Wed, 30 Sep 2026 15:17:05 -0700 Subject: [PATCH 2/2] ci: retry release file uploads over HTTP/1.1 The v2026.9.30.1 binaries job lost a 50 MB upload to Gitea's release API on each of its two runs (curl 92, HTTP/2 PROTOCOL_ERROR; the origin logged 400 with no body), arm64 the first time and amd64 the second. The uploads cross Cloudflare. A failed run also left the release short of the file it had just deleted. Uploads now go over HTTP/1.1, and every API call retries 5 times. --- .github/workflows/ci.yml | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 6547460..edcb18d 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -357,18 +357,23 @@ jobs: cat SHA256SUMS # A re-run of a tag replaces its assets rather than leaving two files # with the same name and different contents. + # + # The uploads cross Cloudflare, which dropped 50 MB HTTP/2 uploads + # part-way for v2026.9.30.1 (curl 92, PROTOCOL_ERROR; origin logged + # 400), once on each of two runs. Uploads go over HTTP/1.1 and retry. - name: attach them to the release run: | set -euo pipefail api="$GITEA_URL/api/v1/repos/$GITHUB_REPOSITORY" auth="Authorization: token $GITEA_TOKEN" - rel="$(curl -fsS -H "$auth" "$api/releases/tags/$TAG" | jq -r .id)" - assets="$(curl -fsS -H "$auth" "$api/releases/$rel/assets")" + retry=(--retry 5 --retry-all-errors --retry-delay 15) + rel="$(curl -fsS "${retry[@]}" -H "$auth" "$api/releases/tags/$TAG" | jq -r .id)" + assets="$(curl -fsS "${retry[@]}" -H "$auth" "$api/releases/$rel/assets")" for f in out/inbuxa-linux-amd64.tar.gz out/inbuxa-linux-arm64.tar.gz out/SHA256SUMS; do name="$(basename "$f")" old="$(jq -r --arg n "$name" '.[] | select(.name == $n) | .id' <<<"$assets")" - for id in $old; do curl -fsS -o /dev/null -X DELETE -H "$auth" "$api/releases/$rel/assets/$id"; done - curl -fsS -o /dev/null -X POST -H "$auth" -F "attachment=@$f" "$api/releases/$rel/assets?name=$name" + for id in $old; do curl -fsS "${retry[@]}" -o /dev/null -X DELETE -H "$auth" "$api/releases/$rel/assets/$id"; done + curl -fsS --http1.1 "${retry[@]}" -o /dev/null -X POST -H "$auth" -F "attachment=@$f" "$api/releases/$rel/assets?name=$name" echo "attached $name" done