Skip to content

Commit 2117286

Browse files
authored
Merge pull request #1084 from Infomaniak/merge-release-3.7.6-branch-into-main
Merge release `3.7.6` branch into main
2 parents 54f0cde + 483f4ab commit 2117286

File tree

391 files changed

+19350
-15728
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

391 files changed

+19350
-15728
lines changed

.github/actions/build_linux/action.yml renamed to .github/actions/build_linux_amd/action.yml

Lines changed: 91 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,11 @@
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

410
runs:
511
using: "composite"
@@ -8,20 +14,75 @@ runs:
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
@@ -88,7 +165,7 @@ runs:
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
@@ -97,7 +174,7 @@ runs:
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
Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
1+
name: Build ARM64 Linux
2+
description: 'Build ARM64 Version of the Linux app'
3+
4+
runs:
5+
using: "composite"
6+
steps:
7+
- name: Clean the log directory
8+
run : rm -rf /tmp/kDrive-logdir/*
9+
shell: bash
10+
11+
- name: Run the build script
12+
id: build
13+
run: |
14+
/usr/bin/env bash ${{ github.workspace }}/infomaniak-build-tools/linux/build-release-arm64-via-podman.sh --src-dir ${{ github.workspace }}
15+
shell: bash
16+
17+
- name: Upload app AppImage
18+
uses: actions/upload-artifact@v4
19+
with:
20+
name: linux-release-artifacts-appimage-arm64
21+
path: ${{ github.workspace }}/build-linux-arm64/install/kDrive-*-arm64.AppImage # kDrive-<full_version>-arm64.AppImage
22+
retention-days: 1
23+
if: steps.build.outcome == 'success'
24+
25+
26+
- name: Download sentry-cli for macOS (ARM64)
27+
if: ${{ steps.build.outcome == 'success' && inputs.release_build == 'true' }}
28+
run: |
29+
curl -L https://github.com/getsentry/sentry-cli/releases/download/2.50.2/sentry-cli-Darwin-arm64 -o sentry-cli \
30+
&& chmod +x ./sentry-cli
31+
shell: bash
32+
33+
- name: Create sentry server artifacts
34+
if: ${{ steps.build.outcome == 'success' && inputs.release_build == 'true' }}
35+
run: |
36+
DBG_FILE="${{ github.workspace }}/build-linux-arm64/kDrive.dbg"
37+
./sentry-cli debug-files bundle-sources "$DBG_FILE"
38+
mkdir "${{ github.workspace }}/build-linux-arm64/sentry-server-artifacts"
39+
mv "${{ github.workspace }}/build-linux-arm64/kDrive.src.zip" "${{ github.workspace }}/build-linux-arm64/sentry-server-artifacts"
40+
mv "$DBG_FILE" "${{ github.workspace }}/build-linux-arm64/sentry-server-artifacts"
41+
shell: bash
42+
43+
- name: Create sentry client artifacts
44+
if: ${{ steps.build.outcome == 'success' && inputs.release_build == 'true' }}
45+
run: |
46+
DBG_FILE="${{ github.workspace }}/build-linux-arm64/kDrive_client.dbg"
47+
./sentry-cli debug-files bundle-sources "$DBG_FILE"
48+
mkdir "${{ github.workspace }}/build-linux-arm64/sentry-client-artifacts"
49+
mv "${{ github.workspace }}/build-linux-arm64/kDrive_client.src.zip" "${{ github.workspace }}/build-linux-arm64/sentry-client-artifacts"
50+
mv "$DBG_FILE" "${{ github.workspace }}/build-linux-arm64/sentry-client-artifacts"
51+
shell: bash
52+
53+
- name: Upload sentry server artifacts
54+
if: ${{ steps.build.outcome == 'success' && inputs.release_build == 'true' }}
55+
uses: actions/upload-artifact@v4
56+
with:
57+
name: linux-release-artifacts-server-debug-arm64
58+
path: ${{ github.workspace }}/build-linux-arm64/sentry-server-artifacts
59+
retention-days: 1
60+
compression-level: 0
61+
62+
- name: Upload sentry client artifacts
63+
if: ${{ steps.build.outcome == 'success' && inputs.release_build == 'true' }}
64+
uses: actions/upload-artifact@v4
65+
with:
66+
name: linux-release-artifacts-client-debug-arm64
67+
path: ${{ github.workspace }}/build-linux-arm64/sentry-client-artifacts
68+
retention-days: 1
69+
compression-level: 0
70+
71+
- name: Clean-up generated code
72+
run : rm -rf build-linux-arm64
73+
shell: bash

0 commit comments

Comments
 (0)