Skip to content

Set SourceForge per-platform default downloads on release - #486

Merged
kwart merged 3 commits into
masterfrom
sf-default-download
Aug 29, 2026
Merged

Set SourceForge per-platform default downloads on release#486
kwart merged 3 commits into
masterfrom
sf-default-download

Conversation

@kwart

@kwart kwart commented Aug 29, 2026

Copy link
Copy Markdown
Member

Fixes #485.

SourceForge's per-platform "Download Latest Version" flag does not auto-follow new uploads, so it stayed pinned to the ancient JSignPdf_setup_2.3.0.exe (reported by @LadaN62 in #479).

Change

After the SFTP upload in publish-release, call the SourceForge Release API to set each platform's default onto the newly published file:

platform file
windows jsignpdf-<v>-windows-x64.msi
mac jsignpdf-<v>-macos-aarch64.dmg
linux jsignpdf-<v>-linux-x64.deb
others jsignpdf-<v>-full.zip
  • Gated on is-prerelease == 'false' — ALPHA/BETA/RC/MILESTONE never become "latest".
  • Retries each PUT up to 5× (30s apart); fails the job if any platform can't be set.

Required before this works

Add a repo secret SOURCEFORGE_API_KEY (the account's Releases API Key from the SourceForge account page). The step errors early if it's missing.

Note

The flag only updates on the next final release. To fix the current stale 2.3.0 default sooner, the four API PUTs can be run manually against the current stable files.

kwart added 3 commits August 29, 2026 11:14
SourceForge's "Download Latest Version" flag does not auto-follow new
uploads, so it stayed pinned to the ancient JSignPdf_setup_2.3.0.exe.
After the SFTP upload, call the SourceForge Release API to point each
platform's default at the newly published file (windows->msi, mac->dmg,
linux->x64 deb, others->full zip). Gated to final releases so
pre-releases never become "latest". Requires a new SOURCEFORGE_API_KEY
secret.
The API nests the file object under .result with the flags at
.result.x_sf.default; the previous check only tested for an error key,
so a null/redirect body passed silently. Now require HTTP 200 and the
platform present in .result.x_sf.default, and log the raw response.
Verified live against the 3.1.0 release folder.
@kwart
kwart merged commit be5111d into master Aug 29, 2026
2 checks passed
@kwart
kwart deleted the sf-default-download branch August 29, 2026 09:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

SourceForge 'Download Latest Version' still points to old JSignPdf_setup_2.3.0.exe

1 participant