Skip to content

Commit 02026f5

Browse files
authored
Merge branch 'master' into cwlw/tweak-trigger-labels
2 parents b4f8346 + 09769f2 commit 02026f5

File tree

4,235 files changed

+180274
-128007
lines changed

Some content is hidden

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

4,235 files changed

+180274
-128007
lines changed

.eslintignore

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,7 @@
11
**/dist/**/*
22
**/vendor/**/*
3-
**/tests/**/lang/javascript/fixtures/**/*
4-
**/tests/**/lang/javascript/example-project/**/*
3+
**/tests/**/fixtures/**/*
54
/scripts/
65
!.github
76
!.github/workflows/scripts/*
8-
!.storybook
97
*.d.ts

.gitattributes

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
model-manifest.json binary
2+
tests/js/test-balancer/jest-balance.json binary

.github/CODEOWNERS

Lines changed: 52 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -11,18 +11,16 @@
1111
/src/sentry/migrations/ @getsentry/owners-migrations
1212
/src/sentry/*/migrations/ @getsentry/owners-migrations
1313

14-
## API Owners for unowned endpoints / serializers
15-
/src/**/endpoints/ @getsentry/owners-api
16-
/src/sentry/api/ @getsentry/owners-api
17-
1814
## Snuba
1915
/src/sentry/eventstream/ @getsentry/owners-snuba
20-
/src/sentry/utils/snuba.py @getsentry/owners-snuba @getsentry/visibility
16+
/src/sentry/utils/snuba.py @getsentry/owners-snuba @getsentry/discover-n-dashboards
2117
/src/sentry/utils/snql.py @getsentry/owners-snuba
2218
/src/sentry/tsdb/snuba.py @getsentry/owners-snuba
2319
/src/sentry/tsdb/redissnuba.py @getsentry/owners-snuba
2420
/src/sentry/search/snuba/ @getsentry/owners-snuba
2521
/src/sentry/tagstore/snuba/ @getsentry/owners-snuba
22+
/src/sentry/sentry_metrics/ @getsentry/owners-snuba
23+
/tests/sentry/sentry_metrics/
2624

2725
## Event Ingestion
2826
/src/sentry/attachments/ @getsentry/owners-ingest
@@ -39,11 +37,13 @@
3937
/src/sentry/scripts/quotas/ @getsentry/owners-ingest
4038
/src/sentry/scripts/tsdb/ @getsentry/owners-ingest
4139
/src/sentry/tasks/store.py @getsentry/owners-ingest
40+
/src/sentry/tasks/relay.py @getsentry/owners-ingest
4241
/src/sentry/tasks/unmerge.py @getsentry/owners-ingest
4342
/tests/sentry/event_manager/ @getsentry/owners-ingest
4443
/tests/sentry/ingest/ @getsentry/owners-ingest
4544
/tests/sentry/relay/ @getsentry/owners-ingest
4645
/tests/relay_integration/ @getsentry/owners-ingest
46+
/bin/invalidate-project-configs @getsentry/owners-ingest
4747

4848
## Security
4949
/src/sentry/net/ @getsentry/security
@@ -86,12 +86,19 @@ yarn.lock @getsentry/owners-js-de
8686
/static/app/icons/ @getsentry/design
8787
/static/fonts/ @getsentry/design
8888
/static/images/ @getsentry/design
89-
/docs-ui/components/ @getsentry/design @getsentry/core-ui
9089

9190
## Core UI
92-
/static/app/components @getsentry/core-ui
93-
/static/app/views/issueList @getsentry/core-ui
94-
/static/app/views/organizationGroupDetails @getsentry/core-ui
91+
/static/app/components @getsentry/core-ui
92+
93+
/static/app/views/issueList @getsentry/core-ui
94+
/static/app/views/organizationGroupDetails @getsentry/core-ui
95+
96+
## Crons
97+
/static/app/views/monitors @getsentry/crons
98+
/src/sentry/monitors @getsentry/crons
99+
/tests/sentry/monitors @getsentry/crons
100+
/src/sentry/utils/monitors.py @getsentry/crons
101+
/tests/sentry/utils/test_monitors.py @getsentry/crons
95102

96103

97104
# Owners by product feature
@@ -138,18 +145,29 @@ yarn.lock @getsentry/owners-js-de
138145

139146

