Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(STAFF-141096): Get latest changes of getsentry/sentry-native #18

Merged
merged 237 commits into from
Nov 12, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
237 commits
Select commit Hold shift + click to select a range
a84c10a
feat(tracing): Allow users to bind a transaction to the global scope …
relaxolotl Jan 7, 2022
f0e2276
feat(tracing): Basic span support with nesting (#634)
relaxolotl Jan 8, 2022
c6f35dd
feat(tracing): Retroactive unit test improvements (#637)
relaxolotl Jan 8, 2022
9b88510
fix(tracing): Actually set the operation on a transaction (#647)
relaxolotl Jan 11, 2022
3e4d3a4
fix: Read section names safely (#641)
Swatinem Jan 11, 2022
c5c31e5
fix: Revert to mmap-ing modules in the modulefinder (#642)
Swatinem Jan 11, 2022
cd50cca
tracing: Add transaction/span tag methods [NATIVE-442] (#626)
loewenheim Jan 11, 2022
3b72e6a
feat(tracing): Allow transaction renaming [NATIVE-438] (#651)
loewenheim Jan 12, 2022
c01555c
feat(tracing): Introduce structs for performance monitoring construct…
relaxolotl Jan 13, 2022
879ed59
ref(tracing): Update name of attached transaction in set_transaction …
loewenheim Jan 13, 2022
b6dc581
feat(tracing): Allow setting custom span status [NATIVE-441] (#648)
loewenheim Jan 13, 2022
047cf98
feat: basic object merging (#650)
Jan 14, 2022
0e94e49
feat(tracing): Spans now carry pointers to the Transactions they belo…
relaxolotl Jan 14, 2022
e39edcb
feat: Implement distributed trace propagation (NATIVE-304) (#657)
Swatinem Jan 18, 2022
dc1e864
fix: Correct CMake `SENTRY_LIBRARY_TYPE` variable check (#662)
Mixaill Jan 18, 2022
497636c
fix: Read Windows Version from Registry (#623)
Swatinem Jan 18, 2022
c4d8881
fix: Apply default rate limit (#660)
Swatinem Jan 19, 2022
02e0c5f
ref: Make API forward-compatible to Sampling Context (NATIVE-457) (#663)
Swatinem Jan 20, 2022
8cb3380
fix: Match sentry-trace header case-insensitively (#665)
Swatinem Jan 20, 2022
0fdac10
ref(tracing): Revert name change of sentry_transaction_start (#666)
loewenheim Jan 21, 2022
2e4314b
feat(tracing): Allow setting a scope on a span (#667)
loewenheim Jan 24, 2022
ef36a87
fix(tracing): Set max spans to the default amount when tracing is ena…
relaxolotl Jan 24, 2022
55c07c9
feat: Add explicit flush method/hook (NATIVE-111) (#670)
Swatinem Jan 25, 2022
98cefcf
feat(tracing): Always create spans even if they're unsampled (#668)
relaxolotl Jan 25, 2022
c191937
test: Add integration test for envelope with transaction (#671)
Jan 27, 2022
9b2afa9
release: 0.4.14
getsentry-bot Jan 28, 2022
48d9ac1
meta: Manually draft a more detailed Changelog
Swatinem Jan 28, 2022
0c5dd44
Merge branch 'release/0.4.14'
Jan 28, 2022
f2aedbd
ref: Optimize JSON formatting (ISSUE-1379) (#674)
Swatinem Jan 31, 2022
ac839c2
fix: Correctly apply contexts from the scope (#676)
Swatinem Feb 10, 2022
c53b299
release: 0.4.15
getsentry-bot Feb 10, 2022
bd15af5
Merge branch 'release/0.4.15'
Feb 10, 2022
a51ccbb
feat: Include performance monitoring by default in experimental API, …
relaxolotl Feb 14, 2022
4d9668e
feat: Set special `SENTRY_SDK_NAME` for Android (#677)
bruno-garcia Feb 15, 2022
e3c4fc9
fix: Compile correct files for iOS breakpad exception_handler (#683)
zhaowq32 Feb 28, 2022
47d0156
chore: list the libraries required to run tests (#684)
vaind Mar 8, 2022
15a1229
feat: SDK name override (#686)
vaind Mar 9, 2022
9eecb1b
Feat: Crashed last run (#685)
vaind Mar 9, 2022
7d2a4b6
ref/ci: Update black as well as Windows jobs to unbreak CI (#691, #692)
relaxolotl Mar 30, 2022
f6eda12
ref: Switch the internal representation of project IDs from ints over…
relaxolotl Mar 30, 2022
b4fd39b
meta: Update break/crashpad to 2022-04-12 (NATIVE-506) (#696)
Swatinem Apr 12, 2022
c5fccbe
meta: Update changelog for release (#697)
Swatinem Apr 12, 2022
9e12f81
feat: More aggressively prune the Crashpad database (#698)
Swatinem Apr 13, 2022
c85295c
release: 0.4.16
getsentry-bot Apr 13, 2022
cb3bb3f
Merge branch 'release/0.4.16'
Apr 21, 2022
d05f060
Fix library-only build with no examples. (#702)
AenBleidd Apr 21, 2022
c36b04b
chore: Update changelog (#703)
relaxolotl Apr 21, 2022
5500192
release: 0.4.17
getsentry-bot Apr 21, 2022
1367ca6
meta(gha): Deploy action enforce-license-compliance.yml (#704)
chadwhitacre Apr 22, 2022
bd56100
Merge branch 'release/0.4.17'
Apr 22, 2022
0c52b8f
chore: Update logo for dark or light theme (#709)
mattjohnsonpint May 4, 2022
0a498e3
feat: Allow disabling of the crash-handler backend at runtime. (#717)
supervacuus May 20, 2022
6694b19
fix: Only consider completed crash-reports for session status (#719)
supervacuus May 30, 2022
939dff3
feat: API to add a stack trace to an exception or thread (#723)
supervacuus Jun 14, 2022
2d53a5a
feat: Capture registers with inproc backend (FEEDBACK-1413) (#714)
Swatinem Jun 14, 2022
b091b76
feat: Add run-time version info (#726)
olback Jun 15, 2022
3e05e16
deps: Update Break/Crashpad to 2022-06-14 (#725)
Swatinem Jun 17, 2022
ff5bfcf
release: 0.4.18
getsentry-bot Jun 20, 2022
3d47d6e
Merge branch 'release/0.4.18'
Jun 20, 2022
6531a26
ref(session): align processing sequence in sentry__capture_event() wi…
supervacuus Jul 1, 2022
f32330b
fix: Make Windows ModuleFinder more resilient to missing Debug Info (…
Swatinem Jul 1, 2022
bdd4c3d
feat: invoke on_crash when handling a crash (#724)
espkk Jul 1, 2022
6ac1404
ref(on_crash): follow-up to make on_crash releasable (#734)
supervacuus Jul 27, 2022
2ca30df
ref: Terminate from crashpad handler with sensible return code (#738)
supervacuus Jul 28, 2022
4a41476
fix: align default value for `environment` payload attribute with... …
supervacuus Aug 1, 2022
666dbc1
chore: update changelog with #739 (#741)
supervacuus Aug 1, 2022
4890a30
fix: Iterate all debug directory entries (#740)
Swatinem Aug 1, 2022
b124224
ci: Bump compiler and OS versions (#742)
Swatinem Aug 1, 2022
b99ffeb
release: 0.5.0
getsentry-bot Aug 1, 2022
87e67ad
fix: linter complaint after version bump.
supervacuus Aug 1, 2022
58cbac4
Merge branch 'release/0.5.0'
Aug 2, 2022
b0fab10
feat: Update Crashpad and register WER handler (#735)
Swatinem Sep 15, 2022
5962300
ci: add danger workflow (#751)
vaind Sep 21, 2022
b1fbfe2
fix: Be more defensive around transactions (#757)
Swatinem Sep 29, 2022
40c3535
chore: update libunwindstack-ndk submodule (#759)
supervacuus Oct 7, 2022
366193f
fix: define a timeout for android sim start (#764)
supervacuus Oct 17, 2022
736dfc5
fix: Do not shut down winhttp transport on flush (#763)
Swatinem Oct 17, 2022
1a4c7c1
release: 0.5.1
getsentry-bot Oct 17, 2022
4e6ecac
Merge branch 'release/0.5.1'
Oct 17, 2022
1b7c8e7
chore: update crashpad + breakpad 2022-10-17 (#765)
supervacuus Oct 19, 2022
fbab203
chore: Update changelog with community contributions (#766)
supervacuus Oct 19, 2022
28be51f
release: 0.5.2
getsentry-bot Oct 19, 2022
6d235b1
Merge branch 'release/0.5.2'
Oct 20, 2022
e5eeb79
ci: Update actions to get rid of deprecated... (#767)
supervacuus Oct 21, 2022
d380374
ci: upgrade ubuntu for old gcc job (#768)
supervacuus Oct 24, 2022
4b546ac
Search code-id in ".note" ELF sections (#775)
supervacuus Dec 7, 2022
a6e1ee3
release: 0.5.3
getsentry-bot Dec 7, 2022
1e1b8f0
Merge branch 'release/0.5.3'
Dec 7, 2022
bf4c56a
Cover code-id from ELF section with test case (#776)
supervacuus Dec 9, 2022
8a68b58
fix: better error messages in `sentry_transport_curl` (#777)
supervacuus Dec 12, 2022
ed0a62d
Update pads 2022-12-12 (#778)
supervacuus Dec 16, 2022
1f27ce5
fix: increase curl headers buffer size to 512 (#784)
cnicolaescu Jan 9, 2023
57701f8
fix: avoid race condition when starting bgw thread (#785)
cnicolaescu Jan 9, 2023
4d8627e
fix: open the file lock on "UNIX" with O_RDRW (#791)
supervacuus Jan 26, 2023
938b6dd
Cleanup pre-release changelog (#793)
supervacuus Jan 26, 2023
63699d7
release: 0.5.4
getsentry-bot Jan 26, 2023
1744de8
Merge branch 'release/0.5.4'
Jan 26, 2023
19df84a
fix: explicit breakpad C++17 dependency (#800)
supervacuus Jan 31, 2023
a11a107
feat: Allow ending a session with a different status code (#801)
ShawnCZek Feb 2, 2023
3d75dc6
Fixes for mingw builds (+ ARM64) (#794)
past-due Feb 4, 2023
596260c
chore: sync with recent crashpad changes (#803)
supervacuus Feb 7, 2023
41487ca
ci: Add llvm-mingw (#797)
past-due Feb 7, 2023
d82af0a
fix: use void for all empty parameter-lists in C functions (#804)
supervacuus Feb 8, 2023
4cbeefc
chore: update breakpad 2023-02-08 (#805)
supervacuus Feb 13, 2023
80831d4
fix: Add a linker script to enforce exported symbols (#363)
Swatinem Feb 13, 2023
c9b03a6
chore: update libunwindstack 2023-02-09 (#807)
supervacuus Feb 13, 2023
22b9b93
release: 0.6.0
getsentry-bot Feb 13, 2023
88d3672
Merge branch 'release/0.6.0'
Feb 14, 2023
7abe8d1
fix: Remove OpenSSL dependency for the crashpad backend on Linux (#812)
supervacuus Feb 28, 2023
1f14ef0
fix: check for libcurl version and feature AsynchDNS (#813)
supervacuus Mar 6, 2023
903c17a
Allow setting CRASHPAD_WER_ENABLED when using system crashpad (#816)
Cyriuz Mar 13, 2023
694f055
Add conan, nix and vcpkg badge (#795)
MartinDelille Mar 25, 2023
81f8130
Pre-release changelog update (#825)
supervacuus Mar 28, 2023
4410f90
release: 0.6.1
getsentry-bot Mar 28, 2023
436627a
fix: register with_crashpad_wer marker to get rid of the pytest warni…
supervacuus Mar 28, 2023
1788653
Merge branch 'release/0.6.1'
Mar 28, 2023
e97930a
feat: extend API with ptr/len-string interfaces (#827)
supervacuus Apr 25, 2023
daf2d1c
Allow setting sdk_name at runtime (#834)
markushi Apr 28, 2023
b1f034b
release: 0.6.2
getsentry-bot May 2, 2023
a4f6b94
Merge branch 'release/0.6.2'
May 2, 2023
1fb06c2
chore: update crashpad 2023-05-03 (#837)
supervacuus May 4, 2023
d30e96d
chore: update breakpad 2023-05-03 (#836)
supervacuus May 8, 2023
6011498
feat: disable PC adjustment in the backend for libunwindstack (#839)
supervacuus May 9, 2023
6c76f58
feat: inspect/enrich event in crashpad backend (#843)
supervacuus May 16, 2023
ad3c988
feat: crashpad handler http-proxy support (#847)
supervacuus May 27, 2023
58054bc
release: 0.6.3
getsentry-bot May 30, 2023
f499a45
Merge branch 'release/0.6.3'
May 30, 2023
81572fe
Fix compiler error with msvc on non-unicode system (#846)
xyz1001 Jun 15, 2023
302c9f9
crashpad_handler: log body if minidump endpoint response is not OK (#…
supervacuus Jun 15, 2023
8ce6639
chore: add top-level install directories to gitignore (#855)
supervacuus Jun 22, 2023
adb2689
fix: use default level FATAL for crash events in all backends (#852)
bitsandfoxes Jun 23, 2023
c08cdee
release: 0.6.4
getsentry-bot Jun 23, 2023
2aa321b
Merge branch 'release/0.6.4'
Jun 23, 2023
1a7184b
test: assert crash-level fatal in integration tests (#856)
supervacuus Jun 27, 2023
e340df1
fix: deadlock in dynamic sdk-name scope init... (#858)
supervacuus Jul 3, 2023
79899a8
release: 0.6.5
getsentry-bot Jul 5, 2023
eb57650
Merge branch 'release/0.6.5'
Jul 5, 2023
99789b3
Update README.md (#862)
HazAT Jul 7, 2023
6de2b98
fix: conan-badge link in README.md (#867)
supervacuus Jul 28, 2023
d9e9019
Add docs link to readme (#868)
markushi Jul 31, 2023
b2c2ee0
docs: clarify behavior of sentry_flush + sentry_close (#883)
sapphonie Sep 13, 2023
d4f8268
chore: update libunwindstack 2023-09-13 (#884)
supervacuus Sep 14, 2023
4282e51
chore: update crashpad 2023 09 28 (#891)
supervacuus Oct 2, 2023
f94b928
chore: update breakpad 2023-10-02 (#892)
supervacuus Oct 2, 2023
c97bcc6
release: 0.6.6
getsentry-bot Oct 9, 2023
406d418
Merge branch 'release/0.6.6'
Oct 9, 2023
1040b51
fix: stuck crashpad_client on windows (#902)
supervacuus Nov 10, 2023
02fe0c4
fix: disable sigaltstack on Android (#901)
supervacuus Nov 10, 2023
fcd97cd
ci: change emulator boot-condition for android tests (#904)
supervacuus Nov 12, 2023
a3d5862
release: 0.6.7
getsentry-bot Nov 12, 2023
9901c01
Merge branch 'release/0.6.7'
Nov 13, 2023
671acff
fix: Maintain client in crashpad state (#910)
supervacuus Nov 28, 2023
d88cd76
chore: update crashpad 2023-11-24 (#912)
supervacuus Nov 28, 2023
0b17731
fix: crashpad build for Windows on ARM64 (#919)
supervacuus Dec 6, 2023
613f470
Remove options memory leak during consent setting (#922)
stima Dec 12, 2023
00061be
fix: specify correct dependencies for CMake client projects... (#926)
supervacuus Dec 19, 2023
164da79
build: make crashpad the default backend on Linux (#927)
supervacuus Dec 20, 2023
8c748b4
fix: remove the SENTRY_CRASHPAD_SYSTEM build option (#928)
supervacuus Jan 8, 2024
b8fadf9
include <windows.h> to ensure that sentry.h is modularized correctly …
hyp Jan 9, 2024
4ec95c0
release: 0.7.0
getsentry-bot Jan 9, 2024
9ea6090
Merge branch 'release/0.7.0'
Jan 9, 2024
5596cbb
build: remove obsolete CRASHPAD_WER_ENABLED (#950)
supervacuus Feb 14, 2024
0043edf
docs: provide example for breadcrumb data property (#951)
supervacuus Feb 15, 2024
2ae5de6
chore: add note about experimental state of standalone SDK (#952)
kahest Feb 16, 2024
8f26229
ci: build zlib for mingw (#964)
supervacuus Mar 14, 2024
e812e7c
fix: failing clang-asan/llvm-cov tests (#965)
supervacuus Mar 15, 2024
9b1bc43
build(deps): bump black from 24.2.0 to 24.3.0 in /tests (#967)
dependabot[bot] Mar 21, 2024
fda2a37
Add user feedback capability to the Native SDK (#966)
tustanivsky Mar 21, 2024
9bc0fc7
release: 0.7.1
getsentry-bot Mar 22, 2024
f4b9cfa
Merge branch 'release/0.7.1'
Mar 22, 2024
9f9436a
feat: add gzip transport encoding (#954)
Strive-Sun Mar 22, 2024
fda905a
fix: exclude custom_logger from transport test-suite (#968)
supervacuus Mar 25, 2024
0a11dc0
fix: Linux build targeting RISC-V (#972)
jwinarske Mar 29, 2024
aa32df6
test: integration-tests for transport compression (#969)
supervacuus Apr 2, 2024
004402c
feat: enable automatic MIME detection for crashpad attachments. (#973)
supervacuus Apr 2, 2024
0f1d664
release: 0.7.2
getsentry-bot Apr 2, 2024
55b6761
Merge branch 'release/0.7.2'
Apr 3, 2024
4df5326
docs: Add SENTRY_TRANSPORT_COMPRESSION to the README (#976)
AenBleidd Apr 4, 2024
dc43150
fix: allow crashpad to run with Epic's Anti-Cheat client. (#980)
supervacuus Apr 15, 2024
46456ca
fix: android test emulator start-script (#984)
supervacuus May 6, 2024
97b9c76
fix: store transaction `data` in event `extra` (#986)
supervacuus May 8, 2024
6544650
Move NDK from sentry-java to sentry-native (#944)
markushi May 22, 2024
2bd129a
fix: correctly support stack overflows across platforms (#982)
supervacuus May 22, 2024
45ff2e8
Fix path to ndk module (#990)
markushi May 22, 2024
a880e2d
Ensure the proper artifacts are uploaded to gcs/maven (#992)
markushi May 23, 2024
c3c26b1
release: 0.7.4
getsentry-bot May 23, 2024
94bd6fa
Add missing .mvn wrapper
markushi May 23, 2024
0be2fdf
Merge branch 'release/0.7.4'
May 23, 2024
235f837
feat: change the timestamp resolution to microseconds (#995)
supervacuus May 27, 2024
3f3a880
ci: update GHA deps to non-deprecated versions (#993)
supervacuus May 28, 2024
c563b68
Use static STL, hide it from prefab (#996)
markushi May 28, 2024
42168d7
release: 0.7.5
getsentry-bot May 28, 2024
f2bac96
Merge branch 'release/0.7.5'
May 28, 2024
e8c7f15
fix: point crashpad submodule to getsentry branch (#1000)
supervacuus May 28, 2024
a05b260
fix: crashpad build for Windows ARM64 via LLVM-MINGW (#1003)
past-due Jun 5, 2024
0de14cc
Ensure `crashpad` targets are included when building as a shared libr…
podlaszczyk Jun 11, 2024
1010a53
fix: replace find_package() with find_dependency() in crashpad config…
supervacuus Jun 12, 2024
37bf733
release: 0.7.6
getsentry-bot Jun 12, 2024
24ef997
Merge branch 'release/0.7.6'
Jun 12, 2024
bb55035
docs: reflect Linux default backend in README.md (#1009)
supervacuus Jun 14, 2024
05af04b
chore: Update crashpad to 2024-06-11 (#1014)
supervacuus Jun 26, 2024
6beae6b
fix: further dependency export cleanup (#1013)
supervacuus Jun 26, 2024
e58b655
fix: crashpad scope flushing synchronization (#1019)
supervacuus Jul 23, 2024
7e00527
fix: user-feedback comment guard (#1020)
supervacuus Jul 24, 2024
253fc54
release: 0.7.7
getsentry-bot Jul 25, 2024
d11589b
Merge branch 'release/0.7.7'
Jul 25, 2024
45fa26b
feat: stream envelope directly to file (#1021)
supervacuus Jul 30, 2024
131a1ee
ci: introduce codecov token (#1025)
supervacuus Aug 1, 2024
1cf8a33
feat: support 16kb page size on Android 15 (#1028)
supervacuus Aug 6, 2024
f44ab0b
release: 0.7.8
getsentry-bot Aug 7, 2024
a762b23
Merge branch 'release/0.7.8'
Aug 7, 2024
58c3286
fix: check file-writer construction when writing envelope to path (#1…
supervacuus Aug 28, 2024
2a88542
release: 0.7.9
getsentry-bot Aug 28, 2024
5a86084
Merge branch 'release/0.7.9'
Aug 28, 2024
4c47d97
Update bug_report.md
kahest Aug 29, 2024
a6ba26e
fix: timestamp resolution to microseconds on Windows (#1039)
ShawnCZek Sep 3, 2024
811b9cd
release: 0.7.10
getsentry-bot Sep 23, 2024
168d1dd
ci: isolate version-string from formatting
supervacuus Sep 23, 2024
dbb9580
Merge branch 'release/0.7.10'
Sep 23, 2024
65bfb62
feat: check validity of trace- and span-id in context update from hea…
JoshuaMoelans Oct 7, 2024
f0d2a66
build: add `-DisableCapture` switch to Windows test-runner (#1048)
supervacuus Oct 8, 2024
21c6d0a
fix: adjusted memcpy size param to match remaining destination size (…
JoshuaMoelans Oct 9, 2024
b555a97
fix: look up `GetSystemTime()` implementations at runtime. (#1051)
supervacuus Oct 14, 2024
0dbf198
fix: don't fail `crashpad` startup on invalid `DSN` (#1059)
JoshuaMoelans Oct 24, 2024
66e5aae
Setup CodeQL (#1058)
markushi Oct 24, 2024
c6aca87
ci: cancel in-progress workflow runs on same branch (#1061)
supervacuus Oct 28, 2024
a0663a6
fix: remove a potential overflow before conversion (#1062)
supervacuus Oct 28, 2024
33739b5
release: 0.7.11
getsentry-bot Oct 28, 2024
b598af0
Merge branch 'release/0.7.11'
Oct 28, 2024
3244b9e
chore: add clang-format to venv (#1066)
vaind Nov 1, 2024
341a64f
chore: precommit hook must not check deleted or renamed files (#1071)
vaind Nov 4, 2024
ffdf6ed
feat: add breadcrumb ringbuffer to avoid O(n) memmove (#1060)
JoshuaMoelans Nov 4, 2024
d61acdd
feat: expose function to send minidumps (#1067)
vaind Nov 4, 2024
ad6df21
docs: clarify macOS support of the `inproc` backend (#1072)
supervacuus Nov 4, 2024
683201f
ci: replace macos-12 action runners (#1073)
supervacuus Nov 5, 2024
bf14b85
release: 0.7.12
getsentry-bot Nov 5, 2024
d241dbc
Merge branch 'release/0.7.12'
Nov 5, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 12 additions & 0 deletions .craft.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,9 @@ targets:
- name: registry
sdks:
github:getsentry/sentry-native:
maven:io.sentry:sentry-native-ndk:
- name: gcs
includeNames: /^(sentry-native\.zip)$/
bucket: sentry-sdk-assets
paths:
- path: /sentry-native/{{version}}/
Expand All @@ -14,5 +16,15 @@ targets:
- path: /sentry-native/latest/
metadata:
cacheControl: public, max-age=600
- name: maven
includeNames: /^(sentry-native-ndk-).*\.zip$/
mavenCliPath: scripts/mvnw
mavenSettingsPath: scripts/settings.xml
mavenRepoId: ossrh
mavenRepoUrl: https://oss.sonatype.org/service/local/staging/deploy/maven2/
android:
distDirRegex: /^(sentry-native-ndk).*$/
fileReplaceeRegex: /\d+\.\d+\.\d+(-\w+(\.\d+)?)?(-SNAPSHOT)?/
fileReplacerStr: release.aar
requireNames:
- /^sentry-native.zip$/
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
name: Bug report
about: Create a report to help us improve
title: ""
labels: ""
labels: "Platform: Native"
assignees: ""
---

Expand Down
180 changes: 115 additions & 65 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,21 +5,29 @@ on:
branches:
- master
- "release/**"
paths-ignore:
- "*.md"
pull_request:
paths-ignore:
- "*.md"

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

jobs:
lint:
name: Lint
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v4
- run: make style

build-ios:
name: Xcode Build for iOS
runs-on: macos-latest
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v4
with:
submodules: "recursive"
- run: |
Expand All @@ -31,125 +39,148 @@ jobs:
fail-fast: false
matrix:
include:
- name: Linux (gcc 7, 32-bit)
os: ubuntu-18.04
- name: Linux (GCC 7, 32-bit)
os: ubuntu-20.04
CC: gcc-7
CXX: g++-7
TEST_X86: 1
- name: Linux (gcc 10)
os: ubuntu-20.04
CC: gcc-10
CXX: g++-10
- name: Linux (GCC 12)
os: ubuntu-22.04
CC: gcc-12
CXX: g++-12
# ERROR_ON_WARNINGS: 1
# The GCC analyzer 10.0.1 (as on CI) has an internal compiler error
# currently, and is not stable enough to activate.
# RUN_ANALYZER: gcc
- name: Linux (clang 11 + asan + llvm-cov)
os: ubuntu-20.04
CC: clang-11
CXX: clang++-11
- name: Linux (clang 15 + asan + llvm-cov)
os: ubuntu-22.04
CC: clang-15
CXX: clang++-15
ERROR_ON_WARNINGS: 1
RUN_ANALYZER: asan,llvm-cov
- name: Linux (clang 11 + kcov)
os: ubuntu-20.04
CC: clang-11
CXX: clang++-11
- name: Linux (clang 15 + kcov)
os: ubuntu-22.04
CC: clang-15
CXX: clang++-15
ERROR_ON_WARNINGS: 1
RUN_ANALYZER: kcov
- name: Linux (code-checker + valgrind)
os: ubuntu-20.04
- name: Linux (gcc 12 + code-checker + valgrind)
os: ubuntu-22.04
RUN_ANALYZER: code-checker,valgrind
- name: macOS (xcode llvm)
os: macOs-latest
- name: macOS 14 (xcode llvm)
os: macos-14
ERROR_ON_WARNINGS: 1
SYSTEM_VERSION_COMPAT: 0
- name: macOS 13 (xcode llvm)
os: macos-13
ERROR_ON_WARNINGS: 1
SYSTEM_VERSION_COMPAT: 0
- name: macOS (xcode llvm + universal)
os: macOs-latest
- name: macOS 14 (xcode llvm + universal)
os: macos-14
ERROR_ON_WARNINGS: 1
SYSTEM_VERSION_COMPAT: 0
CMAKE_DEFINES: -DCMAKE_OSX_ARCHITECTURES=arm64;x86_64
- name: macOS (clang 11 + asan + llvm-cov)
os: macOs-latest
- name: macOS 15 (clang 18 + asan + llvm-cov)
os: macos-15-large
CC: clang
CXX: clang++
ERROR_ON_WARNINGS: 1
SYSTEM_VERSION_COMPAT: 0
RUN_ANALYZER: asan,llvm-cov
- name: Windows (VS2017, 32bit)
os: vs2017-win2016
- name: Windows (old VS, 32-bit)
os: windows-2019
TEST_X86: 1
- name: Windows (latest)
os: windows-latest
- name: LLVM-Mingw
os: windows-latest
TEST_MINGW: 1
MINGW_PKG_PREFIX: x86_64-w64-mingw32
MINGW_ASM_MASM_COMPILER: llvm-ml;-m64
# The Android emulator is currently only available on macos, see:
# https://docs.microsoft.com/en-us/azure/devops/pipelines/ecosystems/android?view=azure-devops#test-on-the-android-emulator
- name: Android (API 16, NDK 20)
os: macOs-latest
ANDROID_API: 16
ANDROID_NDK: 20.1.5948944
- name: Android (API 30, NDK 22)
os: macOs-latest
ANDROID_API: 30
ANDROID_NDK: 22.1.7171670
# TODO: switch to reactivecircus/android-emulator-runner, concurrently running emulators continuously fail now.
# - name: Android (API 31, NDK 23)
# os: macos-15-large
# ANDROID_API: 31
# ANDROID_NDK: 23.2.8568313
# ANDROID_ARCH: x86_64
- name: Android (API 35, NDK 27)
os: macos-15-large
ANDROID_API: 35
ANDROID_NDK: 27.2.12479018
ANDROID_ARCH: x86_64

name: ${{ matrix.name }}
runs-on: ${{ matrix.os }}

env:
TEST_X86: ${{ matrix.TEST_X86 }}
TEST_MINGW: ${{ matrix.TEST_MINGW }}
ERROR_ON_WARNINGS: ${{ matrix.ERROR_ON_WARNINGS }}
RUN_ANALYZER: ${{ matrix.RUN_ANALYZER }}
ANDROID_API: ${{ matrix.ANDROID_API }}
ANDROID_NDK: ${{ matrix.ANDROID_NDK }}
ANDROID_ARCH: ${{ matrix.ANDROID_ARCH }}
CMAKE_DEFINES: ${{ matrix.CMAKE_DEFINES }}
SYSTEM_VERSION_COMPAT: ${{ matrix.SYSTEM_VERSION_COMPAT }}

steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v4
with:
submodules: recursive
- uses: actions/setup-python@v2
- uses: actions/setup-python@v5
with:
python-version: "3.11"
cache: "pip"

- name: Installing Linux Dependencies
if: ${{ runner.os == 'Linux' && !env['TEST_X86'] }}
# workaround: https://github.com/actions/virtual-environments/issues/1536#issuecomment-698537248
run: |
wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key 2>/dev/null | sudo apt-key add -
sudo add-apt-repository 'deb http://apt.llvm.org/focal/ llvm-toolchain-focal-11 main' -y
sudo apt update
sudo apt install cmake clang-11 clang-tools llvm kcov g++-10 valgrind zlib1g-dev libcurl4-openssl-dev
sudo apt install cmake clang-14 clang-tools llvm kcov g++-12 valgrind zlib1g-dev libcurl4-openssl-dev

- name: Installing Linux 32-bit Dependencies
if: ${{ runner.os == 'Linux' && env['TEST_X86'] }}
run: |
sudo dpkg --add-architecture i386
sudo apt update
sudo apt install cmake gcc-multilib g++-multilib zlib1g-dev:i386 libssl-dev:i386 libcurl4-openssl-dev:i386
sudo apt install cmake gcc-7-multilib g++-7-multilib zlib1g-dev:i386 libssl-dev:i386 libcurl4-openssl-dev:i386

# https://github.com/actions/runner-images/issues/9491
- name: Decrease vm.mmap_rnd_bit to prevent ASLR ASAN issues
if: ${{ runner.os == 'Linux' && contains(env['RUN_ANALYZER'], 'asan') }}
run: sudo sysctl vm.mmap_rnd_bits=28

- name: Installing CodeChecker
if: ${{ contains(env['RUN_ANALYZER'], 'code-checker') }}
run: |
sudo apt install clang-tidy curl doxygen gcc-multilib libxml2-dev libxslt1-dev python3-dev python3-virtualenv
git clone https://github.com/Ericsson/CodeChecker.git --depth 1 --branch v6.15.0
cd CodeChecker
BUILD_LOGGER_64_BIT_ONLY=YES BUILD_UI_DIST=NO make standalone_package
echo "$PWD/build/CodeChecker/bin" >> $GITHUB_PATH
run: sudo snap install codechecker --classic

- name: Expose llvm PATH for Mac
- name: Expose llvm@15 PATH for Mac
if: ${{ runner.os == 'macOS' }}
run: echo "/usr/local/opt/llvm/bin/" >> $GITHUB_PATH

- name: Installing Android SDK Dependencies
if: ${{ env['ANDROID_API'] }}
run: |
export ANDROID_IMAGE="system-images;android-$ANDROID_API;google_apis;x86"
echo "Downloading ndk;$ANDROID_NDK and $ANDROID_IMAGE"
echo "y" | $ANDROID_HOME/tools/bin/sdkmanager --install \
"ndk;$ANDROID_NDK" "$ANDROID_IMAGE" | \
grep -v "\[=" || true # suppress the progress bar, so we get meaningful logs
run: echo $(brew --prefix llvm@15)/bin >> $GITHUB_PATH

- name: Expose llvm@18 PATH for Mac
if: ${{ runner.os == 'macOS' && matrix.os == 'macos-15-large' && matrix.RUN_ANALYZER == 'asan,llvm-cov' }}
run: echo $(brew --prefix llvm@18)/bin >> $GITHUB_PATH

- name: Installing LLVM-MINGW Dependencies
if: ${{ runner.os == 'Windows' && env['TEST_MINGW'] }}
shell: powershell
env:
MINGW_PKG_PREFIX: ${{ matrix.MINGW_PKG_PREFIX }}
MINGW_ASM_MASM_COMPILER: ${{ matrix.MINGW_ASM_MASM_COMPILER }}
run: . "scripts\install-llvm-mingw.ps1"

- name: Set up zlib for Windows
if: ${{ runner.os == 'Windows' }}
shell: powershell
run: . "scripts\install-zlib.ps1"

- name: Starting Android Simulator
if: ${{ env['ANDROID_API'] }}
run: bash scripts/start-android.sh
timeout-minutes: 20

- name: Test
shell: bash
Expand All @@ -161,9 +192,12 @@ jobs:

- name: "Upload to codecov.io"
if: ${{ contains(env['RUN_ANALYZER'], 'cov') }}
uses: codecov/codecov-action@v1
uses: codecov/codecov-action@e28ff129e5465c2c0dcc6f003fc735cb6ae0c673 # pin@v4.5.0
with:
directory: coverage
token: ${{ secrets.CODECOV_TOKEN }}
fail_ci_if_error: false
verbose: true

archive:
name: Create Release Archive
Expand All @@ -173,19 +207,35 @@ jobs:
# run on master or the release branch
if: ${{ needs.test.result == 'success' && github.event_name == 'push' }}
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v4
with:
submodules: recursive

- name: Setup Java Version
uses: actions/setup-java@v4
with:
distribution: "temurin"
java-version: "17"

- name: Setup Gradle
uses: gradle/actions/setup-gradle@579fbbe7221704325eb4c4d4bf20c2b0859fba76 # pin@v3
with:
gradle-home-cache-cleanup: true

- name: Create source archive
run: |
rm -rf build .c* .e* .git* scripts Makefile external/breakpad/src/tools external/breakpad/src/processor
zip -r sentry-native.zip .

- name: Upload source artifact
uses: actions/upload-artifact@v2
- name: Build NDK artifacts
working-directory: ndk
run: ./gradlew clean distZip

- name: Upload artifacts
uses: actions/upload-artifact@v4
with:
name: ${{ github.sha }}
# When downloading artifacts, they are double-zipped:
# https://github.com/actions/upload-artifact#zipped-artifact-downloads
path: sentry-native.zip
if-no-files-found: error
path: |
ndk/lib/build/distributions/*.zip
sentry-native.zip
67 changes: 67 additions & 0 deletions .github/workflows/codeql.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
name: 'CodeQL'

on:
push:
branches: [master]
pull_request:
# The branches below must be a subset of the branches above
branches: [master]
schedule:
- cron: '17 23 * * 3'

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

jobs:
analyze:
name: Analyze
runs-on: ubuntu-latest

strategy:
fail-fast: false
matrix:
language: ['cpp', 'java']

steps:
- name: Checkout Repo
uses: actions/checkout@v4
with:
submodules: 'recursive'

- name: Initialize CodeQL
uses: github/codeql-action/init@c36620d31ac7c881962c3d9dd939c40ec9434f2b # pin@v2
with:
languages: ${{ matrix.language }}

- name: Installing Linux Dependencies
run: |
sudo apt update
sudo apt install cmake clang-14 clang-tools llvm kcov g++-12 valgrind zlib1g-dev libcurl4-openssl-dev

- if: matrix.language == 'java'
name: Setup Java Version
uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: '17'

- if: matrix.language == 'java'
name: Setup Gradle
uses: gradle/actions/setup-gradle@bb0c460cbf5354b0cddd15bacdf0d6aaa3e5a32b # pin@v3
with:
gradle-home-cache-cleanup: true

- if: matrix.language == 'java'
name: Build for Android NDK
working-directory: ./ndk
run: |
./gradlew compileJava

- if: matrix.language == 'cpp'
name: Build sentry-native
run: |
cmake -B build -DCMAKE_BUILD_TYPE=RelWithDebInfo && cmake --build build --parallel

- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@c36620d31ac7c881962c3d9dd939c40ec9434f2b # pin@v2
Loading