Skip to content

Build Linux

Build Linux #15

Workflow file for this run

name: Build Linux
on:
workflow_dispatch:
env:
QT_VERSION: 6.7.2
jobs:
build_linux:
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v2
- uses: actions/setup-python@v2
with:
python-version: '3.8'
- name: install_opencv
run: |
sudo apt-get update
sudo apt-get install mesa-common-dev libgl1-mesa-dev libssl-dev libunwind-dev
sudo apt-get install libxcb-*
sudo apt-get install libxkb-*
sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libnss3
sudo apt-get install libgstreamer-plugins-base1.0-dev libgstreamer1.0-dev
sudo apt-get install libopencv-dev libfuse2
- name: install_qt6
run: |
pip install aqtinstall
python3 -m aqt install-qt -O ${{ github.workspace }}/Qt/ linux desktop ${{ env.QT_VERSION }}
echo ${{ github.workspace }}/Qt/${{ env.QT_VERSION }}/gcc_64/bin/ >> $GITHUB_PATH
- name: remove_MimerSQL_plugin
run: |
QT_DIR=${{ github.workspace }}/Qt/${{ env.QT_VERSION }}/gcc_64
rm -f $QT_DIR/plugins/sqldrivers/libqsqlmimer.so
rm -f $QT_DIR/lib/cmake/Qt6Sql/Qt6QMimerSQLDriverPlugin*.cmake
sed -i '/QMimerSQLDriverPlugin/d' $QT_DIR/lib/cmake/Qt6Sql/Qt6SqlPlugins.cmake || true
- name: build_ft
run: |
./run.sh ci
- name: build_appimage
run: |
cd build
wget -O deploy.AppImage https://github.com/probonopd/linuxdeployqt/releases/download/continuous/linuxdeployqt-continuous-x86_64.AppImage
mkdir appdir
cp ../sh.fasttrack.fasttrack.desktop appdir
cp ../src/assets/fasttrack.png appdir
cp bin/fasttrack appdir
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:${{ github.workspace }}/Qt/${{ env.QT_VERSION }}/gcc_64/lib/
chmod +x deploy.AppImage
./deploy.AppImage appdir/fasttrack -bundle-non-qt-libs -unsupported-allow-new-glibc -qmake=${{ github.workspace }}/Qt/${{ env.QT_VERSION }}/gcc_64/bin/qmake6 -extra-plugins=platforms/,sqldrivers/ -exclude-libs=libgmodule-2.0.so,libmimerapi.so
mkdir -p appdir/usr/share/fasttrack/
#cp *.qm appdir/usr/share/fasttrack
wget -O tool.AppImage https://github.com/AppImage/AppImageKit/releases/download/13/appimagetool-x86_64.AppImage
chmod +x tool.AppImage
./tool.AppImage appdir/
- name: build_appimage_cli
run: |
cd build
rm -f bin/fasttrack
rm -f appdir/sh.fasttrack.fasttrack.desktop
cp ../sh.fasttrack.fasttrackcli.desktop appdir
cp bin/fasttrack-cli appdir
./deploy.AppImage appdir/fasttrack-cli -bundle-non-qt-libs -unsupported-allow-new-glibc -qmake=${{ github.workspace }}/Qt/${{ env.QT_VERSION }}/gcc_64/bin/qmake6 -extra-plugins=platforms/,sqldrivers/ -exclude-libs=libgmodule-2.0.so,libmimerapi.so
rm -rf appdir/usr/share/fasttrack/
mkdir -p appdir/usr/share/fasttrack-cli/
#cp *.qm appdir/usr/share/fasttrack
./tool.AppImage appdir/
- name: upload_artefact
uses: actions/upload-artifact@v4
with:
name: FastTrack-x86_64.AppImage
path: ./build/FastTrack-x86_64.AppImage
- name: upload_artefact
uses: actions/upload-artifact@v4
with:
name: FastTrack-Cli-x86_64.AppImage
path: ./build/FastTrack-Cli-x86_64.AppImage