Skip to content

[CD/CI] ...

[CD/CI] ... #5

Workflow file for this run

name: Deploying
on:
push:
paths-ignore:
- '**.md'
env:
# VERSION: "3.0.6"
QT_VERSION_LINUX: 6.8.2
# QT_VERSION_MACOS: 6.8.1
# QT_VERSION_WINDOWS: 6.8.1
EXECUTABLE: "Nootka"
APPLICATION: "Nootka"
UNIXNAME: "nootka"
QML_DIR: "../../src/qml"
PUBLISHER: "Tom Seelook"
DESCRIPTION: "Application to learn how to play from sheet music"
QT_MODULES: qt5compat
jobs:
build-linux-x86_64:
runs-on: ubuntu-22.04
name: 'Linux (x86_64)'
steps:
- name: 'Checkout'
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Set variables
run: |
VER=$(cat src/libs/core/nootkaconfig.h | awk -F" " '{ print $3 }' | sed 's/\"//g')
echo "NOOTKA_VERSION=$VER" >> $GITHUB_ENV
CNT=$(git rev-list HEAD --count)
echo "NOOTKA_COM_CNT=$CNT" >> $GITHUB_ENV
- name: 'Install Qt'
uses: jurplel/install-qt-action@v4
with:
version: ${{env.QT_VERSION_LINUX}}
modules: ${{env.QT_MODULES}}
cache: true
install-deps: 'true'
- name: 'Install dependencies'
run: |
sudo apt-get update
sudo apt-get install -y mesa-common-dev libsoundtouch-dev libfftw3-dev libasound2-dev libogg-dev libvorbis-dev libpulse-dev libjack-dev rsync git
sudo apt-get install -y libgl1-mesa-dev libxkbcommon-x11-0 rpm libfuse2 fakeroot
- name: 'Install CMake'
uses: lukka/get-cmake@latest
with:
useLocalCache: true
- name: 'Configure with CMake'
run: |
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr ../
- name: 'Build application'
run: |
cd build
cmake --build . --config Release -j 16
- name: 'Create AppImage'
run: |
cd "build/src"
wget https://github.com/dantti/linuxdeploy/releases/download/continuous/linuxdeploy-x86_64.AppImage
wget https://github.com/dantti/linuxdeploy-plugin-qt/releases/download/continuous/linuxdeploy-plugin-qt-x86_64.AppImage
chmod +x linuxdeploy-x86_64.AppImage
chmod +x linuxdeploy-plugin-qt-x86_64.AppImage
export QML_SOURCES_PATHS="${{env.QML_DIR}}"
export QMAKE=/home/runner/work/${{env.EXECUTABLE}}/Qt/${{env.QT_VERSION_LINUX}}/gcc_64/bin/qmake
export PATH=/home/runner/work/${{env.EXECUTABLE}}/Qt/${{env.QT_VERSION_LINUX}}/gcc_64/libexec:$PATH
./linuxdeploy-x86_64.AppImage --appdir AppDir -e ${{env.UNIXNAME}} -i ../../picts/${{env.UNIXNAME}}.png -d ../../mime/${{env.UNIXNAME}}.desktop --plugin qt --output appimage
rm linuxdeploy-x86_64.AppImage
rm linuxdeploy-plugin-qt-x86_64.AppImage
mv *.AppImage ../../${{env.EXECUTABLE}}-${{env.VERSION}}-Linux-x86_64.AppImage
- name: 'Upload artifact: AppImage'
uses: actions/upload-artifact@v4
with:
name: ${{env.EXECUTABLE}}-${{env.VERSION}}-Linux-x86_64.AppImage
path: ${{env.EXECUTABLE}}-${{env.VERSION}}-Linux-x86_64.AppImage