Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(ci): Update Tauri artifacts #2130

Closed
wants to merge 1 commit into from
Closed

Conversation

endrl
Copy link
Contributor

@endrl endrl commented Nov 3, 2023

  • Provide better tauri artifacts
  • Tauri recommends to use an older ubuntu version as this is the min version where it can actually run

@jellyfin-bot jellyfin-bot added the ci Pull requests that update Continuos Integration-related code label Nov 3, 2023
Copy link

sonarqubecloud bot commented Nov 3, 2023

Kudos, SonarCloud Quality Gate passed!    Quality Gate passed

Bug A 0 Bugs
Vulnerability A 0 Vulnerabilities
Security Hotspot A 0 Security Hotspots
Code Smell A 0 Code Smells

No Coverage information No Coverage information
No Duplication information No Duplication information

@ferferga
Copy link
Member

ferferga commented Nov 6, 2023

Tauri recommends to use an older ubuntu version as this is the min version where it can actually run

Source for this? ubuntu-latest always points to the latest Ubuntu LTS version, so we can be sure they're always stable? See here

@endrl
Copy link
Contributor Author

endrl commented Nov 6, 2023

Tauri links to the GNU standard library which is always forward but never backward compatible. The version you link at build time is the minimum version you need at runtime. Even AppImage which is self contained has this problem as it blacklists glibc for inclusion. For that reason Tauri Action builds with 20.04 that "most" people can run it.

@ferferga
Copy link
Member

ferferga commented Nov 6, 2023

@endrl I see what you mean now. I think in that case the best course of action would be to statically link our executable, so it doesn't have any hard system dependency. What do you think about this? That way, we're not restricted at all because of the CI environment (not providing older images) and we're sure the app is universally compatible.

I wonder if something along the lines of this would work.

@endrl
Copy link
Contributor Author

endrl commented Nov 7, 2023

Tauri doesn't support *musl builds official? At least i found nothing specific about it. From jellyfin-vue view i would leave that to the tauri project as they have all the dependencies and moving parts.
Regarding "latest and greatest", AppImage is the only package which bundles webkit and honestly i don't know which version this is in gh actions.

@endrl
Copy link
Contributor Author

endrl commented Nov 16, 2023

I had a look at the AppImage, it packages libwebkit2gtk-4.0.so.37 which is the latest. See also tauri's list. So it's just good, you get compatibility and bleeding edge webview at the same time.

@jellyfin-bot jellyfin-bot added the merge conflict Something has merge conflicts label Dec 16, 2023
@ferferga ferferga force-pushed the master branch 2 times, most recently from f598745 to 00c2c75 Compare December 31, 2023 18:39
@ferferga
Copy link
Member

@endrl Can you check this now with the latest artifact from master? See this, it looks like it's fixed now in the default target? (so their documentation is now deprecated)

I've been also playing with the cross as a runner (as suggested in that thread) and some optimizations on this branch so if the above doesn't work maybe we have more luck with cross.

I've run a workflow in that branch with my latest commit so you can check it out too!

Thank you very much in advance and sorry for the delay.

@endrl
Copy link
Contributor Author

endrl commented Feb 23, 2024

The outcome of the issue is basically can't fix? tauri-apps/tauri#1355 (comment)
Cross 2.5 links to glibc 2.31 (which is ubuntu 20.04), so you can also accept the pull request and skip docker at this point :)

I think github will maintain the image until the kernel is out of support, but that's just a guess. And at this point you can still fallback to cross 2.5

rustup default stable simply sets a beta/nightly toolchain back to stable, has nothing to do with libc.

@jellyfin-bot jellyfin-bot removed the merge conflict Something has merge conflicts label Mar 28, 2024
Copy link

Quality Gate Passed Quality Gate passed

Issues
0 New issues
0 Accepted issues

Measures
0 Security Hotspots
No data about Coverage
0.0% Duplication on New Code

See analysis details on SonarCloud

@jellyfin-bot
Copy link

Cloudflare Pages deployment

Latest commit 5868702
Status ✅ Deployed!
Preview URL https://b2eda769.jf-vue.pages.dev
Type 🔀 Preview

View build logs
View bot logs

@ferferga
Copy link
Member

Hello @endrl

I'm sorry for letting this go waiting for so long to eventualy not even getting it merged. Although it looks like a minor thing, keeping track of yet another dependency (the ubuntu images) is an additional burden we need to handle just for the sake of people running Tauri (which I estimate are just a bunch of fulks, given it's provided in a best effort basis) + outdated systems.

Additionally, I'm used to the JS way to do things, Rust (and all around Tauri really) is still mostly black magic for me, which means that there's additional burden every time something happens with it (time I could dedicate first to advance in the frontend).

I really hope that in future our Tauri app could have much more love than it has now, so these kind of things are worth the effort. Even better, hopefully in future Tauri versions this is much easier (or even unnecessary to do)!

@ferferga ferferga closed this Mar 28, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ci Pull requests that update Continuos Integration-related code
Projects
Development

Successfully merging this pull request may close these issues.

3 participants