scribus-indigo icon indicating copy to clipboard operation
scribus-indigo copied to clipboard

Provide continuous builds for download as AppImage

Open probonopd opened this issue 8 years ago • 20 comments

Currently each commit gets built on Travis CI but then the build artefacts are thrown away. What a waste ;-)

Lets bundle them up as an AppImage for Linux and provide them for download - thus, enabling a very easy way to get and test each build!

It should be relatively straightforward to apply this patch I had done earlier for HOST-Oman/scribus.

Then, each build from Travis CI will available for download as an AppImage for 64-bit Linux. You can find the download link in the Travis CI build log. Towards the end of the log file, look for a line with an URL that begins with with https://transfer.sh/. This is the download link. Download the AppImage, make it executable, and run. No root, no installation, does not touch any of the libaries on your system, can run alongside other versions you might already have.

probonopd avatar Nov 05 '16 16:11 probonopd

Travis CI has troubles to create the template folder for AppImage package. https://travis-ci.org/nitramr/scribus-indigo/jobs/173537020

Any ideas how to fix?

nitramr avatar Nov 05 '16 21:11 nitramr

Looks like an issue with Scribus not directly related to AppImage, is it trying to install the templates to the non-existing /usr/share/scribus rather than to the existing $HOME/Scribus/Scribus.AppDir/usr/share/scribus.

-- Installing: /home/travis/Scribus/Scribus.AppDir/usr/share/scribus/swatches/Japanese_Traditional_README.txt
-- Installing: /home/travis/Scribus/Scribus.AppDir/usr/share/scribus/swatches/CIE-LAB.sbz
-- Installing: /home/travis/Scribus/Scribus.AppDir/usr/share/scribus/swatches/CIE-HLC.sbz
CMake Error at resources/templates/cmake_install.cmake:36 (FILE):
  file problem creating directory: /usr/share/scribus/templates/
Call Stack (most recent call first):
  cmake_install.cmake:74 (include)

Maybe need to use cmake . -DCMAKE_INSTALL_PREFIX=$HOME/Scribus/Scribus.AppDir/usr/ in .travis.yml rather than relying on make install DESTDIR=/home/travis/$APP/$APP.AppDir in the shell script. This might be a bug in the Scribus CMake setup?

probonopd avatar Nov 05 '16 21:11 probonopd

Works! I have copy and pasted the files from Oman project. Here the first AppImage: https://transfer.sh/np7R2/scribus-git2ceac8c-glibc2.14-x86-64.appimage

nitramr avatar Nov 06 '16 01:11 nitramr

On Fedora 25 Fedora-Workstation-Live-x86_64-25-20161105.n.0.iso, something about the bundled Python is wrong:

[me@host ~]$ '/home/me/Downloads/scribus-git2ceac8c-glibc2.14-x86-64.appimage' 
Could not find platform independent libraries <prefix>
Could not find platform dependent libraries <exec_prefix>
Consider setting $PYTHONHOME to <prefix>[:<exec_prefix>]
ImportError: No module named site
Scribus Crash
-------------
Scribus crashes due to Signal #11
Segmentation fault 

probonopd avatar Nov 06 '16 01:11 probonopd

Yes, seems like so. On Ubuntu it looks different as my local installation. Also some icons are missing.

nitramr avatar Nov 06 '16 01:11 nitramr

Try copying usr/lib/python2.*/ into the AppImage. Then your AppImage runs for me :+1:

probonopd avatar Nov 06 '16 01:11 probonopd

