cool-retro-term
98 строк · 2.8 Кб
1name: "ci"
2
3on:
4push:
5tags: "**"
6workflow_dispatch:
7
8defaults:
9run:
10shell: bash
11
12jobs:
13appimage:
14runs-on: ubuntu-18.04
15
16steps:
17- name: Checkout repository
18uses: actions/checkout@v2
19with:
20submodules: true
21
22- name: Install dependencies
23run: |
24sudo add-apt-repository -y ppa:beineri/opt-qt-5.15.2-bionic
25sudo apt-get update -qq
26sudo apt-get install -y \
27build-essential make wget libgl1-mesa-dev \
28qt515declarative qt515graphicaleffects \
29qt515quickcontrols qt515quickcontrols2
30
31- name: Download QT appimage builder
32run: |
33wget -c -O linuxdeployqt.AppImage \
34https://github.com/probonopd/linuxdeployqt/releases/download/continuous/linuxdeployqt-continuous-x86_64.AppImage
35chmod a+x linuxdeployqt.AppImage
36
37- name: Build project
38run: |
39source /opt/qt*/bin/qt*-env.sh && \
40qmake -v && \
41qmake CONFIG+=release PREFIX=/usr && \
42make -j$(nproc)
43
44- name: Install to appdir
45run: |
46source /opt/qt*/bin/qt*-env.sh && \
47make INSTALL_ROOT=appdir -j$(nproc) install
48
49- name: Extract version number
50run: |
51# Extract version for linuxdeployqt to name the file. Use the tag as
52# release name but remove prefix.
53echo "VERSION=$(echo '${{ github.ref }}' | sed 's;.*/;;')" >> $GITHUB_ENV
54
55- name: Build appimage directory
56run: |
57mkdir -p \
58appdir/usr/bin \
59appdir/usr/lib \
60appdir/usr/share/applications \
61appdir/usr/share/metainfo \
62appdir/usr/share/icons/hicolor/128x128/apps
63
64cp cool-retro-term appdir/usr/bin/
65cp cool-retro-term.desktop appdir/usr/share/applications/
66cp packaging/appdata/cool-retro-term.appdata.xml appdir/usr/share/metainfo/
67cp app/icons/128x128/cool-retro-term.png appdir/usr/share/icons/hicolor/128x128/apps/
68cp -r ./app/qml appdir/usr/
69# Workaround for https://github.com/probonopd/linuxdeployqt/issues/78
70cp -r ./qmltermwidget/QMLTermWidget appdir/usr/qml/
71
72find appdir | sort
73
74- name: Build appimage
75run: |
76source /opt/qt*/bin/qt*-env.sh && \
77./linuxdeployqt.AppImage appdir/usr/share/applications/cool-retro-term.desktop \
78-verbose=1 -appimage \
79-qmldir=./app/qml/ \
80-qmldir=./qmltermwidget/
81env:
82# Unset environment variables
83QTDIR:
84QT_PLUGIN_PATH:
85LD_LIBRARY_PATH:
86
87- name: Upload release
88uses: softprops/action-gh-release@v1
89with:
90body: appimage release
91files: ./**/Cool_Retro_Term-*-x86_64.AppImage
92
93- name: Clean up
94if: always()
95run: |
96find appdir -executable -type f -exec ldd {} \; | grep " => /usr" | cut -d " " -f 2-3 | sort | uniq
97make clean
98rm -rf appdir
99