feat: add multi-channel distribution via GoReleaser#1247
Conversation
e6c39ae to
d8ff704
Compare
d8ff704 to
174c324
Compare
2d3b972 to
eb27198
Compare
|
Another thing is. I don't like that tauri ci stuff is massive monolith file. can we split it up into multiple workflows/actions? and also its hella messey, we should move any scripting stuff into dedicated js scripts under .github/workflows/scripts to abstract away the complexity. |
|
also ideally sable and nightly setup are identical and we just have a thing that at start of the workflow detects if its a nightly or sable release. to avoid DRY |
|
Line-level comments are addressed. The monolith split and script extraction are out of scope here, worth a follow-up. |
eb27198 to
f6c5fec
Compare
| - name: Download APK from release | ||
| shell: bash | ||
| run: | | ||
| curl -fsSL "https://github.com/${{ github.repository }}/releases/download/${TAG}/Sable-${VERSION}-android-universal.apk" \ |
| chmod 600 ~/.ssh/aur_key | ||
| ssh-keyscan -t ed25519 aur.archlinux.org >> ~/.ssh/known_hosts | ||
|
|
||
| git clone "ssh://aur@aur.archlinux.org/sable-nightly-bin.git" aur-repo |
There was a problem hiding this comment.
Does this repo exist? How does it work?
There was a problem hiding this comment.
i guess we will need to create it ourselves
0f34ab2 to
8769808
Compare
f6c5fec to
43a1e4c
Compare
8769808 to
b388a5e
Compare
3ab8270 to
d0671bd
Compare
|
conflicts go brrr |
d0671bd to
418228e
Compare
hazre
left a comment
There was a problem hiding this comment.
lgtm, although I doubt it will work first try.
| GH_TOKEN: ${{ github.token }} | ||
| run: | | ||
| DMG="Sable-${VERSION}-macos-universal.dmg" | ||
| gh release download "$TAG" --repo "$GITHUB_REPOSITORY" --pattern "$DMG" --dir dmg |
There was a problem hiding this comment.
I don't like this. we have access to this information within this workflow.
https://docs.github.com/en/actions/how-tos/write-workflows/choose-what-workflows-do/pass-job-outputs
| - type: archive | ||
| # The GoReleaser archive has no wrapper directory. | ||
| strip-components: 0 | ||
| url: https://github.com/SableClient/Sable/releases/download/v1.20.0/Sable-1.20.0-linux-x86_64.tar.gz |
There was a problem hiding this comment.
needed for flathub sorry
67c0fd6 to
ded11af
Compare
ded11af to
bddcfde
Compare
Description
GoReleaser now owns Linux packaging.
.goreleaser.yamlbuilds the CEF binary with the Rust builder and produces deb, rpm and archlinux packages, plus snap and the AURsable-binpackage on tagged releases. Nightlies runrelease --snapshot, which packages without publishing, and the workflow uploads those assets. GoReleaser's ownnightlypipe is Pro-only.nfpm.yamlis deleted. Thenfpms:section replaces it, so the per-format dependency list lives in one place.scripts/cef/package.shis trimmed to AppImage only. There is no GoReleaser pipe for AppImage, and it is the only Linux format the Tauri updater can update in place. It shares staging with GoReleaser through the newscripts/cef/stage.sh.packaging/holds the AURsable-nightly-binPKGBUILD and.install, plus the deb/rpm postinstall that refreshes the icon and desktop caches.scripts/obtainium-generate.jsemitsobtainium.jsonfor one-tap Android sideload.buildmatrix into its ownlinuxjob, so the CEF binary is built once.Secrets:
AUR_KEY,SNAPCRAFT_STORE_CREDENTIALS.Channels from the first version of this PR that are no longer included:
builder: prebuiltis Pro-only. They fit better as separate steps, for examplewinget-releaserand a cask file pushed to the tap..flatpakbundle and never submitted to Flathub. That needs a manifest in a separate flathub repo.Type of change
Checklist:
AI disclosure: