-
Notifications
You must be signed in to change notification settings - Fork 21
84 lines (75 loc) · 2.66 KB
/
build_linux.yml
File metadata and controls
84 lines (75 loc) · 2.66 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
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
name: Build Linux
on:
workflow_dispatch:
env:
QT_VERSION: 6.10.3
jobs:
build_linux:
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v2
- uses: actions/setup-python@v2
with:
python-version: '3.13'
- name: install_opencv
run: |
sudo apt-get update
sudo apt-get install mesa-common-dev libgl1-mesa-dev libssl-dev libunwind-dev
sudo apt-get install libxcb-*
sudo apt-get install libxkb-*
sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libnss3
sudo apt-get install libgstreamer-plugins-base1.0-dev libgstreamer1.0-dev
sudo apt-get install libopencv-dev libfuse2 patchelf makeself
- name: install_qt6
run: |
pip install aqtinstall
python3 -m aqt install-qt -O ${{ github.workspace }}/Qt/ linux desktop ${{ env.QT_VERSION }}
echo ${{ github.workspace }}/Qt/${{ env.QT_VERSION }}/gcc_64/bin/ >> $GITHUB_PATH
- name: remove_MimerSQL_plugin
run: |
QT_DIR=${{ github.workspace }}/Qt/${{ env.QT_VERSION }}/gcc_64
rm -f $QT_DIR/plugins/sqldrivers/libqsqlmimer.so
rm -f $QT_DIR/lib/cmake/Qt6Sql/Qt6QMimerSQLDriverPlugin*.cmake
sed -i '/QMimerSQLDriverPlugin/d' $QT_DIR/lib/cmake/Qt6Sql/Qt6SqlPlugins.cmake || true
- name: build_ft
run: |
./run.sh ci
- name: build_run
run: |
cd build
wget https://github.com/bgallois/SoBundle/releases/download/continuous/so_bundle
chmod +x so_bundle
./so_bundle --exec ./bin/fasttrack --qt ${{ github.workspace }}/Qt/${{ env.QT_VERSION }}/gcc_64/ --bundle
- name: upload_artefact
uses: actions/upload-artifact@v4
with:
name: FastTrack
path: ./build/bin/fasttrack.run
test_bundle:
runs-on: ubuntu-latest
needs: build_linux
steps:
- name: download artifact
uses: actions/download-artifact@v4
with:
name: FastTrack
path: FastTrack
- name: Run FastTrack executable
run: |
cd FastTrack
chmod +x fasttrack.run
./fasttrack.run -- --cli --help
- name: GUI startup smoke test
run: |
cd FastTrack
chmod +x fasttrack.run
set +e
timeout 10s ./fasttrack.run -- -platform offscreen
status=$?
set -e
if [ "$status" -eq 124 ]; then
echo "GUI startup test passed: app stayed alive for 10 seconds."
exit 0
fi
echo "GUI startup test failed: app exited with status $status."
exit "$status"