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

Generate and upload AppImage, closes #2448 #3654

Closed
wants to merge 1 commit into from

Conversation

probonopd
Copy link

@probonopd probonopd commented Dec 17, 2018

This PR, when merged, will compile this game on Travis CI upon each git push, and upload an AppImage to your GitHub Releases page.

Closes #2448.

Providing an AppImage would have, among others, these advantages:

  • Applications packaged as an AppImage can run on many distributions (including Ubuntu, Fedora, openSUSE, CentOS, elementaryOS, Linux Mint, and others)
  • One app = one file = super simple for users: just download one AppImage file, make it executable, and run
  • No unpacking or installation necessary
  • No root needed
  • No system libraries changed
  • Works out of the box, no installation of runtimes needed
  • Optional desktop integration with appimaged
  • Optional binary delta updates, e.g., for continuous builds (only download the binary diff) using AppImageUpdate
  • Can optionally GPG2-sign your AppImages (inside the file)
  • Works on Live ISOs
  • Can use the same AppImages when dual-booting multiple distributions
  • Can be listed in the AppImageHub central directory of available AppImages
  • Can double as a self-extracting compressed archive with the --appimage-extract parameter
  • No repositories needed. Suitable/optimized for air-gapped (offline) machines

Here is an overview of projects that are already distributing upstream-provided, official AppImages.

PLEASE NOTE: For this to work, you need to enable Travis CI for your repository as described here prior to merging this, if you haven't already done so. Also, You need to set up GITHUB_TOKEN in Travis CI for this to work; please see https://github.com/probonopd/uploadtool.

If you have questions, AppImage developers are on #AppImage on irc.freenode.net.

@probonopd
Copy link
Author

An AppImage is available for testing at https://github.com/probonopd/stk-code/releases.

@Benau
Copy link
Contributor

Benau commented Dec 22, 2018

A win win solution would be you only check for example [Appimage] in commit message and only trigger update for that commit, so we can decide what time an update is good (like android beta apk!)

@probonopd
Copy link
Author

You can have both continuous builds and tagged releases...

@Arthur-D
Copy link
Contributor

Seems to work fine, I really hope we can have this, as it would make testing the game a lot easier and also a lot easier for artists since they won't have to learn compilation. Would be great if we could have this for Windows as well, but I suspect that is not as easy.

@acmepjz
Copy link

acmepjz commented Dec 29, 2018

I have a Windows analogue: https://github.com/acmepjz/my-stk-windows-nightly-build

@hiker hiker added C: Build System & Compilation R: Waiting for update Waiting for an update before being looked at again labels Jan 3, 2019
@hiker hiker added this to the later milestone Jan 3, 2019
@hiker
Copy link
Contributor

hiker commented Jan 3, 2019

@probonopd Could you add to only create the appimage if a tag (e.g.[appimage] ... case insensitive if possible ;) ) is added to the commit? Am happy to merge then!

@probonopd
Copy link
Author

I don't know how to do that...

@hiker
Copy link
Contributor

hiker commented Jan 3, 2019

Something like:

git log -1 | grep "\[appimage\]"

should do the trick - you can probably instruct git to only show the commit message ... in case we get a user called '[appimage]" ;)

@probonopd
Copy link
Author

What is the advantage of this? Why not have a continous AppImage uploaded?

And what do do with PRs? Normally we create an AppImage for those too, but we don't upload it to the usual place but to a temporary Bintray URL (14 days).

Just curious here.

@hiker
Copy link
Contributor

hiker commented Jan 4, 2019

ATM we are often doing small commits to master (since we are mostly not doing a code review). This would often mean that we create (say) a dozen or so binaries a day, which is a huge load on a server (not to mention on sourceforge SVN to download the assets - SF is known to be somewhat unreliable). Also it can happen that e.g. a svn commit is slower than a git push, so we might get binaries with old assets which then would not work. So we need a closer control of when an appimage is created, both for us to make sure we have a consistent set of files, but also to be nice to travis.

@probonopd
Copy link
Author

I see...

@Benau
Copy link
Contributor

Benau commented Feb 9, 2021

by the way we now moved to github action from travis so this PR can not be used.

sorry about that....

and for the record we currently build our own static linux build ourselves regularly with git master branch

@Benau Benau closed this Feb 9, 2021
@ivan-hc
Copy link

ivan-hc commented Oct 15, 2022

Hi, I've created an AppImage for the x86_64 build using Github Actions, you can check my repository here

https://github.com/ivan-hc/SuperTuxKart-appimage

The AppImage is based on your official build for Linux 64bit and requires appimagetool, I hope this helps in creating official AppImage packages for your project

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
C: Build System & Compilation R: Waiting for update Waiting for an update before being looked at again
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Requesting AppImage for Supertuxkart
7 participants