This repository publishes normal GitHub Release assets for every v* tag. Release assets include the main gost binary and the standalone portyd server built from lovitus/gust-x. Package-manager channels are stricter: Homebrew, Scoop, APT, and RPM repositories are updated only for stable tags matching ^v[0-9]+\.[0-9]+\.[0-9]+$.
Current suffix releases such as v3.2.9-porty7 are prereleases. They publish
normal GitHub Release archives for gost and portyd, but they do not update
Homebrew, Scoop, APT, or RPM package-manager channels.
- Stable tags such as
v3.2.8are marked as latest and update package-manager channels. - Nonstable tags such as
v3.2.8-rc1,v3.2.7-sings, and nightly tags are marked as prerelease and explicitly not latest. - The first package-manager version is the next stable tag after this publishing setup lands. Existing suffix releases are not backfilled.
- Secrets:
PACKAGE_GPG_PRIVATE_KEYPACKAGE_GPG_PASSPHRASE- existing
GH_PATfor checking outlovitus/gust-x
- Workflow permissions must allow
GITHUB_TOKENto write repository contents and Pages. - If
masteris protected from direct bot pushes, either allow the release workflow bot to push package manifests or change the manifest step to open a bot PR. - GitHub Pages is published from the
gh-pagesbranch. The release workflow creates this branch on first stable package publish if it does not exist.
- Push a stable tag, for example
v3.2.8. - The release workflow builds all existing binary archives.
- For stable tags only, it checks signing secrets, builds
gustdeb/rpm packages from the existinggost-linux-amd64andgost-linux-arm64archives, prepares the APT/RPM repository tree, generateschecksums.txt, and generates Homebrew/Scoop manifests. - The workflow creates the GitHub Release, or uploads assets with
--clobberif the Release already exists. - After the Release succeeds, it pushes the signed package repository to
gh-pagesand commitsFormula/gust.rbplusbucket/gust.jsonback tomasterwith[skip ci].
- Homebrew tap and Scoop bucket files live in this repository.
- APT and RPM metadata live on GitHub Pages under
https://lovitus.github.io/gust/. - The package name is
gust; the installed command remainsgost.
Release reruns are designed to be recoverable before public package state changes. The workflow prepares package repository files locally, then creates or updates the GitHub Release. It pushes gh-pages and package manifests only after the Release step succeeds.