Skip to content

Commit 8cfedab

Browse files
merge master
2 parents 5320db8 + bf0a683 commit 8cfedab

File tree

112 files changed

+12003
-2089
lines changed

Some content is hidden

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

112 files changed

+12003
-2089
lines changed

.claude/settings.json

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
{
2+
"permissions": {
3+
"allow": [
4+
"Bash(find:*)",
5+
"Bash(ls:*)",
6+
"Bash(git:*)",
7+
"Bash(git status:*)",
8+
"Bash(git log:*)",
9+
"Bash(git diff:*)",
10+
"Bash(git show:*)",
11+
"Bash(git branch:*)",
12+
"Bash(git remote:*)",
13+
"Bash(git tag:*)",
14+
"Bash(git stash list:*)",
15+
"Bash(git rev-parse:*)",
16+
"Bash(gh pr view:*)",
17+
"Bash(gh pr list:*)",
18+
"Bash(gh pr checks:*)",
19+
"Bash(gh pr diff:*)",
20+
"Bash(gh issue view:*)",
21+
"Bash(gh issue list:*)",
22+
"Bash(gh run view:*)",
23+
"Bash(gh run list:*)",
24+
"Bash(gh run logs:*)",
25+
"Bash(gh repo view:*)",
26+
"WebFetch(domain:github.com)",
27+
"WebFetch(domain:docs.sentry.io)",
28+
"WebFetch(domain:develop.sentry.dev)",
29+
"Bash(grep:*)",
30+
"Bash(mv:*)"
31+
],
32+
"deny": []
33+
}
34+
}
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
name: AI integration tests
2+
3+
on:
4+
workflow_dispatch:
5+
schedule:
6+
# every weekday
7+
- cron: '23 3 * * 1-5'
8+
9+
jobs:
10+
ai-integration-tests:
11+
name: AI integration tests
12+
runs-on: ubuntu-latest
13+
environment: "AI Integrations Tests"
14+
timeout-minutes: 10
15+
16+
permissions:
17+
contents: write
18+
issues: write
19+
20+
steps:
21+
- name: Setup Python
22+
uses: actions/setup-python@v6
23+
with:
24+
python-version: 3.14t
25+
26+
- name: Setup Node.js
27+
uses: actions/setup-node@v6
28+
with:
29+
node-version: '20'
30+
31+
- name: Checkout repo
32+
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
33+
with:
34+
token: ${{ secrets.GITHUB_TOKEN }}
35+
36+
- name: Run Python SDK Tests
37+
uses: getsentry/testing-ai-sdk-integrations@dba21cbfb57482556338983d8c35e6b09b534667
38+
env:
39+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
40+
with:
41+
language: py
42+
sentry-python-path: ${{ github.workspace }}
43+
openai-api-key: ${{ secrets.OPENAI_API_KEY }}
44+
anthropic-api-key: ${{ secrets.ANTHROPIC_API_KEY }}
45+
google-api-key: ${{ secrets.GOOGLE_API_KEY }}
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
name: Changelog Preview
2+
on:
3+
pull_request_target:
4+
types:
5+
- opened
6+
- synchronize
7+
- reopened
8+
- edited
9+
- labeled
10+
- unlabeled
11+
permissions:
12+
contents: write
13+
pull-requests: write
14+
statuses: write
15+
16+
jobs:
17+
changelog-preview:
18+
uses: getsentry/craft/.github/workflows/changelog-preview.yml@v2
19+
secrets: inherit

.github/workflows/ci.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ jobs:
2424
timeout-minutes: 10
2525

2626
steps:
27-
- uses: actions/checkout@v6.0.1
27+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
2828
- uses: actions/setup-python@v6
2929
with:
3030
python-version: 3.14
@@ -39,7 +39,7 @@ jobs:
3939
timeout-minutes: 10
4040

4141
steps:
42-
- uses: actions/checkout@v6.0.1
42+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
4343
- uses: actions/setup-python@v6
4444
with:
4545
python-version: 3.12
@@ -70,7 +70,7 @@ jobs:
7070
timeout-minutes: 10
7171

7272
steps:
73-
- uses: actions/checkout@v6.0.1
73+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
7474
- uses: actions/setup-python@v6
7575
with:
7676
python-version: 3.12

.github/workflows/codeql-analysis.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ jobs:
4848

4949
steps:
5050
- name: Checkout repository
51-
uses: actions/checkout@v6.0.1
51+
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
5252

