Skip to content

Commit 79dd0b2

Browse files
iljukhaputdimkanovikov
authored andcommitted
BugSplat integration (#320)
1 parent c735ee5 commit 79dd0b2

File tree

20 files changed

+1217
-115
lines changed

20 files changed

+1217
-115
lines changed

.github/workflows/build_starc_linux.yml

Lines changed: 142 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -35,12 +35,18 @@ jobs:
3535
if: github.event_name == 'pull_request'
3636
shell: bash
3737
run: |
38-
git submodule update --init --recursive src/3rd_party/qbreakpad/ src/3rd_party/pdfhummus/ src/3rd_party/pdftextextraction/
38+
git submodule update --init --recursive src/3rd_party/pdfhummus/ src/3rd_party/pdftextextraction/
3939
4040
- name: Add info about dev build to the env
4141
shell: bash
4242
run: |
43-
echo "DEV_BUILD=$(git rev-list `git rev-list --tags --no-walk --max-count=1`..HEAD --count)" >> $GITHUB_ENV
43+
DEV_BUILD=$(git rev-list `git rev-list --tags --no-walk --max-count=1`..HEAD --count)
44+
echo "DEV_BUILD=$DEV_BUILD" >> $GITHUB_ENV
45+
if [ "$DEV_BUILD" -gt "0" ]; then
46+
echo "BUGSPLAT_VERSION=${{env.APP_VERSION}} dev $DEV_BUILD-qt5" >> $GITHUB_ENV
47+
else
48+
echo "BUGSPLAT_VERSION=${{env.APP_VERSION}}-qt5" >> $GITHUB_ENV
49+
fi
4450
4551
- name: Install Qt
4652
uses: jurplel/install-qt-action@v3
@@ -52,7 +58,14 @@ jobs:
5258
shell: bash
5359
run: |
5460
sudo apt update
55-
sudo apt install libgstreamer-plugins-base1.0-0 cmake make pkg-config libx11-dev xcb libx11-xcb-dev libxkbcommon-x11-0 libxkbcommon-dev libgtk-3-dev sassc libfuse2
61+
sudo apt install libgstreamer-plugins-base1.0-0 cmake make pkg-config libx11-dev xcb libx11-xcb-dev libxkbcommon-x11-0 libxkbcommon-dev libgtk-3-dev sassc libfuse2 libcurl4-openssl-dev zlib1g-dev
62+
63+
- name: Build crashpad
64+
shell: bash
65+
run: |
66+
cd build
67+
chmod +x ./build_crashpad.sh
68+
./build_crashpad.sh
5669
5770
- name: Run QMake
5871
shell: bash
@@ -66,6 +79,61 @@ jobs:
6679
cd src
6780
make -j$(nproc)
6881
82+
- name: Setup Rust
83+
run: |
84+
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y
85+
source $HOME/.cargo/env
86+
echo "PATH=$PATH:$HOME/.cargo/bin" >> $GITHUB_ENV
87+
88+
- name: Verify Rust
89+
run: |
90+
source $HOME/.cargo/env
91+
cargo --version
92+
rustc --version
93+
94+
- name: Install dependencies for Node.js
95+
run: |
96+
sudo apt-get update
97+
sudo apt-get install -y python3
98+
npm install -g @mapbox/node-pre-gyp cargo-cp-artifact
99+
100+
- name: Setup Node.js
101+
uses: actions/setup-node@v4
102+
with:
103+
node-version: '22'
104+
105+
- name: Install node-dump-syms
106+
run: |
107+
npm i -g node-dump-syms
108+
109+
- name: Upload Symbols for .so files
110+
if: github.ref == 'refs/heads/master'
111+
uses: BugSplat-Git/symbol-upload@main
112+
with:
113+
username: "${{ secrets.BUGSPLAT_USER }}"
114+
password: "${{ secrets.BUGSPLAT_PASSWORD }}"
115+
database: "${{ secrets.BUGSPLAT_DATABASE }}"
116+
application: "starcapp-linux"
117+
version: "${{ env.BUGSPLAT_VERSION }}"
118+
files: "**/*.so"
119+
directory: "src/_build"
120+
node-version: "22"
121+
dumpSyms: true
122+
123+
- name: Upload Symbols for starcapp
124+
if: github.ref == 'refs/heads/master'
125+
uses: BugSplat-Git/symbol-upload@main
126+
with:
127+
username: "${{ secrets.BUGSPLAT_USER }}"
128+
password: "${{ secrets.BUGSPLAT_PASSWORD }}"
129+
database: "${{ secrets.BUGSPLAT_DATABASE }}"
130+
application: "starcapp-linux"
131+
version: "${{ env.BUGSPLAT_VERSION }}"
132+
files: "starcapp"
133+
directory: "src/_build"
134+
node-version: "22"
135+
dumpSyms: true
136+
69137
- name: Make AppImage
70138
shell: bash
71139
run: |
@@ -106,12 +174,18 @@ jobs:
106174
if: github.event_name == 'pull_request'
107175
shell: bash
108176
run: |
109-
git submodule update --init --recursive src/3rd_party/qbreakpad/ src/3rd_party/pdfhummus/ src/3rd_party/pdftextextraction/
177+
git submodule update --init --recursive src/3rd_party/pdfhummus/ src/3rd_party/pdftextextraction/
110178
111179
- name: Add info about dev build to the env
112180
shell: bash
113181
run: |
114-
echo "DEV_BUILD=$(git rev-list `git rev-list --tags --no-walk --max-count=1`..HEAD --count)" >> $GITHUB_ENV
182+
DEV_BUILD=$(git rev-list `git rev-list --tags --no-walk --max-count=1`..HEAD --count)
183+
echo "DEV_BUILD=$DEV_BUILD" >> $GITHUB_ENV
184+
if [ "$DEV_BUILD" -gt "0" ]; then
185+
echo "BUGSPLAT_VERSION=${{env.APP_VERSION}} dev $DEV_BUILD-qt6" >> $GITHUB_ENV
186+
else
187+
echo "BUGSPLAT_VERSION=${{env.APP_VERSION}}-qt6" >> $GITHUB_ENV
188+
fi
115189
116190
- name: Install Qt
117191
uses: jurplel/install-qt-action@v3
@@ -124,7 +198,14 @@ jobs:
124198
shell: bash
125199
run: |
126200
sudo apt update
127-
sudo apt install libgstreamer-plugins-base1.0-0 cmake make pkg-config libx11-dev xcb libx11-xcb-dev libxkbcommon-x11-0 libxkbcommon-dev libgtk-3-dev sassc libfuse2 libxcb-cursor0
201+
sudo apt install libgstreamer-plugins-base1.0-0 cmake make pkg-config libx11-dev xcb libx11-xcb-dev libxkbcommon-x11-0 libxkbcommon-dev libgtk-3-dev sassc libfuse2 libxcb-cursor0 libcurl4-openssl-dev zlib1g-dev
202+
203+
- name: Build crashpad
204+
shell: bash
205+
run: |
206+
cd build
207+
chmod +x ./build_crashpad.sh
208+
./build_crashpad.sh
128209
129210
- name: Run QMake
130211
shell: bash
@@ -138,6 +219,61 @@ jobs:
138219
cd src
139220
make -j$(nproc)
140221
222+
- name: Setup Rust
223+
run: |
224+
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y
225+
source $HOME/.cargo/env
226+
echo "PATH=$PATH:$HOME/.cargo/bin" >> $GITHUB_ENV
227+
228+
- name: Verify Rust
229+
run: |
230+
source $HOME/.cargo/env
231+
cargo --version
232+
rustc --version
233+
234+
- name: Install dependencies for Node.js
235+
run: |
236+
sudo apt-get update
237+
sudo apt-get install -y python3
238+
npm install -g @mapbox/node-pre-gyp cargo-cp-artifact
239+
240+
- name: Setup Node.js
241+
uses: actions/setup-node@v4
242+
with:
243+
node-version: '22'
244+
245+
- name: Install node-dump-syms
246+
run: |
247+
npm i -g node-dump-syms
248+
249+
- name: Upload Symbols for .so files
250+
if: github.ref == 'refs/heads/master'
251+
uses: BugSplat-Git/symbol-upload@main
252+
with:
253+
username: "${{ secrets.BUGSPLAT_USER }}"
254+
password: "${{ secrets.BUGSPLAT_PASSWORD }}"
255+
database: "${{ secrets.BUGSPLAT_DATABASE }}"
256+
application: "starcapp-linux"
257+
version: "${{ env.BUGSPLAT_VERSION }}"
258+
files: "**/*.so"
259+
directory: "src/_build"
260+
node-version: "22"
261+
dumpSyms: true
262+
263+
- name: Upload Symbols for starcapp
264+
if: github.ref == 'refs/heads/master'
265+
uses: BugSplat-Git/symbol-upload@main
266+
with:
267+
username: "${{ secrets.BUGSPLAT_USER }}"
268+
password: "${{ secrets.BUGSPLAT_PASSWORD }}"
269+
database: "${{ secrets.BUGSPLAT_DATABASE }}"
270+
application: "starcapp-linux"
271+
version: "${{ env.BUGSPLAT_VERSION }}"
272+
files: "starcapp"
273+
directory: "src/_build"
274+
node-version: "22"
275+
dumpSyms: true
276+
141277
- name: Make AppImage
142278
shell: bash
143279
run: |

.github/workflows/build_starc_mac.yml

Lines changed: 61 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -35,19 +35,32 @@ jobs:
3535
if: github.event_name == 'pull_request'
3636
shell: bash
3737
run: |
38-
git submodule update --init --recursive src/3rd_party/qbreakpad/ src/3rd_party/pdfhummus/ src/3rd_party/pdftextextraction/
38+
git submodule update --init --recursive src/3rd_party/pdfhummus/ src/3rd_party/pdftextextraction/
3939
4040
- name: Add info about dev build to the env
4141
shell: bash
4242
run: |
43-
echo "DEV_BUILD=$(git rev-list `git rev-list --tags --no-walk --max-count=1`..HEAD --count)" >> $GITHUB_ENV
43+
DEV_BUILD=$(git rev-list `git rev-list --tags --no-walk --max-count=1`..HEAD --count)
44+
echo "DEV_BUILD=$DEV_BUILD" >> $GITHUB_ENV
45+
if [ "$DEV_BUILD" -gt "0" ]; then
46+
echo "BUGSPLAT_VERSION=${{env.APP_VERSION}} dev $DEV_BUILD-qt5" >> $GITHUB_ENV
47+
else
48+
echo "BUGSPLAT_VERSION=${{env.APP_VERSION}}-qt5" >> $GITHUB_ENV
49+
fi
4450
4551
- name: Install Qt
4652
uses: jurplel/install-qt-action@v4
4753
with:
4854
version: 5.15.2
4955
target: desktop
5056

57+
- name: Build crashpad
58+
shell: bash
59+
run: |
60+
cd build
61+
chmod +x ./build_crashpad.sh
62+
./build_crashpad.sh
63+
5164
- name: Run QMake
5265
shell: bash
5366
run: |
@@ -60,6 +73,22 @@ jobs:
6073
cd src
6174
make -j4
6275
76+
- name: Upload debug symbols
77+
if: github.ref == 'refs/heads/master'
78+
uses: BugSplat-Git/symbol-upload@main
79+
with:
80+
username: "${{ secrets.BUGSPLAT_USER }}"
81+
password: "${{ secrets.BUGSPLAT_PASSWORD }}"
82+
database: "${{ secrets.BUGSPLAT_DATABASE }}"
83+
application: "starcapp-mac"
84+
version: "${{ env.BUGSPLAT_VERSION }}"
85+
files: "**/*.dSYM"
86+
directory: "src/_build"
87+
node-version: "22"
88+
dumpSyms: false
89+
env:
90+
DEBUG: true
91+
6392
- name: Make dmg image
6493
shell: bash
6594
run: |
@@ -108,12 +137,18 @@ jobs:
108137
if: github.event_name == 'pull_request'
109138
shell: bash
110139
run: |
111-
git submodule update --init --recursive src/3rd_party/qbreakpad/ src/3rd_party/pdfhummus/ src/3rd_party/pdftextextraction/
140+
git submodule update --init --recursive src/3rd_party/pdfhummus/ src/3rd_party/pdftextextraction/
112141
113142
- name: Add info about dev build to the env
114143
shell: bash
115144
run: |
116-
echo "DEV_BUILD=$(git rev-list `git rev-list --tags --no-walk --max-count=1`..HEAD --count)" >> $GITHUB_ENV
145+
DEV_BUILD=$(git rev-list `git rev-list --tags --no-walk --max-count=1`..HEAD --count)
146+
echo "DEV_BUILD=$DEV_BUILD" >> $GITHUB_ENV
147+
if [ "$DEV_BUILD" -gt "0" ]; then
148+
echo "BUGSPLAT_VERSION=${{env.APP_VERSION}} dev $DEV_BUILD-qt6" >> $GITHUB_ENV
149+
else
150+
echo "BUGSPLAT_VERSION=${{env.APP_VERSION}}-qt6" >> $GITHUB_ENV
151+
fi
117152
118153
- name: Install Qt
119154
uses: jurplel/install-qt-action@v4
@@ -122,18 +157,39 @@ jobs:
122157
target: desktop
123158
modules: 'qt5compat qtmultimedia qtspeech qtwebsockets'
124159

160+
- name: Build crashpad
161+
shell: bash
162+
run: |
163+
cd build
164+
chmod +x ./build_crashpad.sh
165+
./build_crashpad.sh -u
166+
125167
- name: Run QMake
126168
shell: bash
127169
run: |
128170
cd src
129-
qmake starc.pro QMAKE_APPLE_DEVICE_ARCHS="x86_64 arm64" DEFINES+="DEV_BUILD=$DEV_BUILD"
171+
qmake starc.pro QMAKE_APPLE_DEVICE_ARCHS="x86_64 arm64" CRASHPAD_ARCH=universal DEFINES+="DEV_BUILD=$DEV_BUILD"
130172
131173
- name: Build
132174
shell: bash
133175
run: |
134176
cd src
135177
make -j4
136178
179+
- name: Upload debug symbols
180+
if: github.ref == 'refs/heads/master'
181+
uses: BugSplat-Git/symbol-upload@main
182+
with:
183+
username: "${{ secrets.BUGSPLAT_USER }}"
184+
password: "${{ secrets.BUGSPLAT_PASSWORD }}"
185+
database: "${{ secrets.BUGSPLAT_DATABASE }}"
186+
application: "starcapp-mac"
187+
version: "${{ env.BUGSPLAT_VERSION }}"
188+
files: "**/*.dSYM"
189+
directory: "src/_build"
190+
node-version: "22"
191+
dumpSyms: false
192+
137193
- name: Make dmg image
138194
shell: bash
139195
run: |

0 commit comments

Comments
 (0)