Skip to content

Linux Release

Linux Release #10

Workflow file for this run

name: Linux Release
on:
workflow_dispatch:
branches: [ "master" ]
env:
SOURCE_DIR: ${{ github.workspace }}/platform
ARTIFACT: ${{ github.workspace }}/platform/build/MLVApp.AppImage
jobs:
build:
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v3
- name: Install compiler & Qt
run: |
sudo apt-get install --no-install-recommends make g++ qt5-qmake qtbase5-dev qtmultimedia5-dev libqt5multimedia5 libqt5multimedia5-plugins libqt5opengl5-dev libqt5designer5 libqt5svg5-dev libfuse2 libxkbcommon-x11-0 appstream
cd /usr/lib/x86_64-linux-gnu/qt5/plugins/
ls -al
- name: Create build directory
run: mkdir ${{ env.SOURCE_DIR }}/build
- name: Build
working-directory: ${{ env.SOURCE_DIR }}/build
run: |
qmake ${{ env.SOURCE_DIR }}/qt/MLVApp.pro
make -j8
ls -al
mkdir image
cd image
cp ${{ env.SOURCE_DIR }}/qt/RetinaIMG/MLVAPP.png .
cp ${{ env.SOURCE_DIR }}/qt/mlvapp.desktop .
ls -al
mkdir usr
cd usr
mkdir bin
cd bin
tar -C ${{ env.SOURCE_DIR }}/qt/FFmpeg/ -xvJf ${{ env.SOURCE_DIR }}/qt/FFmpeg/ffmpegLinux.tar.xz --strip=1 --wildcards */ffmpeg
chmod a+x ${{ env.SOURCE_DIR }}/qt/FFmpeg/ffmpeg
mv ${{ env.SOURCE_DIR }}/qt/FFmpeg/ffmpeg .
tar -C ${{ env.SOURCE_DIR }}/qt/raw2mlv/ -xvJf ${{ env.SOURCE_DIR }}/qt/raw2mlv/raw2mlvLinux.tar.xz --strip=1 --wildcards */raw2mlv
chmod a+x ${{ env.SOURCE_DIR }}/qt/raw2mlv/raw2mlv
mv ${{ env.SOURCE_DIR }}/qt/raw2mlv/raw2mlv .
ls -al
- name: Install LinuxDeploy
uses: miurahr/[email protected]
with:
plugins: qt appimage
- name: Create Appimage
working-directory: ${{ env.SOURCE_DIR }}/build
run: |
# Install lib for linuxdeploy, /usr/local/qwt-6.2.0/lib/libqwt.so.6.2
linuxdeploy-x86_64.AppImage --desktop-file=image/mlvapp.desktop --executable=mlvapp --appdir=image --plugin=qt --output=appimage --verbosity=3 --icon-file=image/MLVAPP.png
cp MLVApp-*.AppImage ${{ env.ARTIFACT }}
- name: Save build artifact
uses: actions/upload-artifact@master
with:
name: MLVApp
path: ${{ env.ARTIFACT }}