@probonopd How do we provide a link to the latest appimage (instead of telling people manually to find and click on it in the travisCI logs) and it would be awesome if it could be in 'shield' format (see https://github.com/probonopd/AppImageKit/issues/274) ?

EDIT: clarity

luzpaz avatar Nov 07 '16 11:11 luzpaz

@luzpaz one way to do it would be using GitHub Releases using a small uploader script along the lines of https://github.com/probonopd/uploadtool. Could then use a shield from https://shields.io/ for GitHub Releases.

probonopd avatar Nov 07 '16 17:11 probonopd

@probonopd that is f'ing brilliant @nitramr would you consider following those instructions? https://github.com/probonopd/uploadtool#usage

luzpaz avatar Nov 07 '16 22:11 luzpaz

Is updated. lets what happens after compiling of Travis.

nitramr avatar Nov 07 '16 23:11 nitramr

So cool! I just saw https://github.com/nitramr/scribus-indigo/releases/tag/continuous I'm downloading in order to test. Very exciting

luzpaz avatar Nov 07 '16 23:11 luzpaz

Could it be that we have now an endless loop?

I could see that Travis compile the same commit more than one time. https://travis-ci.org/nitramr/scribus-indigo/builds

nitramr avatar Nov 08 '16 00:11 nitramr

There is an error.

$ ls -lh out/* ls: cannot access out/: No such file or directory after_success.2 $ wget -c https://github.com/probonopd/uploadtool/raw/master/upload.sh --2016-11-07 23:40:51-- https://github.com/probonopd/uploadtool/raw/master/upload.sh Resolving github.com (github.com)... 192.30.253.113, 192.30.253.112 Connecting to github.com (github.com)|192.30.253.113|:443... connected. HTTP request sent, awaiting response... 302 Found Location: https://raw.githubusercontent.com/probonopd/uploadtool/master/upload.sh [following] --2016-11-07 23:40:52-- https://raw.githubusercontent.com/probonopd/uploadtool/master/upload.sh Resolving raw.githubusercontent.com (raw.githubusercontent.com)... 151.101.44.133 Connecting to raw.githubusercontent.com (raw.githubusercontent.com)|151.101.44.133|:443... connected. HTTP request sent, awaiting response... 200 OK Length: 2826 (2.8K) [text/plain] Saving to: ‘upload.sh’ 100%[======================================>] 2,826 --.-K/s in 0s
2016-11-07 23:40:52 (49.2 MB/s) - ‘upload.sh’ saved [2826/2826] after_success.3 $ bash ./upload.sh out/
Delete the release... delete_url: Delete the tag as well... delete_url: https://api.github.com/repos/nitramr/scribus-indigo/git/refs/tags/continuous Create release... % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 445 100 246 100 199 1236 1000 --:--:-- --:--:-- --:--:-- 1242 upload_url: Upload binaries to the release... Warning: Couldn't read data from file "out/*", this makes an empty POST. curl: (3) malformed

nitramr avatar Nov 08 '16 00:11 nitramr

Instead of out/*, point upload.sh to the AppImage...

probonopd avatar Nov 08 '16 08:11 probonopd

Instead of out/*, point upload.sh to the AppImage...

@nitramr when you get a moment can you try the above?

luzpaz avatar Nov 10 '16 23:11 luzpaz

I have absolute no idea what is to do. How can I point to the AppImage? As I understand it right the file name of the AppImage will random generated.

nitramr avatar Nov 11 '16 01:11 nitramr

it looks like it works now :+1: Only thing is if we can tweek the release text to explain what the file is (an appimage)

luzpaz avatar Nov 11 '16 21:11 luzpaz

As of today, the AppImage is missing from the GitHub Releases page.

probonopd avatar Dec 03 '16 19:12 probonopd

the downloadlink to the Appimage on the wiki is dead = Not Found. Is there an appimage for the latest version please? or perhaps a Flatpak ? would be really awsome to have a Flatpak for the scribus-indigo to test on Fedora btw!

corebots avatar Jan 16 '17 12:01 corebots

Each Travis CI build log contains a transfer.sh download link which is active for 14 days. A current one is https://transfer.sh/WIW1O/scribus-git34e313e-glibc2.14-x86-64.appimage It should run on Fedora, as well as almost every other Linux distribution since 2014.

probonopd avatar Jan 16 '17 20:01 probonopd