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 #3703

Merged
merged 3 commits into from Jun 10, 2019

Conversation

@probonopd
Copy link
Contributor

commented Jun 9, 2019

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

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
  • Decentralized

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

PLEASE NOTE: For this to work, 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

This comment has been minimized.

Copy link
Contributor Author

commented Jun 9, 2019

An AppImage for testing can be downloaded at
https://github.com/probonopd/mumble/releases/tag/continuous

@probonopd

This comment has been minimized.

Copy link
Contributor Author

commented Jun 9, 2019

How can we make this show the git commit hash instead of "Compiled by User"?

@probonopd

This comment has been minimized.

Copy link
Contributor Author

commented Jun 9, 2019

I think the macOS build failure is unrelated to my changes.

@davidebeatrici

This comment has been minimized.

Copy link
Member

commented Jun 10, 2019

Thank you very much for your contribution!

How can we make this show the git commit hash instead of "Compiled by User"?

mumble/src/Version.h

Lines 9 to 16 in 41502bb

#define MUMXTEXT(X) #X
#define MUMTEXT(X) MUMXTEXT(X)
#ifndef MUMBLE_VERSION
#define MUMBLE_RELEASE "Compiled by User"
#else
#define MUMBLE_RELEASE MUMTEXT(MUMBLE_VERSION)
#endif

We can get the commit hash from the TRAVIS_COMMIT environment variable.

qmake CONFIG+="release tests g15-emulator ${EXTRA_CONFIG}" DEFINES+="MUMBLE_VERSION=$TRAVIS_COMMIT" -recursive && make -j2 && make check

I think the macOS build failure is unrelated to my changes.

Indeed, we didn't fix it yet because multiple changes are required due to deprecated stuff (e.g. the i386 architecture).

probonopd added 2 commits Jun 10, 2019
DEFINES+="MUMBLE_VERSION=${TRAVIS_COMMIT:0:7}"
Try to make the string shorter
@probonopd

This comment has been minimized.

Copy link
Contributor Author

commented Jun 10, 2019

Thanks @davidebeatrici much better but a bit long

Hence I am going for DEFINES+="MUMBLE_VERSION=${TRAVIS_COMMIT:0:7}" now.

@davidebeatrici

This comment has been minimized.

Copy link
Member

commented Jun 10, 2019

Sounds good.

@probonopd

This comment has been minimized.

Copy link
Contributor Author

commented Jun 10, 2019

I think it is looking good now:

@davidebeatrici davidebeatrici merged commit 83bca04 into mumble-voip:master Jun 10, 2019

3 of 6 checks passed

Travis CI - Pull Request Build Errored
Details
CI Build #20190610.3 failed
Details
CI (macOS) macOS failed
Details
CI (Windows MSVC_2015) Windows MSVC_2015 succeeded
Details
CI (Windows MSVC_2015_NO_PCH) Windows MSVC_2015_NO_PCH succeeded
Details
Docker Build Task Summary
Details
@davidebeatrici

This comment has been minimized.

Copy link
Member

commented Jun 10, 2019

Thank you again!

probonopd added a commit to AppImage/appimage.github.io that referenced this pull request Jun 10, 2019
@probonopd probonopd referenced this pull request Jun 10, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
2 participants
You can’t perform that action at this time.