-
-
Notifications
You must be signed in to change notification settings - Fork 2.3k
62 lines (52 loc) · 2.7 KB
/
build-appimage.yml
File metadata and controls
62 lines (52 loc) · 2.7 KB
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
# KEEP THE RUNNER OS AS LOW AS POSSIBLE.
# If built on the latest OS, it may not run on previous OS versions.
# Related: https://docs.appimage.org/reference/best-practices.html#binaries-compiled-on-old-enough-base-system
name: Build - AppImage
on:
workflow_call:
workflow_dispatch:
jobs:
build:
name: ${{ matrix.os }}
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-20.04]
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Install dependencies
run: |
sudo apt update
sudo apt install libqcustomplot-dev libqscintilla2-qt5-dev libqt5svg5 qttools5-dev
- name: Build SQLCipher
run: |
sudo apt install libssl-dev tcl
git clone https://github.com/sqlcipher/sqlcipher && cd sqlcipher && git checkout v4.6.1
./configure --enable-tempstore=yes --with-crypto-lib=openssl --enable-load-extension --disable-tcl CFLAGS="-DSQLCIPHER_CRYPTO_OPENSSL -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_FTS3 -DSQLITE_ENABLE_FTS3_PARENTHESIS -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_MEMORY_MANAGEMENT=1 -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SNAPSHOT=1 -DSQLITE_ENABLE_STAT4 -DSQLITE_HAS_CODEC -DSQLITE_SOUNDEX"
make -j2 && sudo make install -j2
- name: Configure build
run: |
mkdir appbuild && mkdir appdir && cd appbuild
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX:PATH=../appdir/usr -Wno-dev -DFORCE_INTERNAL_QSCINTILLA=ON -Dsqlcipher=1 ..
- name: Build
working-directory: ./appbuild
run: make install -j2
- name: Build AppImage
run: |
wget -c -nv "https://github.com/linuxdeploy/linuxdeploy/releases/download/1-alpha-20240109-1/linuxdeploy-x86_64.AppImage"
wget -c -nv "https://github.com/linuxdeploy/linuxdeploy-plugin-qt/releases/download/1-alpha-20240109-1/linuxdeploy-plugin-qt-x86_64.AppImage"
chmod a+x linuxdeploy-x86_64.AppImage linuxdeploy-plugin-qt-x86_64.AppImage
export VERSION=v3.13.1
LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/lib" ./linuxdeploy-x86_64.AppImage --appdir=appdir --desktop-file=appdir/usr/share/applications/sqlitebrowser.desktop --plugin qt --output appimage
- name: Rename a file
run: |
for i in DB_Browser_for_SQLite*; do mv "$i" "${i//_/.}"; done
mv DB.Browser.for.SQLite-v3.13.1-x86.64.AppImage DB.Browser.for.SQLite-v3.13.1-x86.64-v2.AppImage
- name: Upload artifacts
uses: actions/upload-artifact@v4
with:
name: build-artifacts-${{ matrix.os }}
path: DB.Browser.for.*.AppImage
retention-days: 1