5353
# Initializes the CodeQL tools for scanning.
5454
- name: Initialize CodeQL

.github/workflows/release-comment-issues.yml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,11 @@ on:
1010
required: false
1111

1212
# This workflow is triggered when a release is published
13+
permissions:
14+
issues: write
15+
contents: write
16+
pull-requests: write
17+
1318
jobs:
1419
release-comment-issues:
1520
runs-on: ubuntu-20.04

.github/workflows/release.yml

Lines changed: 26 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,38 +1,40 @@
11
name: Release
2-
32
on:
43
workflow_dispatch:
54
inputs:
65
version:
7-
description: Version to release
8-
required: true
6+
description: Version to release (or "auto")
7+
required: false
98
force:
10-
description: Force a release even when there are release-blockers (optional)
9+
description: Force a release even when there are release-blockers
1110
required: false
1211
merge_target:
13-
description: Target branch to merge into. Uses the default branch as a fallback (optional)
12+
description: Target branch to merge into
1413
required: false
14+
permissions:
15+
contents: write
16+
pull-requests: write
1517

1618
jobs:
1719
release:
1820
runs-on: ubuntu-latest
19-
name: "Release a new version"
21+
name: Release a new version
2022
steps:
21-
- name: Get auth token
22-
id: token
23-
uses: actions/create-github-app-token@29824e69f54612133e76f7eaac726eef6c875baf # v2.2.1
24-
with:
25-
app-id: ${{ vars.SENTRY_RELEASE_BOT_CLIENT_ID }}
26-
private-key: ${{ secrets.SENTRY_RELEASE_BOT_PRIVATE_KEY }}
27-
- uses: actions/checkout@v6.0.1
28-
with:
29-
token: ${{ steps.token.outputs.token }}
30-
fetch-depth: 0
31-
- name: Prepare release
32-
uses: getsentry/action-prepare-release@v1
33-
env:
34-
GITHUB_TOKEN: ${{ steps.token.outputs.token }}
35-
with:
36-
version: ${{ github.event.inputs.version }}
37-
force: ${{ github.event.inputs.force }}
38-
merge_target: ${{ github.event.inputs.merge_target }}
23+
- name: Get auth token
24+
id: token
25+
uses: actions/create-github-app-token@29824e69f54612133e76f7eaac726eef6c875baf # v2
26+
with:
27+
app-id: ${{ vars.SENTRY_RELEASE_BOT_CLIENT_ID }}
28+
private-key: ${{ secrets.SENTRY_RELEASE_BOT_PRIVATE_KEY }}
29+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
30+
with:
31+
token: ${{ steps.token.outputs.token }}
32+
fetch-depth: 0
33+
- name: Prepare release
34+
uses: getsentry/craft@beea4aba589c66381258cbd131c5551ae8245b82 # v2
35+
env:
36+
GITHUB_TOKEN: ${{ steps.token.outputs.token }}
37+
with:
38+
version: ${{ inputs.version }}
39+
force: ${{ inputs.force }}
40+
merge_target: ${{ inputs.merge_target }}

.github/workflows/test-integrations-agents.yml

Lines changed: 8 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,9 @@ concurrency:
1717
cancel-in-progress: true
1818
permissions:
1919
contents: read
20+
actions: read
21+
pull-requests: write
22+
statuses: write
2023
env:
2124
BUILD_CACHE_KEY: ${{ github.sha }}
2225
CACHED_BUILD_PATHS: |
@@ -38,7 +41,7 @@ jobs:
3841
# Use Docker container only for Python 3.6
3942
container: ${{ matrix.python-version == '3.6' && 'python:3.6' || null }}
4043
steps:
41-
- uses: actions/checkout@v6.0.1
44+
- uses: actions/checkout@v6.0.2
4245
- uses: actions/setup-python@v6
4346
if: ${{ matrix.python-version != '3.6' }}
4447
with:
@@ -69,21 +72,13 @@ jobs:
6972
run: |
7073
coverage combine .coverage-sentry-*
7174
coverage xml
72-
- name: Upload coverage to Codecov
75+
- name: Parse and Upload Coverage
7376
if: ${{ !cancelled() }}
74-
uses: codecov/codecov-action@v5.5.2
77+
uses: getsentry/codecov-action@main
7578
with:
76-
token: ${{ secrets.CODECOV_TOKEN }}
79+
token: ${{ secrets.GITHUB_TOKEN }}
7780
files: coverage.xml
78-
# make sure no plugins alter our coverage reports
79-
plugins: noop
80-
verbose: true
81-
- name: Upload test results to Codecov
82-
if: ${{ !cancelled() }}
83-
uses: codecov/test-results-action@v1
84-
with:
85-
token: ${{ secrets.CODECOV_TOKEN }}
86-
files: .junitxml
81+
junit-xml-pattern: .junitxml
8782
verbose: true
8883
check_required_tests:
8984
name: All Agents tests passed

