1- name : Build Linux
2- description : ' Build Linux app'
1+ name : Build AMD64 Linux
2+ description : ' Build AMD64 Version of the Linux app'
3+
4+ inputs :
5+ release_build :
6+ description : ' If true, run the release build script'
7+ required : false
8+ default : ' false'
39
410runs :
511 using : " composite"
814 run : rm -rf /tmp/kDrive-logdir/*
915 shell : bash
1016
11- - name : Grant building script execute permission
12- run : chmod +x ./infomaniak-build-tools/linux/build-ci-amd64.sh
17+ - name : Run the build script
18+ id : build
19+ run : |
20+ if [[ "${{ inputs.release_build }}" == "true" ]]; then
21+ SCRIPT="${{ github.workspace }}/infomaniak-build-tools/linux/build-release-amd64.sh"
22+ else
23+ SCRIPT="${{ github.workspace }}/infomaniak-build-tools/linux/build-ci-amd64.sh"
24+ ARGS="-u -t release"
25+ fi
26+
27+ /usr/bin/env bash "$SCRIPT" $ARGS
1328 shell : bash
1429
30+ - name : Upload app AppImage
31+ uses : actions/upload-artifact@v4
32+ with :
33+ name : linux-release-artifacts-appimage-amd64
34+ path : ${{ github.workspace }}/build-linux/install/kDrive-*-amd64.AppImage # kDrive-<full_version>-amd64.AppImage
35+ retention-days : 1
36+ if : ${{ steps.build.outcome == 'success' && inputs.release_build == 'true' }}
1537
16- - name : Build kDrive desktop
17- id : build
18- run : ./infomaniak-build-tools/linux/build-ci-amd64.sh -u -t release
38+ - name : Download sentry-cli for Linux
39+ if : ${{ steps.build.outcome == 'success' && inputs.release_build == 'true' }}
40+ run : |
41+ curl -L https://github.com/getsentry/sentry-cli/releases/download/2.46.0/sentry-cli-Linux-x86_64 -o sentry-cli \
42+ && chmod +x ./sentry-cli
1943 shell : bash
2044
21- - name : Fetch dependencies
45+ - name : Create sentry server artifacts
46+ if : ${{ steps.build.outcome == 'success' && inputs.release_build == 'true' }}
2247 run : |
48+ DBG_FILE="${{ github.workspace }}/build-linux/kDrive.dbg"
49+ ./sentry-cli debug-files bundle-sources "$DBG_FILE"
50+ mkdir "${{ github.workspace }}/build-linux/sentry-server-artifacts"
51+ mv "${{ github.workspace }}/build-linux/kDrive.src.zip" "${{ github.workspace }}/build-linux/sentry-server-artifacts"
52+ mv "$DBG_FILE" "${{ github.workspace }}/build-linux/sentry-server-artifacts"
53+ shell : bash
54+
55+ - name : Create sentry client artifacts
56+ if : ${{ steps.build.outcome == 'success' && inputs.release_build == 'true' }}
57+ run : |
58+ DBG_FILE="${{ github.workspace }}/build-linux/kDrive_client.dbg"
59+ ./sentry-cli debug-files bundle-sources "$DBG_FILE"
60+ mkdir "${{ github.workspace }}/build-linux/sentry-client-artifacts"
61+ mv "${{ github.workspace }}/build-linux/kDrive_client.src.zip" "${{ github.workspace }}/build-linux/sentry-client-artifacts"
62+ mv "$DBG_FILE" "${{ github.workspace }}/build-linux/sentry-client-artifacts"
63+ shell : bash
64+
65+ - name : Upload sentry server artifacts
66+ if : ${{ steps.build.outcome == 'success' && inputs.release_build == 'true' }}
67+ uses : actions/upload-artifact@v4
68+ with :
69+ name : linux-release-artifacts-server-debug-amd64
70+ path : ${{ github.workspace }}/build-linux/sentry-server-artifacts
71+ retention-days : 1
72+ compression-level : 0
73+
74+ - name : Upload sentry client artifacts
75+ if : ${{ steps.build.outcome == 'success' && inputs.release_build == 'true' }}
76+ uses : actions/upload-artifact@v4
77+ with :
78+ name : linux-release-artifacts-client-debug-amd64
79+ path : ${{ github.workspace }}/build-linux/sentry-client-artifacts
80+ retention-days : 1
81+ compression-level : 0
82+
83+ - name : Fetch dependencies
84+ run : |
2385 mkdir dependencies
24- cp ${{ github.workspace }}/build-linux/build/bin/sync-exclude.lst ./dependencies/
2586 cp /home/runner/Qt/6.2.3/gcc_64/lib/libQt6Widgets.* ./dependencies/
2687 cp /home/runner/Qt/6.2.3/gcc_64/lib/libQt6Gui.* ./dependencies/
2788 cp /home/runner/Qt/6.2.3/gcc_64/lib/libQt6Network.* ./dependencies/
@@ -72,6 +133,13 @@ runs:
72133 shell : bash
73134 if : steps.build.outcome == 'success'
74135
136+ - name : Fetch kDrive dependencies (.lst)
137+ run : |
138+ mkdir uncached_dependencies
139+ cp ${{ github.workspace }}/build-linux/build/bin/sync-exclude.lst ./uncached_dependencies/
140+ shell : bash
141+ if : steps.build.outcome == 'success'
142+
75143 - name : Upload build common files
76144 uses : actions/upload-artifact@v4
77145 with :
@@ -80,6 +148,15 @@ runs:
80148 retention-days : 1
81149 compression-level : 0
82150 if : steps.build.outcome == 'success'
151+
152+ - name : Upload uncached build common files
153+ uses : actions/upload-artifact@v4
154+ with :
155+ name : linux-build-common-files-uncached
156+ path : ./uncached_dependencies/
157+ retention-days : 1
158+ compression-level : 0
159+ if : steps.build.outcome == 'success'
83160
84161 - name : Upload build test common executable
85162 uses : actions/upload-artifact@v4
88165 path : ${{ github.workspace }}/build-linux/build/bin/kDrive_test_common
89166 retention-days : 1
90167 compression-level : 0
91- if : steps.build.outcome == 'success'
168+ if : ${{ steps.build.outcome == 'success' && inputs.release_build == 'false' }}
92169
93170 - name : Upload build test common server executable
94171 uses : actions/upload-artifact@v4
97174 path : ${{ github.workspace }}/build-linux/build/bin/kDrive_test_common_server
98175 retention-days : 1
99176 compression-level : 0
100- if : steps.build.outcome == 'success'
177+ if : ${{ steps.build.outcome == 'success' && inputs.release_build == 'false' }}
101178
102179 - name : Upload build test server executable
103180 uses : actions/upload-artifact@v4
@@ -106,7 +183,7 @@ runs:
106183 path : ${{ github.workspace }}/build-linux/build/bin/kDrive_test_server
107184 retention-days : 1
108185 compression-level : 0
109- if : steps.build.outcome == 'success'
186+ if : ${{ steps.build.outcome == 'success' && inputs.release_build == 'false' }}
110187
111188 - name : Upload build test syncengine executable
112189 uses : actions/upload-artifact@v4
@@ -115,7 +192,7 @@ runs:
115192 path : ${{ github.workspace }}/build-linux/build/bin/kDrive_test_syncengine
116193 retention-days : 1
117194 compression-level : 0
118- if : steps.build.outcome == 'success'
195+ if : ${{ steps.build.outcome == 'success' && inputs.release_build == 'false' }}
119196
120197 - name : Upload build test parms executable
121198 uses : actions/upload-artifact@v4
@@ -124,7 +201,7 @@ runs:
124201 path : ${{ github.workspace }}/build-linux/build/bin/kDrive_test_parms
125202 retention-days : 1
126203 compression-level : 0
127- if : steps.build.outcome == 'success'
204+ if : ${{ steps.build.outcome == 'success' && inputs.release_build == 'false' }}
128205
129206 - name : Clean-up generated code
130207 run : rm -rf build-linux
0 commit comments