Skip to content

Build & Package (Linux) #11

Build & Package (Linux)

Build & Package (Linux) #11

Workflow file for this run

name: Build & Package (Linux)
on:
push:
tags:
- "v*"
workflow_dispatch:
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
with:
submodules: recursive
- name: Install Qt
uses: jurplel/install-qt-action@v4
with:
version: 6.8.1
modules: 'qthttpserver qtwebsockets'
- name: Install Dependencies
run: |
sudo apt-get update
sudo apt-get install -y patchelf openssl libfuse2
- name: Verify OpenSSL Version
run: openssl version
- name: Build Acquisition
run: |
mkdir -p build
cd build
cmake .. -DCMAKE_BUILD_TYPE=Release
cmake --build . --parallel
- name: Download linuxdeploy and qt plugin
run: |
curl -Lo linuxdeploy https://github.com/dantti/linuxdeploy/releases/download/continuous/linuxdeploy-x86_64.AppImage
curl -Lo linuxdeploy-plugin-qt https://github.com/dantti/linuxdeploy-plugin-qt/releases/download/continuous/linuxdeploy-plugin-qt-x86_64.AppImage
chmod +x linuxdeploy linuxdeploy-plugin-qt
- name: Package AppImage
run: |
./linuxdeploy \
--appdir AppDir \
--executable build/acquisition \
--desktop-file acquisition.desktop \
--icon-file assets/icon.svg \
--icon-filename default \
--plugin qt \
--exclude-library libqsqlmysql.so \
--exclude-library libqsqlmimer.so \
--exclude-library libqsqlodbc.so \
--exclude-library libqsqlpsql.so \
--output appimage
- name: Upload AppImage Artifact
uses: actions/upload-artifact@v4
with:
path: acquisition*.AppImage