Skip to content

Further Event List fixes #519

Further Event List fixes

Further Event List fixes #519

name: Create AppImage latest
#on: workflow_dispatch
on:
push:
branches:
- master
#on:
# schedule:
# - cron: '0 7 * * MON'
env:
BUILD_TYPE: Release
jobs:
latest:
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v2
- name: Install Deps
run: |
#sudo add-apt-repository -y ppa:beineri/opt-qt-5.15.2-bionic
sudo apt-get update
# See PR 1077. Required to find libatomic for some archs.
sudo apt-get install -y cmake extra-cmake-modules
sudo apt-get install -y libsndfile1-dev libsamplerate0-dev \
libjack-jackd2-dev ladspa-sdk liblo-dev dssi-dev \
libsamplerate0-dev libfluidsynth-dev libgtkmm-2.4-dev \
libinstpatch-dev librubberband-dev python3-dev librtaudio-dev liblrdf0-dev
# liblash-compat-dev
# liblilv-dev lv2-dev liblrdf0-dev
sudo apt-get install -y qttools5-dev qttools5-dev-tools libqt5svg5-dev
sudo apt-get install -y mesa-common-dev libglu1-mesa-dev
#sudo apt-get install -y qt515base qt515tools qt515svg
sudo apt-get install -y fuse
sudo apt-get remove -y libsord-0-0 libserd-0-0
# wget http://mirrors.kernel.org/ubuntu/pool/universe/r/rtaudio/librtaudio6_5.0.0~ds-2_amd64.deb
# wget http://mirrors.kernel.org/ubuntu/pool/universe/r/rtaudio/librtaudio-dev_5.0.0~ds-2_amd64.deb
# sudo apt-get install ./librtaudio6_5.0.0~ds-2_amd64.deb ./librtaudio-dev_5.0.0~ds-2_amd64.deb
- name: Build lv2
run: |
mkdir ${{runner.workspace}}/lv2_build
cd ${{runner.workspace}}/lv2_build
git clone --depth 1 --branch v1.18.0 https://gitlab.com/lv2/lv2.git .
git submodule update --init --recursive
./waf configure
./waf
sudo ./waf install
- name: Build serd
run: |
mkdir ${{runner.workspace}}/serd_build
cd ${{runner.workspace}}/serd_build
git clone --depth 1 --branch v0.30.6 https://gitlab.com/drobilla/serd.git .
git submodule update --init --recursive
./waf configure
./waf
sudo ./waf install
- name: Build sord
run: |
mkdir ${{runner.workspace}}/sord_build
cd ${{runner.workspace}}/sord_build
git clone --depth 1 --branch v0.16.6 https://gitlab.com/drobilla/sord.git .
git submodule update --init --recursive
./waf configure
./waf
sudo ./waf install
- name: Build sratom
run: |
mkdir ${{runner.workspace}}/sratom_build
cd ${{runner.workspace}}/sratom_build
git clone --depth 1 --branch v0.6.6 https://gitlab.com/lv2/sratom.git .
git submodule update --init --recursive
./waf configure
./waf
sudo ./waf install
- name: Build lilv
run: |
mkdir ${{runner.workspace}}/lilv_build
cd ${{runner.workspace}}/lilv_build
git clone --depth 1 --branch v0.24.10 https://gitlab.com/lv2/lilv.git .
git submodule update --init --recursive
./waf configure
./waf
sudo ./waf install
- name: Check Qt Installation
run: |
#cat /opt/qt515/bin/qt515-env.sh
QT_BASE_DIR=/opt/qt515
export QTDIR=$QT_BASE_DIR
export PATH=$QT_BASE_DIR/bin:$PATH
export LD_LIBRARY_PATH=$QT_BASE_DIR/lib/x86_64-linux-gnu:$QT_BASE_DIR/lib:$LD_LIBRARY_PATH
export PKG_CONFIG_PATH=$QT_BASE_DIR/lib/pkgconfig:$PKG_CONFIG_PATH
echo "$PATH" >> $GITHUB_PATH
echo "QT_BASE_DIR=$QT_BASE_DIR" >> $GITHUB_ENV
echo "QTDIR=$QT_BASE_DIR" >> $GITHUB_ENV
echo "LD_LIBRARY_PATH=$LD_LIBRARY_PATH" >> $GITHUB_ENV
echo "PKG_CONFIG_PATH=$PKG_CONFIG_PATH" >> $GITHUB_ENV
- name: Create Build Environment
run: cmake -E make_directory ${{runner.workspace}}/build
- name: Configure CMake
working-directory: ${{runner.workspace}}/build
run: |
REPO_PATH=$GITHUB_WORKSPACE/src
cmake $REPO_PATH -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DCMAKE_INSTALL_PREFIX=/usr -DMODULES_BUILD_STATIC=ON
- name: Build
working-directory: ${{runner.workspace}}/build
run:
cmake --build . --config $BUILD_TYPE -j3
- name: Create AppImage
working-directory: ${{runner.workspace}}/build
run: |
make -j3 DESTDIR=appdir install ; find appdir/
find appdir \( -name "moc_*" -or -name "*.o" -or -name "qrc_*" -or -name "Makefile*" -or -name "*.a" \) -exec rm {} \;
wget https://github.com/linuxdeploy/linuxdeploy/releases/download/continuous/linuxdeploy-x86_64.AppImage
wget https://github.com/linuxdeploy/linuxdeploy-plugin-qt/releases/download/continuous/linuxdeploy-plugin-qt-x86_64.AppImage
wget -c "https://raw.githubusercontent.com/linuxdeploy/linuxdeploy-plugin-gtk/master/linuxdeploy-plugin-gtk.sh"
wget https://github.com/linuxdeploy/linuxdeploy-plugin-appimage/releases/download/continuous/linuxdeploy-plugin-appimage-x86_64.AppImage
chmod +x linuxdeploy*.AppImage linuxdeploy-plugin-gtk.sh
export MUSEDIR=$(basename -a ${{runner.workspace}}/build/appdir/usr/lib/muse-*)
LIB_MODULES=${{runner.workspace}}/build/appdir/usr/lib/$MUSEDIR/modules
LIB_PLUGINS=${{runner.workspace}}/build/appdir/usr/lib/$MUSEDIR/plugins
LIB_SYNTHI=${{runner.workspace}}/build/appdir/usr/lib/$MUSEDIR/synthi
LIB_CONV=${{runner.workspace}}/build/appdir/usr/lib/$MUSEDIR/converters
export LD_LIBRARY_PATH=$LIB_MODULES:$LIB_PLUGINS:$LIB_SYNTHI:$LIB_CONV:$LD_LIBRARY_PATH
# install GTK library dependencies for LV2 uis
sudo apt install patchelf
sudo apt install libgtk2.0-dev
sudo apt install libglib2.0-dev
sudo apt install librsvg2-dev
export DEPLOY_GTK_VERSION=2
./linuxdeploy-x86_64.AppImage --appdir appdir --plugin=gtk
# install QT library dependencies for MusE
./linuxdeploy-x86_64.AppImage --appdir appdir --plugin=qt
echo '#! /usr/bin/env bash' > appdir/AppRun
echo 'set -e' >> appdir/AppRun
echo 'this_dir=$(readlink -f $(dirname "$0"))' >> appdir/AppRun
echo 'export LD_LIBRARY_PATH="$this_dir"/usr/lib:$LD_LIBRARY_PATH' >> appdir/AppRun
echo 'exec "$this_dir"/AppRun.wrapped "$@"' >> appdir/AppRun
export VERSION=master #linuxdeployqt uses this for naming the file
./linuxdeploy-plugin-appimage-x86_64.AppImage --appdir appdir
- name: Upload AppImage
uses: "marvinpinto/action-automatic-releases@latest"
with:
repo_token: "${{ secrets.GITHUB_TOKEN }}"
automatic_release_tag: "latest"
prerelease: true
title: "Current master (AppImage)"
files: ${{runner.workspace}}/build/MusE*.AppImage