-
Notifications
You must be signed in to change notification settings - Fork 4
91 lines (76 loc) · 2.94 KB
/
make_deploy.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
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