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 AppImage on Travis CI for each git push #195

Open
wants to merge 22 commits into
base: master
Choose a base branch
from

Conversation

probonopd
Copy link

Closes #191

This PR, when merged, will compile this application on Travis CI upon each git push, and upload an AppImage to a temporary download URL on transfer.sh (available for 14 days). The download URL is toward the end of each Travis CI build log of each build (see below for how to set up automatic uploading to your GitHub Releases page).

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.

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

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

Please note: Instead of storing AppImage builds temporarily for 14 days each on transfer.sh, you could use GitHub Releases to store the binaries permanently. This way, they would be visible on the Releases page of your project. This is what I recommend. See https://docs.travis-ci.com/user/deployment/releases/. If you want to do this for continuous builds, also see https://github.com/probonopd/uploadtool.

If you would like to see only one entry for the Pull Request in your project's history, then please enable this GitHub functionality on your repo. It allows you to squash (combine) the commits when merging.

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

Thanks to @petitlapin for properly adding the translations.

@probonopd
Copy link
Author

What is the status here?

@petitlapin
Copy link
Member

Hi, unfortunately, I didn't have any time since last time I worked on it. The last issue we found was that gstreamer libraries were not shipped in the appveyor (https://phabricator.kde.org/T7656) and there was no easy way to know which ones to ship.

@probonopd
Copy link
Author

Can't we assume gstreamer to be handled by (and shipped with) the target systems (distributions)?

@petitlapin
Copy link
Member

petitlapin commented Aug 1, 2018

Hi,
I wanted to commit in on a separate branch to test it but your username does not match the KDE standard: "FirstName LastName <email>". Can you tell me under which username I can commit?

Thank you

@probonopd
Copy link
Author

Hi @petitlapin, I don't require any attribution for this. You have permission to check it in under your own KDE username.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants