Skip to content

Commit 6a11ba1

Browse files
committed
Merge branch 'master' into feat/span-first
2 parents d55e640 + 2dad6dc commit 6a11ba1

50 files changed

Lines changed: 2237 additions & 850 deletions

Some content is hidden

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

.claude/settings.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@
2929
"Bash(grep:*)",
3030
"Bash(mv:*)",
3131
"Bash(source .venv/bin/activate)",
32+
"Bash(source tox.venv/bin/activate:*)",
3233
"Bash(tox:*)",
3334
"Bash(tox.venv/bin/tox:*)",
3435
"Bash(.tox/*/bin/python:*)",

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,12 +19,12 @@ jobs:
1919

2020
steps:
2121
- name: Setup Python
22-
uses: actions/setup-python@v6
22+
uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6
2323
with:
2424
python-version: 3.14t
2525

2626
- name: Setup Node.js
27-
uses: actions/setup-node@v6
27+
uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6
2828
with:
2929
node-version: '20'
3030

.github/workflows/changelog-preview.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,5 +15,5 @@ permissions:
1515

1616
jobs:
1717
changelog-preview:
18-
uses: getsentry/craft/.github/workflows/changelog-preview.yml@v2
18+
uses: getsentry/craft/.github/workflows/changelog-preview.yml@f4889d04564e47311038ecb6b910fef6b6cf1363 # v2
1919
secrets: inherit

.github/workflows/ci.yml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ jobs:
2424

2525
steps:
2626
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
27-
- uses: actions/setup-python@v6
27+
- uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6
2828
with:
2929
python-version: 3.14
3030

@@ -39,11 +39,11 @@ jobs:
3939

4040
steps:
4141
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
42-
- uses: actions/setup-python@v6
42+
- uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6
4343
with:
4444
python-version: 3.12
4545
- name: Setup build cache
46-
uses: actions/cache@v5
46+
uses: actions/cache@668228422ae6a00e4ad889ee87cd7109ec5666a7 # v5
4747
id: build_cache
4848
with:
4949
path: ${{ env.CACHED_BUILD_PATHS }}
@@ -54,7 +54,7 @@ jobs:
5454
# This will also trigger "make dist" that creates the Python packages
5555
make aws-lambda-layer
5656
- name: Upload Python Packages
57-
uses: actions/upload-artifact@v7
57+
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7
5858
with:
5959
name: artifact-build_lambda_layer
6060
path: |
@@ -68,15 +68,15 @@ jobs:
6868

6969
steps:
7070
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
71-
- uses: actions/setup-python@v6
71+
- uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6
7272
with:
7373
python-version: 3.12
7474

7575
- run: |
7676
make apidocs
7777
cd docs/_build && zip -r gh-pages ./
7878
79-
- uses: actions/upload-artifact@v7
79+
- uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7
8080
with:
8181
name: artifact-docs
8282
path: |
Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
name: Enforce Draft PR
2+
3+
on:
4+
pull_request_target:
5+
types: [opened, reopened]
6+
7+
jobs:
8+
enforce-draft:
9+
name: Enforce Draft PR
10+
runs-on: ubuntu-24.04
11+
if: github.event.pull_request.draft == false
12+
steps:
13+
- name: Generate GitHub App token
14+
id: app-token
15+
uses: actions/create-github-app-token@f8d387b68d61c58ab83c6c016672934102569859 # v2
16+
with:
17+
app-id: ${{ vars.SDK_MAINTAINER_BOT_APP_ID }}
18+
private-key: ${{ secrets.SDK_MAINTAINER_BOT_PRIVATE_KEY }}
19+
20+
- name: Convert PR to draft
21+
env:
22+
GH_TOKEN: ${{ steps.app-token.outputs.token }}
23+
PR_URL: ${{ github.event.pull_request.html_url }}
24+
run: |
25+
gh pr ready "$PR_URL" --undo
26+
27+
- name: Label and comment
28+
uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7.0.1
29+
with:
30+
github-token: ${{ steps.app-token.outputs.token }}
31+
script: |
32+
const pullRequest = context.payload.pull_request;
33+
const repo = context.repo;
34+
35+
// Label the PR so maintainers can filter/track violations
36+
await github.rest.issues.addLabels({
37+
...repo,
38+
issue_number: pullRequest.number,
39+
labels: ['converted-to-draft'],
40+
});
41+
42+
// Check for existing bot comment to avoid duplicates on reopen
43+
const comments = await github.rest.issues.listComments({
44+
...repo,
45+
issue_number: pullRequest.number,
46+
});
47+
const botComment = comments.data.find(c =>
48+
c.user.type === 'Bot' &&
49+
c.body.includes('automatically converted to draft')
50+
);
51+
if (botComment) {
52+
core.info('Bot comment already exists, skipping.');
53+
return;
54+
}
55+
56+
const contributingUrl = `https://github.com/${repo.owner}/${repo.repo}/blob/master/CONTRIBUTING.md`;
57+
58+
await github.rest.issues.createComment({
59+
...repo,
60+
issue_number: pullRequest.number,
61+
body: [
62+
`This PR has been automatically converted to draft. All PRs must start as drafts per our [contributing guidelines](${contributingUrl}).`,
63+
'',
64+
'**Next steps:**',
65+
'1. Ensure CI passes',
66+
'2. Fill in the PR description completely',
67+
'3. Mark as "Ready for review" when you\'re done'
68+
].join('\n')
69+
});

.github/workflows/enforce-license-compliance.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,6 @@ jobs:
1818
runs-on: ubuntu-latest
1919
steps:
2020
- name: 'Enforce License Compliance'
21-
uses: getsentry/action-enforce-license-compliance@main
21+
uses: getsentry/action-enforce-license-compliance@48236a773346cb6552a7bda1ee370d2797365d87 # main
2222
with:
2323
fossa_api_key: ${{ secrets.FOSSA_API_KEY }}

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ jobs:
3333
&& !contains(steps.get_version.outputs.version, 'a')
3434
&& !contains(steps.get_version.outputs.version, 'b')
3535
&& !contains(steps.get_version.outputs.version, 'rc')
36-
uses: getsentry/release-comment-issues-gh-action@v1
36+
uses: getsentry/release-comment-issues-gh-action@52e08022ca721e701515ede89edd224b63b180eb # v1
3737
with:
3838
github_token: ${{ secrets.GITHUB_TOKEN }}
3939
version: ${{ steps.get_version.outputs.version }}

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

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -41,8 +41,8 @@ jobs:
4141
# Use Docker container only for Python 3.6
4242
container: ${{ matrix.python-version == '3.6' && 'python:3.6' || null }}
4343
steps:
44-
- uses: actions/checkout@v6.0.2
45-
- uses: actions/setup-python@v6
44+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
45+
- uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6
4646
if: ${{ matrix.python-version != '3.6' }}
4747
with:
4848
python-version: ${{ matrix.python-version }}
@@ -74,7 +74,7 @@ jobs:
7474
coverage xml
7575
- name: Parse and Upload Coverage
7676
if: ${{ !cancelled() }}
77-
uses: getsentry/codecov-action@main
77+
uses: getsentry/codecov-action@fda17cfc37e16a0cc23f61685813390bfee7daf3 # main
7878
with:
7979
token: ${{ secrets.GITHUB_TOKEN }}
8080
files: coverage.xml

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

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -41,8 +41,8 @@ jobs:
4141
# Use Docker container only for Python 3.6
4242
container: ${{ matrix.python-version == '3.6' && 'python:3.6' || null }}
4343
steps:
44-
- uses: actions/checkout@v6.0.2
45-
- uses: actions/setup-python@v6
44+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
45+
- uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6
4646
if: ${{ matrix.python-version != '3.6' }}
4747
with:
4848
python-version: ${{ matrix.python-version }}
@@ -78,7 +78,7 @@ jobs:
7878
coverage xml
7979
- name: Parse and Upload Coverage
8080
if: ${{ !cancelled() }}
81-
uses: getsentry/codecov-action@main
81+
uses: getsentry/codecov-action@fda17cfc37e16a0cc23f61685813390bfee7daf3 # main
8282
with:
8383
token: ${{ secrets.GITHUB_TOKEN }}
8484
files: coverage.xml

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

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -41,8 +41,8 @@ jobs:
4141
# Use Docker container only for Python 3.6
4242
container: ${{ matrix.python-version == '3.6' && 'python:3.6' || null }}
4343
steps:
44-
- uses: actions/checkout@v6.0.2
45-
- uses: actions/setup-python@v6
44+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
45+
- uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6
4646
if: ${{ matrix.python-version != '3.6' }}
4747
with:
4848
python-version: ${{ matrix.python-version }}
@@ -94,7 +94,7 @@ jobs:
9494
coverage xml
9595
- name: Parse and Upload Coverage
9696
if: ${{ !cancelled() }}
97-
uses: getsentry/codecov-action@main
97+
uses: getsentry/codecov-action@fda17cfc37e16a0cc23f61685813390bfee7daf3 # main
9898
with:
9999
token: ${{ secrets.GITHUB_TOKEN }}
100100
files: coverage.xml

0 commit comments

Comments
 (0)