140147
## Visibility
141-
/src/sentry/api/endpoints/organization_tags.py @getsentry/visibility
142-
/src/sentry/api/endpoints/organization_events_histogram.py @getsentry/visibility
143-
/tests/snuba/api/endpoints/ @getsentry/visibility
144-
/src/sentry/api/serializers/snuba.py @getsentry/visibility
145-
/src/sentry/snuba/discover.py @getsentry/visibility
146-
/src/sentry/snuba/metrics_performance.py @getsentry/visibility
147-
/src/sentry/snuba/metrics_enhanced_performance.py @getsentry/visibility
148-
149-
/src/sentry/search/events/ @getsentry/visibility
150-
/tests/snuba/search/test_backend.py @getsentry/visibility
151-
/static/app/utils/discover/ @getsentry/visibility
152-
/static/app/components/charts/ @getsentry/visibility
148+
/src/sentry/api/endpoints/organization_tags.py @getsentry/performance
149+
/src/sentry/api/endpoints/organization_events_histogram.py @getsentry/performance
150+
151+
/tests/snuba/api/endpoints/* @getsentry/discover-n-dashboards
152+
/tests/snuba/api/endpoints/test_organization_events_histogram.py @getsentry/performance
153+
/tests/snuba/api/endpoints/test_organization_events_facets_performance.py @getsentry/performance
154+
/tests/snuba/api/endpoints/test_organization_events_spans_performance.py @getsentry/performance
155+
/tests/snuba/api/endpoints/test_organization_events_spans_histogram.py @getsentry/performance
156+
/tests/snuba/api/endpoints/test_organization_events_trace.py @getsentry/performance
157+
/tests/snuba/api/endpoints/test_organization_events_trends.py @getsentry/performance
158+
/tests/snuba/api/endpoints/test_organization_events_vitals.py @getsentry/performance
159+
/tests/snuba/api/endpoints/test_organization_tagkey_values.py @getsentry/performance
160+
/tests/snuba/api/endpoints/test_organization_tags.py @getsentry/performance
161+
162+
/src/sentry/api/serializers/snuba.py @getsentry/discover-n-dashboards
163+
/src/sentry/snuba/discover.py @getsentry/discover-n-dashboards
164+
/src/sentry/snuba/metrics_performance.py @getsentry/discover-n-dashboards
165+
/src/sentry/snuba/metrics_enhanced_performance.py @getsentry/discover-n-dashboards
166+
167+
/src/sentry/search/events/ @getsentry/discover-n-dashboards
168+
/tests/snuba/search/test_backend.py @getsentry/discover-n-dashboards
169+
/static/app/utils/discover/ @getsentry/discover-n-dashboards
170+
/static/app/components/charts/ @getsentry/discover-n-dashboards
153171
## Endof Visibility
154172

155173

@@ -219,11 +237,11 @@ yarn.lock @getsentry/owners-js-de
219237

220238

221239
## Replays
222-
/static/app/components/replays/ @getsentry/emerging-technology
223-
/static/app/utils/replays/ @getsentry/emerging-technology
224-
/static/app/views/replays/ @getsentry/emerging-technology
225-
/src/sentry/replays/ @getsentry/emerging-technology
226-
/tests/sentry/replays/ @getsentry/emerging-technology
240+
/static/app/components/replays/ @getsentry/replay-frontend
241+
/static/app/utils/replays/ @getsentry/replay-frontend
242+
/static/app/views/replays/ @getsentry/replay-frontend
243+
/src/sentry/replays/ @getsentry/replay-backend
244+
/tests/sentry/replays/ @getsentry/replay-backend
227245
## End of Replays
228246

229247

@@ -235,10 +253,10 @@ yarn.lock @getsentry/owners-js-de
235253
/src/sentry/api/endpoints/sentry_app/ @getsentry/ecosystem
236254

237255
/static/app/views/organizationIntegrations @getsentry/ecosystem
256+
/static/app/views/settings/project/projectOwnership/ @getsentry/ecosystem
238257

239258
/src/sentry/digests/ @getsentry/ecosystem
240259
/src/sentry/identity/ @getsentry/ecosystem
241-
/src/sentry/identity/ @getsentry/ecosystem
242260
/src/sentry/integrations/ @getsentry/ecosystem
243261
/src/sentry/mail/ @getsentry/ecosystem
244262
/src/sentry/mediators/ @getsentry/ecosystem
@@ -274,9 +292,6 @@ yarn.lock @getsentry/owners-js-de
274292
*doc_integration*.py @getsentry/ecosystem
275293
*docintegration*.py @getsentry/ecosystem
276294

277-
/api-docs/ @getsentry/ecosystem
278-
/tests/apidocs/ @getsentry/ecosystem
279-
280295
/src/sentry/middleware/ratelimit.py @getsentry/ecosystem
281296
/src/sentry/middleware/access_log.py @getsentry/ecosystem
282297
## End of Ecosystem
@@ -355,6 +370,7 @@ yarn.lock @getsentry/owners-js-de
355370
/src/sentry/api/endpoints/organization_sessions.py @getsentry/telemetry-experience
356371
/src/sentry/api/endpoints/project_dynamic_sampling.py @getsentry/telemetry-experience
357372
/src/sentry/api/endpoints/organization_dynamic_sampling_sdk_versions.py @getsentry/telemetry-experience
373+
/src/sentry/dynamic_sampling/ @getsentry/telemetry-experience
358374
/src/sentry/snuba/metrics/query.py @getsentry/telemetry-experience
359375
/src/sentry/release_health/metrics_sessions_v2.py @getsentry/telemetry-experience
360376
/tests/sentry/api/endpoints/test_organization_metric_data.py @getsentry/telemetry-experience
@@ -400,3 +416,9 @@ yarn.lock @getsentry/owners-js-de
400416
/tests/sentry/tasks/test_post_process.py @getsentry/issue-platform
401417
/tests/snuba/search/ @getsentry/issue-platform
402418
## End of Issue Platform
419+
420+
421+
## Hybrid Cloud
422+
/src/sentry/silo/ @getsentry/hybrid-cloud
423+
/src/sentry/services/hybrid_cloud/ @getsentry/hybrid-cloud
424+
## End of Hybrid Cloud

.github/actions/setup-sentry/action.yml

Lines changed: 11 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -54,19 +54,16 @@ runs:
5454
using: 'composite'
5555
steps:
5656
- name: Setup default environment variables
57-
shell: bash
57+
# the default for "bash" is:
58+
# bash --noprofile --norc -eo pipefail {0}
59+
shell: bash --noprofile --norc -eo pipefail -ux {0}
5860
env:
5961
MATRIX_INSTANCE: ${{ matrix.instance }}
6062
# XXX: We should be using something like len(strategy.matrix.instance) (not possible atm)
6163
# If you have other things like python-version: [foo, bar, baz] then the sharding logic
6264
# isn't right because job-total will be 3x larger and you'd never run 2/3 of the tests.
6365
# MATRIX_INSTANCE_TOTAL: ${{ strategy.job-total }}
6466
run: |
65-
# Only set `MIGRATIONS_TEST_MIGRATE` if it is not already set (or if it's an empty string)
66-
if [ -z $MIGRATIONS_TEST_MIGRATE ]; then
67-
echo "MIGRATIONS_TEST_MIGRATE=0" >> $GITHUB_ENV
68-
fi
69-
7067
echo "PIP_DISABLE_PIP_VERSION_CHECK=on" >> $GITHUB_ENV
7168
echo "PIP_INDEX_URL=https://pypi.devinfra.sentry.io/simple" >> $GITHUB_ENV
7269
echo "SENTRY_SKIP_BACKEND_VALIDATION=1" >> $GITHUB_ENV
@@ -77,7 +74,7 @@ runs:
7774
7875
### pytest configuration ###
7976
echo "PY_COLORS=1" >> "$GITHUB_ENV"
80-
echo "PYTEST_ADDOPTS=--reruns=5 --durations=10" >> $GITHUB_ENV
77+
echo "PYTEST_ADDOPTS=--reruns=5 --durations=10 --fail-slow=60s" >> $GITHUB_ENV
8178
8279
### pytest-sentry configuration ###
8380
if [ "$GITHUB_REPOSITORY" = "getsentry/sentry" ]; then
@@ -100,46 +97,44 @@ runs:
10097
10198
# this handles pytest test sharding
10299
if [ "$MATRIX_INSTANCE" ]; then
103-
if ! [ "$MATRIX_INSTANCE_TOTAL" ]; then
100+
if ! [ "${MATRIX_INSTANCE_TOTAL:-}" ]; then
104101
echo "MATRIX_INSTANCE_TOTAL is required."
105102
exit 1
106103
fi
107104
echo "TEST_GROUP=$MATRIX_INSTANCE" >> $GITHUB_ENV
108105
echo "TOTAL_TEST_GROUPS=$MATRIX_INSTANCE_TOTAL" >> $GITHUB_ENV
109106
fi
110107
111-
- name: Setup python
112-
uses: actions/setup-python@13ae5bb136fac2878aff31522b9efb785519f984 # v4.3.0
108+
- uses: getsentry/action-setup-venv@9e3bbae3836b1b6f129955bf55a19e1d99a61c67 # v1.0.5
113109
with:
114110
python-version: ${{ inputs.python-version }}
115-
cache: pip
116111
cache-dependency-path: ${{ inputs.workdir }}/requirements-dev-frozen.txt
112+
install-cmd: pip install -r ${{ inputs.workdir }}/requirements-dev-frozen.txt
117113

118114
- name: Set up outputs
119115
id: config
120116
env:
121117
MATRIX_INSTANCE: ${{ matrix.instance }}
122-
shell: bash
118+
shell: bash --noprofile --norc -eo pipefail -ux {0}
123119
run: |
124120
echo "yarn-cache-dir=$(yarn cache dir)" >> "$GITHUB_OUTPUT"
125121
echo "matrix-instance-number=$(($MATRIX_INSTANCE+1))" >> "$GITHUB_OUTPUT"
126-
echo "matrix-instance-total=$(($MATRIX_INSTANCE_TOTAL))" >> "$GITHUB_OUTPUT"
122+
echo "matrix-instance-total=$((${MATRIX_INSTANCE_TOTAL:-}))" >> "$GITHUB_OUTPUT"
127123
echo "acceptance-dir=.artifacts/visual-snapshots/acceptance" >> "$GITHUB_OUTPUT"
128124
129125
- name: Install python dependencies
130-
shell: bash
126+
shell: bash --noprofile --norc -eo pipefail -ux {0}
131127
env:
132128
# This is necessary when other repositories (e.g. relay) want to take advantage of this workflow
133129
# without needing to fork it. The path needed is the one where setup.py is located
134130
WORKDIR: ${{ inputs.workdir }}
135131
run: |
136132
cd "$WORKDIR"
137-
pip install -r requirements-dev-frozen.txt
138133
# We need to install editable otherwise things like check migration will fail.
139134
SENTRY_LIGHT_BUILD=1 pip install --no-deps -e .
140135
141136
- name: Start devservices
142-
shell: bash
137+
shell: bash --noprofile --norc -eo pipefail -ux {0}
143138
env:
144139
NEED_KAFKA: ${{ inputs.kafka }}
145140
NEED_SNUBA: ${{ inputs.snuba }}

.github/codeql/codeql-config.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
name: "Sentry CodeQL Config"
1+
name: 'Sentry CodeQL Config'
22

33
paths-ignore:
44
- '**/tests/**'

.github/dependabot.yml

Lines changed: 7 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -34,20 +34,6 @@ updates:
3434
- dependency-name: '@babel/preset-typescript'
3535
- dependency-name: '@babel/runtime'
3636

37-
# Storybook updates should all happen in unison, same as above we ignore
38-
# all but one as a reminder.
39-
#
40-
# - dependency-name: "@storybook/react"
41-
- dependency-name: '@storybook/addon-a11y'
42-
- dependency-name: '@storybook/addon-actions'
43-
- dependency-name: '@storybook/addon-essentials'
44-
- dependency-name: '@storybook/addon-storysource'
45-
- dependency-name: '@storybook/addon-docs'
46-
- dependency-name: '@storybook/addons'
47-
- dependency-name: '@storybook/builder-webpack5'
48-
- dependency-name: '@storybook/manager-webpack5'
49-
- dependency-name: '@storybook/theming'
50-
5137
# Sentry updates should all happen in unison, same as above we ignore
5238
# all but one as a reminder.
5339
# - dependency-name: "@sentry/react"
@@ -74,19 +60,12 @@ updates:
7460
- dependency-name: 'reflux'
7561
- dependency-name: 'sprintf-js'
7662
- dependency-name: 'u2f-api'
77-
78-
- package-ecosystem: pip
79-
open-pull-requests-limit: 10
80-
directory: '/'
63+
- package-ecosystem: 'docker'
64+
directory: 'docker/'
8165
schedule:
82-
# Going to start with a high interval, and then tone it back
83-
interval: daily
84-
timezone: America/Los_Angeles
85-
time: '09:00'
66+
interval: 'daily'
8667
reviewers:
87-
- '@getsentry/team-web-backend'
88-
labels:
89-
- 'dependencies'
90-
- 'Scope: Backend'
91-
allow:
92-
- dependency-name: 'sentry-sdk'
68+
- '@getsentry/open-source'
69+
- '@getsentry/security'
70+
# security only updates
71+
open-pull-requests-limit: 0

.github/file-filters.yml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,6 @@ frontend_src: &frontend_src
2626
- '**/tsconfig*.json'
2727
- '{package,now,vercel}.json'
2828
- '**/*.less'
29-
- 'docs-ui/**'
3029
- 'static/**'
3130
- 'fixtures/search-syntax/**/*'
3231
- '.github/workflows/frontend.yml'
@@ -75,8 +74,8 @@ backend_all: &backend_all
7574

7675
# This is the ultimate controller for acceptance.yml
7776
acceptance: &acceptance
78-
- *backend_all
7977
- *frontend_all
78+
- *backend_all
8079
# This is verbose because backend_build_changes includes it, however,
8180
- '.github/actions/setup-sentry/action.yml'
8281
- '.github/workflows/acceptance.yml'

0 commit comments

Comments
 (0)