From 5f5c075689399d7e39b17466976cd5b15b734ba9 Mon Sep 17 00:00:00 2001 From: Alessandro Ranellucci Date: Wed, 7 Nov 2018 01:08:53 +0100 Subject: [PATCH] Further refactoring of TravisCI configuration --- .travis.yml | 46 ++++++++++++++++++----------- package/linux/travis-build-main.sh | 1 + package/linux/travis-deploy-cpp.sh | 10 +++++++ package/linux/travis-deploy-main.sh | 13 ++++++++ package/osx/travis-build-main.sh | 14 +++++++++ package/osx/travis-deploy-main.sh | 4 +++ 6 files changed, 70 insertions(+), 18 deletions(-) create mode 100755 package/linux/travis-deploy-cpp.sh create mode 100755 package/linux/travis-deploy-main.sh create mode 100755 package/osx/travis-deploy-main.sh diff --git a/.travis.yml b/.travis.yml index ea48c356a..a3ec56336 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,4 +1,18 @@ +# TravisCI configuration for Slic3r - https://slic3r.org +# +# We build Linux and macOS versions on TravisCI, both the main program +# (perl/C++) and the pure C++ one. +# +# Each job performs the following steps: +# - install dependencies (cached across builds) +# - build +# - test +# - package +# - deploy to dl.slic3r.org + language: generic +dist: trusty + before_install: - sh package/common/travis-decrypt-key - export SLIC3R_GIT_VERSION=$(git rev-parse HEAD) @@ -33,8 +47,6 @@ addons: - wx-common ssh_known_hosts: dl.slic3r.org -dist: trusty - matrix: include: - os: linux @@ -43,15 +55,11 @@ matrix: - CACHE=$HOME/cache cache: directories: - - "$HOME/local-lib" + - $HOME/cache + - local-lib after_success: - - eval $(perl -Mlocal::lib=$TRAVIS_BUILD_DIR/local-lib) - - cd package/linux && make -f build_shell.mk && mv Slic3r* $TRAVIS_BUILD_DIR && cd $TRAVIS_BUILD_DIR - - LD_LIBRARY_PATH=$WXDIR/lib package/linux/make_archive.sh linux-x64 - - package/linux/appimage.sh x86_64 - - package/deploy/sftp.sh linux ~/slic3r-upload.rsa *.bz2 Slic3r*.AppImage - - package/deploy/sftp-symlink.sh linux ~/slic3r-upload.rsa AppImage Slic3r*.AppImage - - package/deploy/sftp-symlink.sh linux ~/slic3r-upload.rsa tar.bz2 *.bz2 + - package/linux/travis-deploy-main.sh + - os: linux env: - BUILD_PL=false @@ -59,21 +67,22 @@ matrix: cache: apt: true directories: - - "$HOME/cache" + - $HOME/cache after_success: - - cp slic3r ../ - - LD_LIBRARY_PATH=$WXDIR/lib package/linux/make_archive.sh linux-x64 - - package/linux/appimage.sh x86_64 - - package/deploy/sftp.sh linux ~/slic3r-upload.rsa *.bz2 Slic3r*.AppImage - - package/deploy/sftp-symlink.sh linux ~/slic3r-upload.rsa AppImage Slic3r*.AppImage - - package/deploy/sftp-symlink.sh linux ~/slic3r-upload.rsa tar.bz2 *.bz2 + - package/linux/travis-deploy-cpp.sh + - os: osx osx_image: xcode9.4 env: - BUILD_PL=true cache: directories: - - "$HOME/local-lib" + - /usr/local/Homebrew + - $HOME/Library/Caches/Homebrew + - local-lib + after_success: + - package/osx/travis-deploy-main.sh + - os: osx osx_image: xcode9.4 env: @@ -82,6 +91,7 @@ matrix: cache: ccache: true directories: + - /usr/local/Homebrew - $HOME/cache - $HOME/Library/Caches/Homebrew diff --git a/package/linux/travis-build-main.sh b/package/linux/travis-build-main.sh index f0ab92707..881ed5edd 100755 --- a/package/linux/travis-build-main.sh +++ b/package/linux/travis-build-main.sh @@ -29,6 +29,7 @@ tar -C$HOME/perl5/perlbrew/perls -xjf $CACHE/slic3r-perlbrew-5.24.tar.bz2 tar -C$HOME -xjf $CACHE/boost-compiled.tar.bz2 tar -C$HOME -xjf $CACHE/wx${WXVERSION}.tar.bz2 +export PERLBREW_SKIP_INIT=0 source $HOME/perl5/perlbrew/etc/bashrc perlbrew switch slic3r-perl diff --git a/package/linux/travis-deploy-cpp.sh b/package/linux/travis-deploy-cpp.sh new file mode 100755 index 000000000..3725f5f19 --- /dev/null +++ b/package/linux/travis-deploy-cpp.sh @@ -0,0 +1,10 @@ +#!/bin/bash +set -euo pipefail + +# Not sure this is the correct deployment: +# cp slic3r ../ +# LD_LIBRARY_PATH=$WXDIR/lib package/linux/make_archive.sh linux-x64 +# package/linux/appimage.sh x86_64 +# package/deploy/sftp.sh linux ~/slic3r-upload.rsa *.bz2 Slic3r*.AppImage +# package/deploy/sftp-symlink.sh linux ~/slic3r-upload.rsa AppImage Slic3r*.AppImage +# package/deploy/sftp-symlink.sh linux ~/slic3r-upload.rsa tar.bz2 *.bz2 diff --git a/package/linux/travis-deploy-main.sh b/package/linux/travis-deploy-main.sh new file mode 100755 index 000000000..3cbc85727 --- /dev/null +++ b/package/linux/travis-deploy-main.sh @@ -0,0 +1,13 @@ +#!/bin/bash +set -euo pipefail + +eval $(perl -Mlocal::lib=$TRAVIS_BUILD_DIR/local-lib) +cd package/linux && make -f build_shell.mk && mv Slic3r* $TRAVIS_BUILD_DIR && cd $TRAVIS_BUILD_DIR + +LD_LIBRARY_PATH=$WXDIR/lib package/linux/make_archive.sh linux-x64 + +package/linux/appimage.sh x86_64 + +package/deploy/sftp.sh linux ~/slic3r-upload.rsa *.bz2 Slic3r*.AppImage +package/deploy/sftp-symlink.sh linux ~/slic3r-upload.rsa AppImage Slic3r*.AppImage +package/deploy/sftp-symlink.sh linux ~/slic3r-upload.rsa tar.bz2 *.bz2 diff --git a/package/osx/travis-build-main.sh b/package/osx/travis-build-main.sh index 75c596077..e4ff9d779 100755 --- a/package/osx/travis-build-main.sh +++ b/package/osx/travis-build-main.sh @@ -7,4 +7,18 @@ brew install boost perl cpanminus export SLIC3R_STATIC=1 export BOOST_DIR=/usr/local perl ./Build.PL + +# Install GUI modules and wxWidgets: + +curl -O https://gist.githubusercontent.com/alranel/c2de82c05f6006b49c5029fc78bcaa87/raw/778dec2692408334ef2b87818bf977ac6f9fd8ee/patch-wxwidgets-noquicktime.diff + +PERL_USE_UNSAFE_INC=1 \ + CXX="clang++ -mmacosx-version-min=10.12" \ + CPPFLAGS="-mmacosx-version-min=10.12 -D__ASSERT_MACROS_DEFINE_VERSIONS_WITHOUT_UNDERSCORES=1" \ + LDFLAGS="-mmacosx-version-min=10.12" \ + cpanm --local-lib local-lib Alien::wxWidgets -v --reinstall \ + --configure-args="--wxWidgets-build=1 --wxWidgets-extraflags=\"--with-macosx-version-min=10.12 --disable-qtkit --disable-mediactrl --disable-webkit --disable-webview\" --wxWidgets-userpatch=$(pwd)/patch-wxwidgets-noquicktime.diff" + +PERL_USE_UNSAFE_INC=1 cpanm --local-lib local-lib --reinstall -v https://github.com/alranel/wxPerl-osx10.12/tarball/master + perl ./Build.PL --gui diff --git a/package/osx/travis-deploy-main.sh b/package/osx/travis-deploy-main.sh new file mode 100755 index 000000000..94df9482d --- /dev/null +++ b/package/osx/travis-deploy-main.sh @@ -0,0 +1,4 @@ +#!/bin/bash +set -euo pipefail + +package/osx/make_dmg.sh foo