Open betamos opened 3 months ago
Thanks for your request! Since uploading to other targets than github is currently considered out of scope for this action i will mark this as wontfix
for now.
I'd love to write the latest.json file into the job output like the build artifacts but that's not possible with how the file is (currently) getting generated. 🤔
Edit: Hmm, maybe providing a (potentionally undocumented) option for a base url wouldn't be too bad. Should be simple enough.
Thanks for the swift response.
I do think all options should be documented, Github Actions is difficult enough to use as it is.
That said, to prevent XY problems: my FR is I want to host my stuff elsewhere, and that part should be common (even if Cloudflare R2 may be niche). I do want to have a full CD pipeline eventually, but I don't expect this repo to anticipate all weird use cases, like mine.
My Actions knowledge is minimal, but here's an idea:
artifactPaths
output to invoke a custom upload, using e.g. FTP, S3 etcWould something like that make sense?
Uploading the packages to a release is optional if you're okay with the action not creating a github release at all. The problem is that if the action does not upload the packages, it won't be able to create a json file either because it needs to collect the packages across the different runners and it currently relies on the release for that.
At that point creating the json file from scratch yourself would probably be easier for you and us.
Ah, right. Multiple jobs makes it more complicated.
The main issue is that the artifact file names (of zip and tar files) are not deterministic within stable Tauri. They've changed in the past and might change in the future, or simply based on config changes (say MSI to NSIS).
As a result, both steps (uploading & referencing them for the updater) benefit from a single source of truth for CD purposes. So to be safe(r) I'm trusting latest.json
for now (at least more than me hard-coding them). So, an optional base URL arg would be helpful. For now, I'm using sed to replace it:
sed -i -e 's#https:.*\/#https://releases.example.com/v0.2.0/#' latest.json
Maybe the action can output found artifacts names (or full paths) so any following steps can generate requires fields on their own?
it already does https://github.com/tauri-apps/tauri-action#outputs
I use a private Github repo for my app and want to host the binaries outside of Github (in my case Cloudflare R2).
I currently:
https://releases.example.com/v0.2.0/App_universal.tar.gz
latest.json
to R2Currently, the generated latest.json file contains github URLs for the releases. I would like it to point to my host's path ( etc) instead (note this includes the version).
However, I am open to other options. Perhaps I should be not be using static files at all. Or perhaps, there should be an option to upload to S3-compatible stores instead of Github. Feel free to suggest something better.