Further Event List fixes #519
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 |