Skip to content

Generate AppImage for each git push on Travis CI#777

Merged
dirkhh merged 2 commits into
subsurface:masterfrom
probonopd:patch-1
Nov 5, 2017
Merged

Generate AppImage for each git push on Travis CI#777
dirkhh merged 2 commits into
subsurface:masterfrom
probonopd:patch-1

Conversation

@probonopd

Copy link
Copy Markdown
Contributor

Describe the pull request:

  • Bug fix
  • Functional change
  • New feature
  • Documentation change
  • Language translation

Pull request long description:

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.

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.

Changes made:

  1. Build AppImage on Travis CI
  2. Fix name in desktop file

Related issues:

Closes #769

Additional information:

A build can be tested at https://transfer.sh/YWxH0/Subsurface-git.21ac633-x86_64.AppImage

Mentions:

@dirkhh

@probonopd

Copy link
Copy Markdown
Contributor Author

Here is the URL to the AppImage built by this PR: https://travis-ci.org/Subsurface-divelog/subsurface/builds/297709527#L4165

@probonopd probonopd closed this Nov 5, 2017
@probonopd probonopd reopened this Nov 5, 2017
@probonopd

Copy link
Copy Markdown
Contributor Author

@probonopd

Copy link
Copy Markdown
Contributor Author

Very strange, but I think this PR is not responsible for the 1 check failing?

@dirkhh

dirkhh commented Nov 5, 2017

Copy link
Copy Markdown
Collaborator

The tests use a single, shared resource (basically, a test account on our cloud storage infrastructure). So sometimes it happens that two people run the tests at the same time and just manage to step on each other. It's rare enough that I never bothered to fix it :-)
But no, I don't think you caused the failure.
Let me look through the changes and merge (assuming I don't stumble across anything nasty)

@dirkhh

dirkhh commented Nov 5, 2017

Copy link
Copy Markdown
Collaborator

So this includes the stuff that I did to speed up testing - until I have QtWebKit figured out this makes sense, but I'll need to remember to undo that to make sure we test all the patterns we want to test in our builds.
Once I have that figured out I'll look into creating 'releases' here and using your uploadtool.
Thanks @probonopd

@dirkhh
dirkhh merged commit 6fd00fa into subsurface:master Nov 5, 2017
@probonopd

probonopd commented Nov 5, 2017

Copy link
Copy Markdown
Contributor Author

Once I have that figured out I'll look into creating 'releases' here and using your uploadtool.
Thanks @probonopd

Be sure to also upload the *.AppImage.zsync file which will enable delta binary updates with AppImageUpdate.

@probonopd
probonopd deleted the patch-1 branch November 5, 2017 22:52
@dirkhh

dirkhh commented Nov 5, 2017

Copy link
Copy Markdown
Collaborator

You're ahead of me - I haven't even LOOKED at this...
I still want the AppImage to support FB and printing!

@probonopd

Copy link
Copy Markdown
Contributor Author

You're ahead of me - I haven't even LOOKED at this...
I still want the AppImage to support FB and printing!

That's build.sh stuff so I won't interfere with it :-)

@dirkhh

dirkhh commented Nov 5, 2017

Copy link
Copy Markdown
Collaborator

No, it's Travis / Qt / dependencies stuff. But yes, I get your point, this isn't really about creating an AppImage, instead it's about having the right content FOR the AppImage :-)

@dirkhh

dirkhh commented Nov 5, 2017

Copy link
Copy Markdown
Collaborator

I may need your help once I have this all assembled the way I want it to then get the release right :-)
I hope it's ok if I just @-tag you @probonopd if I get stuck...

@probonopd

Copy link
Copy Markdown
Contributor Author

Always happy to be tagged! Looking forward to seeing "continuous" on GitHub Releases, along with a zsync file :-)

@probonopd

Copy link
Copy Markdown
Contributor Author

@probonopd

probonopd commented Nov 5, 2017

Copy link
Copy Markdown
Contributor Author

Quite a difference, going from 300 lines of code to just one fifth :-)

@dirkhh

dirkhh commented Nov 6, 2017

Copy link
Copy Markdown
Collaborator

I'll celebrate if I can generate fully functional AppImages again. I think I'm getting closer, though :-)

@dirkhh

dirkhh commented Nov 6, 2017

Copy link
Copy Markdown
Collaborator

If I understand correctly what you are doing with the uploadtool you are creating a 'fake' tag continuous and you create a release for that tag every time something is pushed...
Is there anything special I need to do to get a release with a 'real' tag published (and NOT deleted)?

@probonopd

Copy link
Copy Markdown
Contributor Author

Well, for that it's much easier and you won't even need uploadtool:
https://docs.travis-ci.com/user/deployment/releases/

@dirkhh

dirkhh commented Nov 6, 2017

Copy link
Copy Markdown
Collaborator

Woot - I have a fully functional AppImage (on Ubuntu - still have the OpenSSL problems on Arch).
I still have a test failing because we now link against QtWebKit in TestPreferences and it can't find it's platform plugin in the Travis environment.
Almost there...

@dirkhh

dirkhh commented Nov 6, 2017 via email

Copy link
Copy Markdown
Collaborator

@probonopd

probonopd commented Nov 6, 2017

Copy link
Copy Markdown
Contributor Author

OK, HELP. Which .zsync file? I don' t think I see that.

Bear with me, we need to change something on our end. Will let you know when done.

Also, is it normal that the build log doesn't include the running of the upload tool?

It should and it does, at the end of https://travis-ci.org/Subsurface-divelog/subsurface/builds/297815003 (the JSON stuff)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Provide continuous builds from Travis CI as AppImage

3 participants