.github/workflows/test-integrations-ai-workflow.yml

Lines changed: 8 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,9 @@ concurrency:
1717
cancel-in-progress: true
1818
permissions:
1919
contents: read
20+
actions: read
21+
pull-requests: write
22+
statuses: write
2023
env:
2124
BUILD_CACHE_KEY: ${{ github.sha }}
2225
CACHED_BUILD_PATHS: |
@@ -38,7 +41,7 @@ jobs:
3841
# Use Docker container only for Python 3.6
3942
container: ${{ matrix.python-version == '3.6' && 'python:3.6' || null }}
4043
steps:
41-
- uses: actions/checkout@v6.0.1
44+
- uses: actions/checkout@v6.0.2
4245
- uses: actions/setup-python@v6
4346
if: ${{ matrix.python-version != '3.6' }}
4447
with:
@@ -73,21 +76,13 @@ jobs:
7376
run: |
7477
coverage combine .coverage-sentry-*
7578
coverage xml
76-
- name: Upload coverage to Codecov
79+
- name: Parse and Upload Coverage
7780
if: ${{ !cancelled() }}
78-
uses: codecov/codecov-action@v5.5.2
81+
uses: getsentry/codecov-action@main
7982
with:
80-
token: ${{ secrets.CODECOV_TOKEN }}
83+
token: ${{ secrets.GITHUB_TOKEN }}
8184
files: coverage.xml
82-
# make sure no plugins alter our coverage reports
83-
plugins: noop
84-
verbose: true
85-
- name: Upload test results to Codecov
86-
if: ${{ !cancelled() }}
87-
uses: codecov/test-results-action@v1
88-
with:
89-
token: ${{ secrets.CODECOV_TOKEN }}
90-
files: .junitxml
85+
junit-xml-pattern: .junitxml
9186
verbose: true
9287
check_required_tests:
9388
name: All AI Workflow tests passed

.github/workflows/test-integrations-ai.yml

Lines changed: 8 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,9 @@ concurrency:
1717
cancel-in-progress: true
1818
permissions:
1919
contents: read
20+
actions: read
21+
pull-requests: write
22+
statuses: write
2023
env:
2124
BUILD_CACHE_KEY: ${{ github.sha }}
2225
CACHED_BUILD_PATHS: |
@@ -38,7 +41,7 @@ jobs:
3841
# Use Docker container only for Python 3.6
3942
container: ${{ matrix.python-version == '3.6' && 'python:3.6' || null }}
4043
steps:
41-
- uses: actions/checkout@v6.0.1
44+
- uses: actions/checkout@v6.0.2
4245
- uses: actions/setup-python@v6
4346
if: ${{ matrix.python-version != '3.6' }}
4447
with:
@@ -89,21 +92,13 @@ jobs:
8992
run: |
9093
coverage combine .coverage-sentry-*
9194
coverage xml
92-
- name: Upload coverage to Codecov
95+
- name: Parse and Upload Coverage
9396
if: ${{ !cancelled() }}
94-
uses: codecov/codecov-action@v5.5.2
97+
uses: getsentry/codecov-action@main
9598
with:
96-
token: ${{ secrets.CODECOV_TOKEN }}
99+
token: ${{ secrets.GITHUB_TOKEN }}
97100
files: coverage.xml
98-
# make sure no plugins alter our coverage reports
99-
plugins: noop
100-
verbose: true
101-
- name: Upload test results to Codecov
102-
if: ${{ !cancelled() }}
103-
uses: codecov/test-results-action@v1
104-
with:
105-
token: ${{ secrets.CODECOV_TOKEN }}
106-
files: .junitxml
101+
junit-xml-pattern: .junitxml
107102
verbose: true
108103
check_required_tests:
109104
name: All AI tests passed

0 commit comments

Comments
 (0)