aboutsummaryrefslogtreecommitdiff
path: root/.github/workflows
diff options
context:
space:
mode:
authorStefan Boberg <[email protected]>2026-03-24 13:18:12 +0100
committerGitHub Enterprise <[email protected]>2026-03-24 13:18:12 +0100
commitfec7fea085968bb93291638fd6d8c037682595ec (patch)
tree1871b36ead5b8fea3db12a347e658344afedf572 /.github/workflows
parentrefactor hub notifications (#888) (diff)
downloadzen-fec7fea085968bb93291638fd6d8c037682595ec.tar.xz
zen-fec7fea085968bb93291638fd6d8c037682595ec.zip
Linux Crashpad fix (#890)
- **Replace crashpad static-libc++ patch file with `io.replace()` in `on_install`** — The old `.patch` file was fragile (trailing-whitespace stripping on Windows would silently break it). Using `io.replace()` in the xmake build script is more robust and easier to maintain. - **Skip sentry-native `on_test` link check on Linux** — The link test requires `-lc++abi` when building with the UE clang toolchain but adding it unconditionally breaks GCC/libstdc++ builds. The zenserver build itself validates that the library is usable. - **Add `crashpad-test.sh`** — A test script that launches a release zenserver, waits for the health endpoint, then verifies that `crashpad_handler` is running, no `sentry_init` failure was logged, and the handler has no dynamic `libc++.so.1` dependency. - **Add Crashpad Check step to Linux release CI** — Runs `crashpad-test.sh` in the `validate` workflow for release builds to catch crashpad regressions before merge.
Diffstat (limited to '.github/workflows')
-rw-r--r--.github/workflows/validate.yml6
1 files changed, 6 insertions, 0 deletions
diff --git a/.github/workflows/validate.yml b/.github/workflows/validate.yml
index 932020337..601f000fe 100644
--- a/.github/workflows/validate.yml
+++ b/.github/workflows/validate.yml
@@ -178,6 +178,12 @@ jobs:
run: |
xmake bundle -v -y
+ - name: Crashpad Check
+ if: ${{ matrix.config == 'release' }}
+ shell: bash
+ run: |
+ ./scripts/test_linux/crashpad-test.sh build/linux/${{ matrix.arch }}/release/zenserver
+
- name: Upload zenserver-linux
if: ${{ github.ref_name == 'main' && matrix.config == 'release' }}
uses: actions/upload-artifact@v3-node20