Skip to content

Commit

Permalink
CI and deploy work (DISTRHO#1)
Browse files Browse the repository at this point in the history
* Split win32/64 innosetup stuff

* Install wine in CI

* CI: kxstudio bionic dedicated repo is needed

* Test if we can run wine in CI

Signed-off-by: falkTX <[email protected]>

* Fix experiment

Signed-off-by: falkTX <[email protected]>

* Enable normal CI stuff again, with a before-deploy step

Signed-off-by: falkTX <[email protected]>

* Enable deploy stuff

Signed-off-by: falkTX <[email protected]>

* Tests for deploy

Signed-off-by: falkTX <[email protected]>

* init wine early

* dont build libs for now while checking CI stuff

* Cache apt archives; Create dirs for plugin build

* More attempts

* Cleanup before-install

* Try to help cache things

* Cache things in the proper place; try win32 builds too

* Different cache strategy

* Tweak cache

* Fix up

* ignored cache for now

* More cache tweaks

* Enable xvfb for win builds

* Try to disable winegecko dialog

* Use encrypted token for deploys

Signed-off-by: falkTX <[email protected]>

* Use old skip_cleanup flag

Signed-off-by: falkTX <[email protected]>

* Enable everything for a final test build

Signed-off-by: falkTX <[email protected]>

* Remove lv2-only workaround

Signed-off-by: falkTX <[email protected]>

* CI: only enable on tags

Signed-off-by: falkTX <[email protected]>
  • Loading branch information
falkTX authored Jul 25, 2020
1 parent 0442d6d commit 108cbcf
Show file tree
Hide file tree
Showing 6 changed files with 63 additions and 5 deletions.
17 changes: 17 additions & 0 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,13 +31,17 @@ jobs:
env:
- TARGET="win32"
- PLUGINS="abgate artyfx caps fomp mda"
services:
- xvfb

# linux with win64 cross-compilation
- os: linux
compiler: gcc
env:
- TARGET="win64"
- PLUGINS="abgate artyfx caps fomp mda"
services:
- xvfb

before_install:
- bash ${TRAVIS_BUILD_DIR}/.travis/before_install.sh
Expand All @@ -49,6 +53,19 @@ script:
- bash ${TRAVIS_BUILD_DIR}/bootstrap.sh ${TARGET}
- bash ${TRAVIS_BUILD_DIR}/build-plugins.sh ${TARGET} ${PLUGINS}

before_deploy:
- bash ${TRAVIS_BUILD_DIR}/pack-plugins.sh ${TARGET} ${PLUGINS}

deploy:
provider: releases
api_key:
secure: "xKXvMWEvj92IsFINpGlYEJeidLRoTeLIwrWVO06UrNNVCPiWC9z64Xthx/0xqQEv+2PA5GLkh9lnTm7aqQKbMNiVj4sQCcg3sVXEhkGkr27KNjHuQiFao+IeotU6bVTObzGhNR+US3LkRK9RSSvnmDBSUQB16+YgG6PZyXH7mQfoLycQQ8z24hLc4P2gGXbgd23viqZVxBh15HBm8jSm0q5Y5JZ2D/ETQWIijv+Cd7f3Q4j989Q4ZULiDyPs6gMR6Klr85Z8iNXEZRCw/dJ800IrWV9tetJFZFVOG2nWATPSFD9L1DLlJtD0tPJjk/n7DpUEivdrrLgm2C1MaTfDWQU7OOktkcNv6oUB++hWqD/d9bj1teSu9lrUkAS4QPWGWgsMQH/eWquoS6vQOE7ERAHTDgbsS1aPxnuWyG2lyefbSEJCXBOpbcWLAfAr3cdkS+QhFHZzKvZLwJZFkKR0FEKKPkt+CViLmtSbeM7uFRhX3B4uA9EByZonlvupgKfyt/WKoqpsb1hF16tVrZOmTFf2/btLOw8PUD1opAx0aXjH+XcWH6y93wsP41E3VMO/gc8jc7npa+JsMDXaHFf/DMQvj9rVF8deHoshx8Sl3n0RpEhMyV+lXKKfewryqnfWNGak7wNQQhFr4Xqv6mleBFAX1Miy12KkzYxltfwi53o="
file_glob: true
file: setup/inno/PawPaw-*.exe
skip_cleanup: true
on:
tags: true

#notifications:
#email: true
#irc: "ircs://chat.freenode.net:7070/#kxstudio"
10 changes: 10 additions & 0 deletions .travis/before_install.sh
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,16 @@ set -e
sudo add-apt-repository -y ppa:kxstudio-debian/kxstudio
sudo add-apt-repository -y ppa:kxstudio-debian/toolchain

if [ "${TARGET}" = "win32" ]; then
sudo dpkg --add-architecture i386
fi

if [ "${TARGET}" = "win32" ] || [ "${TARGET}" = "win64" ]; then
wget -qO- https://dl.winehq.org/wine-builds/winehq.key | sudo apt-key add -
sudo apt-add-repository -y 'deb https://dl.winehq.org/wine-builds/ubuntu/ bionic main'
sudo add-apt-repository -y ppa:kxstudio-debian/ubuntus
fi

sudo apt-get update -qq
sudo apt-get install kxstudio-repos
sudo apt-get update -qq
13 changes: 11 additions & 2 deletions .travis/install.sh
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,15 @@

set -e

# Special handling for caching deb archives
if [ "$(ls ${HOME}/PawPawBuilds/debs | wc -l)" -ne 0 ]; then
sudo cp ${HOME}/PawPawBuilds/debs/*.deb /var/cache/apt/archives/
fi

# common
sudo apt-get install -y build-essential curl cmake jq

# specific
if [ "${TARGET}" = "linux" ]; then
sudo apt-get install -y libglib2.0-dev

Expand All @@ -26,9 +32,12 @@ elif [ "${TARGET}" = "macos-old" ]; then
popd

elif [ "${TARGET}" = "win32" ]; then
sudo apt-get install -y mingw-w64 binutils-mingw-w64-i686 g++-mingw-w64-i686
sudo apt-get install -y mingw-w64 binutils-mingw-w64-i686 g++-mingw-w64-i686 winehq-stable wine-binfmt

elif [ "${TARGET}" = "win64" ]; then
sudo apt-get install -y mingw-w64 binutils-mingw-w64-x86-64 g++-mingw-w64-x86-64
sudo apt-get install -y mingw-w64 binutils-mingw-w64-x86-64 g++-mingw-w64-x86-64 winehq-stable wine-binfmt

fi

# Special handling for caching deb archives
sudo mv /var/cache/apt/archives/*.deb ${HOME}/PawPawBuilds/debs/
6 changes: 5 additions & 1 deletion pack-plugins.sh
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,10 @@ function download_and_install_innosetup {
curl -L https://jrsoftware.org/download.php/is.exe?site=2 -o "${dlfile}"
fi

if [ ! -d "${pkgdir}"/drive_c ]; then
env WINEARCH="${PAWPAW_TARGET}" WINEDLLOVERRIDES="mscoree,mshtml=" WINEPREFIX="${pkgdir}" wineboot -u
fi

if [ ! -f "${pkgdir}"/drive_c/InnoSeup/ISCC.exe ]; then
env WINEARCH="${PAWPAW_TARGET}" WINEPREFIX="${pkgdir}" wine "${dlfile}" /allusers /dir=C:\\InnoSeup /nocancel /norestart /verysilent
fi
Expand All @@ -41,7 +45,7 @@ function create_innosetup_exe {
local pkgdir="${PAWPAW_BUILDDIR}/innosetup-6.0.5"
local iscc="${pkgdir}/drive_c/InnoSeup/ISCC.exe"

env WINEARCH="${PAWPAW_TARGET}" WINEPREFIX="${pkgdir}" wine "${iscc}" setup/inno/plugins.iss
env WINEARCH="${PAWPAW_TARGET}" WINEPREFIX="${pkgdir}" wine "${iscc}" "setup/inno/${PAWPAW_TARGET}.iss"
}

# ---------------------------------------------------------------------------------------------------------------------
Expand Down
18 changes: 18 additions & 0 deletions setup/inno/win32.iss
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
[Setup]
AppName=PawPaw
AppVersion=0.0.0
DefaultDirName={commonpf32}\PawPaw
DisableDirPage=yes
OutputBaseFilename=PawPaw-win32-0.0.0
OutputDir=.
UsePreviousAppDir=no

[Types]
Name: "full"; Description: "Full installation"
Name: "custom"; Description: "Custom installation"; Flags: iscustom

[Components]
#include "Z:\tmp\pawpaw\components.txt"

[Files]
#include "Z:\tmp\pawpaw\lv2bundles.txt"
4 changes: 2 additions & 2 deletions setup/inno/plugins.iss → setup/inno/win64.iss
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@
ArchitecturesInstallIn64BitMode=x64
AppName=PawPaw
AppVersion=0.0.0
DefaultDirName={autopf}\PawPaw
DefaultDirName={commonpf64}\PawPaw
DisableDirPage=yes
OutputBaseFilename=PawPaw-0.0.0
OutputBaseFilename=PawPaw-win64-0.0.0
OutputDir=.
UsePreviousAppDir=no

Expand Down

0 comments on commit 108cbcf

Please sign in to comment.