blob: 3453b57d45bf725ba92a83f577221adbfed2672f (
plain) (
blame)
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
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
|
env:
TCL_VERSION: '8.6'
SQLITE_VERSION: '3350400'
SQLITE_RELEASE_YEAR: '2021'
PORTABLE_DIR: ${{ github.workspace }}/output/portable/SQLiteStudio
name: Unit tests
on:
push:
branches:
- master
- 3.2
- 3.3
paths:
- '**.cpp'
- '**.hpp'
- '**.c'
- '**.h'
- '**.pro'
- '**.pri'
- '**.ui'
- '**/tests.yml'
jobs:
build:
runs-on: ubuntu-18.04
strategy:
matrix:
QT_VERSION: ['5.12.10', '5.15.2']
steps:
- name: Cache Qt
id: cache-qt
uses: actions/cache@v1
with:
path: ${{ github.workspace }}/../Qt
key: ${{ runner.os }}-Qt-${{ matrix.QT_VERSION }}-Linux-Cache
- name: Install Qt
uses: jurplel/install-qt-action@v2
with:
cached: ${{ steps.cache-qt.outputs.cache-hit }}
version: ${{ matrix.QT_VERSION }}
host: 'linux'
dir: '${{ github.workspace }}/..'
modules: 'qtscript'
- name: Clone repo
uses: actions/checkout@v2
with:
ref: ${{ env.GITHUB_REF }}
- name: Install SQLite3
run: |
sudo rm -f /usr/lib/libsqlite* /usr/local/lib/libsqlite* /usr/include/sqlite* /usr/local/include/sqlite* /usr/lib/x86_64-linux-gnu/libsqlite*
wget http://sqlite.org/$SQLITE_RELEASE_YEAR/sqlite-amalgamation-$SQLITE_VERSION.zip
unzip sqlite-amalgamation-$SQLITE_VERSION.zip
cd sqlite-amalgamation-$SQLITE_VERSION
gcc sqlite3.c -lpthread -ldl -lm -Os -fpic -shared -o libsqlite3.so \
-DSQLITE_ENABLE_UPDATE_DELETE_LIMIT \
-DSQLITE_ENABLE_DBSTAT_VTAB \
-DSQLITE_ENABLE_BYTECODE_VTAB \
-DSQLITE_ENABLE_COLUMN_METADATA \
-DSQLITE_ENABLE_EXPLAIN_COMMENTS \
-DSQLITE_ENABLE_FTS3 \
-DSQLITE_ENABLE_FTS4 \
-DSQLITE_ENABLE_FTS5 \
-DSQLITE_ENABLE_GEOPOLY \
-DSQLITE_ENABLE_JSON1 \
-DSQLITE_ENABLE_RTREE \
-DSQLITE_ENABLE_MATH_FUNCTIONS
strip libsqlite3.so
sudo cp -P libsqlite3.so* /usr/local/lib/
sudo cp *.h /usr/local/include/
- name: Install Tcl
run: sudo apt-get install -qq libtcl$TCL_VERSION tcl$TCL_VERSION-dev
- name: Install other tools/dependencies
run: |
sudo apt install libreadline-dev libncurses5-dev
echo "${{ github.workspace }}/../Qt/${{ matrix.QT_VERSION }}/gcc_64/bin" >> $GITHUB_PATH
- name: Prepare output dir
run: mkdir output output/build output/build/Plugins
- name: Compile SQLiteStudio3
working-directory: output/build
run: |
qmake CONFIG+=portable CONFIG+=debug DEFINES+=tests ../../SQLiteStudio3
make -j 2
- name: Compile Plugins
working-directory: output/build/Plugins
run: |
qmake CONFIG+=portable CONFIG+=debug DEFINES+=tests ../../../Plugins
make -j 2
- name: Run tests
working-directory: output/SQLiteStudio
run: |
sudo cp -P /usr/local/lib/libsqlite3.so* ./lib/
export LD_LIBRARY_PATH="./lib"
ldd tst_tablemodifiertest
for f in tst_*; do ./$f; done
|