-
-
Notifications
You must be signed in to change notification settings - Fork 971
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
Build AppImage #8329
Build AppImage #8329
Conversation
b56bdbc
to
7392a80
Compare
a37f55e
to
ec74ed2
Compare
As IRC doesn't stick, let me write it down here too:
As a side-note: OpenTTD currently releases nightlies via Azure DevOps. It is planned to migrate to GitHub Actions, but as long as that migration is not finished, adding AppImages here will not make them appear on the nightlies download pages. |
Alternatively, perhaps add the AppImage build as a CMake target performing these steps, so that users (and the workflow) can just do |
I have renamed the recipe file to Regarding the integration with cmake. I would like to improve the tool a bit more before investing time on this. |
f4e9e9f
to
0d64177
Compare
I've improved the recipe (and appimage-builder), now appimage-builder it's capable of patching stuff and the whole pack process takes a single instruction. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice improvement compared to previous versions
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We have been working on moving our release workflow to GitHub Actions, so I was wondering if we could integrate this into it already. Found a few things you could possible address for me!
With all the work on the release workflow etc done, this can be updated to be integrated with the new release workflow. The main issue the AppImage has (as well as the other single-package solutions), and which is kinda a blocker for integrating it with our own releases, is that with the inclusion of We ran into the same issue with Emscripten, which resulted in packaging a version where sound is just completely disabled. That is not a proper solution for AppImage. I keep wondering if there isn't a way to slim down This more as a braindump, as I keep seeing this PR, reading up on it, coming to this same conclusion a few times now :D |
I the AppImage can use the "freepats" installation from the system. So if it's too big you can remove it and ship that. But being honest I don't care to give away even 30mb for a complete gaming experience (with sounds). |
Well, I mention
So I take it back, the problem is not with In general, I don't mind things like AppImage, but I do not see a way that we can distribute it with our current infrastructure; which means it cannot be part of our release workflow. It might be better if these files are distributed by third-party, as that is already the case with For me what it comes down to: our goals here don't align. We cannot handle such big files for releases, and these images are, possibly by definition, fat. This needs some more consideration on my end :) |
If your issue is the infrastructure, you can use Github Workflows to build the packages and Github Releases to store the final binaries. This is already done by many others. The idea is that the users don't have to trust or depend on a third party to run your software. |
- libsdl1.2debian | ||
- libsdl2-2.0-0 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
having both of these is redundant
- libpng16-16 | ||
- libsdl1.2debian | ||
- libsdl2-2.0-0 | ||
- libxdg-basedir1 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
can be removed now
- libsdl1.2debian | ||
- libsdl2-2.0-0 | ||
- libxdg-basedir1 | ||
- timidity |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'd probably want to prefer fluidsynth over timidity
As promised, I was going to come back to this. For our Steam release, we had to invent a So for us, there is no direct reason to have AppImage, other than giving people options. But I think this is better left for 3rd parties to do so. Similar that we do not publish "official" Docker images, flatpaks, snaps, etc. We leave this, for now at least, to other people do run this. We might reconsider this in the future, but for now, we are fine with this. (and if we change this, we most likely will do it for all these targets, so AppImage, Docker, flatpak, ..). In general, we removed most other ways we published for Linux, and reduced it to: what-ever CPack can produce. We noticed this is much less likely to break, and at least is a lot easier for us to maintain (read: it requires no maintenance from our side). So there is also no more So that leads me to a conclusion: I am going to close this Pull Request for now. Not, as I made clear in earlier comments, because I don't like this, but more because currently OpenTTD is not ready for this. And this is also why it took so long to come to this result ... because we are a bit conflicted about it :D Sorry about this, and really thank you for your effort here. Who knows in a few months we get back to this :) Cheers! |
Sorry to hear that, I'll setup some regular CI build to keep the binaries up to date. |
This PR adds a Github workflow to pack OpenTDD using the AppImage format from commits and PR to master.
The resulting binary is published as an artifact.
appimage-builder is ran twice in order to patch the timidity configuration to use freepaths. This could be fixed once the feature gets added into appimage-builder AppImageCrafters/appimage-builder#50
Closes #8019