Skip to content

Commit

Permalink
Merge branch 'master' into cl/web-vital-breadcrumb
Browse files Browse the repository at this point in the history
  • Loading branch information
c298lee authored Aug 28, 2024
2 parents ec938ae + 15fcf7e commit 65fe5b2
Show file tree
Hide file tree
Showing 1,180 changed files with 1,306,238 additions and 507,974 deletions.
55 changes: 55 additions & 0 deletions .eslintrc.js
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,61 @@ module.exports = {
message: 'Do not depend on toolbar internals',
},
],
paths: [
{
name: '@testing-library/react',
message:
'Please import from `sentry-test/reactTestingLibrary` instead so that we can ensure consistency throughout the codebase',
},
{
name: '@testing-library/react-hooks',
message:
'Please import from `sentry-test/reactTestingLibrary` instead so that we can ensure consistency throughout the codebase',
},
{
name: '@testing-library/user-event',
message:
'Please import from `sentry-test/reactTestingLibrary` instead so that we can ensure consistency throughout the codebase',
},
{
name: '@sentry/browser',
message:
'Please import from `@sentry/react` to ensure consistency throughout the codebase.',
},
{
name: 'marked',
message:
"Please import marked from 'app/utils/marked' so that we can ensure sanitation of marked output",
},
{
name: 'lodash',
message:
"Please import lodash utilities individually. e.g. `import isEqual from 'lodash/isEqual';`. See https://github.com/getsentry/frontend-handbook#lodash from for information",
},
{
name: 'lodash/get',
message:
'Optional chaining `?.` and nullish coalescing operators `??` are available and preferred over using `lodash/get`. See https://github.com/getsentry/frontend-handbook#new-syntax for more information',
},
{
name: 'sentry/utils/theme',
importNames: ['lightColors', 'darkColors'],
message:
"'lightColors' and 'darkColors' exports intended for use in Storybook only. Instead, use theme prop from emotion or the useTheme hook.",
},
{
name: 'react-router',
importNames: ['withRouter'],
message:
"Use 'useLocation', 'useParams', 'useNavigate', 'useRoutes' from sentry/utils instead.",
},
{
name: 'sentry/utils/withSentryRouter',
importNames: ['withSentryRouter'],
message:
"Use 'useLocation', 'useParams', 'useNavigate', 'useRoutes' from sentry/utils instead.",
},
],
},
],

Expand Down
13 changes: 6 additions & 7 deletions .github/CODEOWNERS
Validating CODEOWNERS rules …
Original file line number Diff line number Diff line change
Expand Up @@ -345,8 +345,6 @@ tests/sentry/api/endpoints/test_organization_dashboard_widget_details.py @ge


## Integrations
/src/sentry/api/endpoints/integrations/ @getsentry/product-owners-settings-integrations
/src/sentry/api/endpoints/organization_integration_repos.py @getsentry/ecosystem
/src/sentry/api/endpoints/sentry_app/ @getsentry/product-owners-settings-integrations
/src/sentry/api/endpoints/project_rule*.py @getsentry/alerts-notifications
/src/sentry/api/serializers/models/rule.py @getsentry/alerts-notifications
Expand All @@ -355,21 +353,17 @@ tests/sentry/api/endpoints/test_organization_dashboard_widget_details.py @ge

/src/sentry/digests/ @getsentry/alerts-notifications
/src/sentry/identity/ @getsentry/enterprise
/src/sentry/integrations/ @getsentry/product-owners-settings-integrations
/src/sentry/integrations/ @getsentry/product-owners-settings-integrations @getsentry/ecosystem
/src/sentry/mail/ @getsentry/alerts-notifications
/src/sentry/notifications/ @getsentry/alerts-notifications
/src/sentry/pipeline/ @getsentry/ecosystem
/src/sentry/plugins/ @getsentry/ecosystem
/src/sentry/shared_integrations/ @getsentry/ecosystem

/src/sentry/models/externalactor.py @getsentry/ecosystem
/src/sentry/models/externalissue.py @getsentry/ecosystem
/src/sentry/models/identity.py @getsentry/enterprise
/src/sentry/models/integrations/ @getsentry/product-owners-settings-integrations

/src/sentry/tasks/digests.py @getsentry/alerts-notifications
/src/sentry/tasks/email.py @getsentry/alerts-notifications
/src/sentry/tasks/integrations/ @getsentry/ecosystem
/src/sentry/tasks/user_report.py @getsentry/alerts-notifications
/src/sentry/tasks/weekly_reports.py @getsentry/alerts-notifications

Expand Down Expand Up @@ -587,3 +581,8 @@ tests/sentry/api/endpoints/test_organization_dashboard_widget_details.py @ge
/static/app/components/modals/inviteMissingMembersModal/ @getsentry/ecosystem
/src/sentry/tasks/integrations/github/pr_comment.py @getsentry/ecosystem
## End of Ecosystem

## Core Product Foundations
/src/sentry/data_secrecy/ @getsentry/core-product-foundations
/tests/sentry/data_secrecy/ @getsentry/core-product-foundations
## End of Core Product Foundations
21 changes: 14 additions & 7 deletions .github/actions/artifacts/do_upload.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,17 @@ def run_command(command: list[str], log_file: str):
return Popen(command, stdout=f, stderr=f)


def get_files(input_files: list[str]) -> list[str]:
"""
this function expands the globs specified in the input file then
filters for paths that are actually files
"""
glob_expanded_files = [glob.glob(file, recursive=True) for file in input_files]
flattened_glob_matches = list(itertools.chain.from_iterable(glob_expanded_files))
filtered_glob_matches = [file for file in flattened_glob_matches if os.path.isfile(file)]
return filtered_glob_matches


def main():
"""
First we get the arguments passed to the upload artifacts action via the env vars,
Expand All @@ -30,9 +41,6 @@ def main():
input_files = os.getenv("INPUT_FILES", "").split(",")
input_test_result_files = os.getenv("INPUT_TEST_RESULT_FILES", "").split(",")

glob_expanded_coverage_files = [glob.glob(file, recursive=True) for file in input_files]
coverage_files = list(itertools.chain.from_iterable(glob_expanded_coverage_files))

codecov_base_cmd = ["./codecov", "--verbose"]

upload_flags = [
Expand All @@ -48,15 +56,14 @@ def main():
upload_flags += ["--commit-sha", input_commit_sha]

upload_coverage_cmd = [*codecov_base_cmd, "upload-process", *upload_flags]

coverage_files = get_files(input_files)
for file in coverage_files:
upload_coverage_cmd += ["--file", file]

upload_coverage_log_file = "coverage-upload.log"

glob_expanded_test_result_files = [
glob.glob(file, recursive=True) for file in input_test_result_files
]
test_result_files = list(itertools.chain.from_iterable(glob_expanded_test_result_files))
test_result_files = get_files(input_test_result_files)

upload_test_results_cmd = [
*codecov_base_cmd,
Expand Down
3 changes: 2 additions & 1 deletion .github/actions/setup-sentry/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ inputs:
python-version:
description: 'python version to install'
required: false
default: '3.11.8'
default: '3.12.3'
pg-version:
description: 'PostgreSQL version to use'
default: '14'
Expand Down Expand Up @@ -79,6 +79,7 @@ runs:
### pytest configuration ###
echo "PY_COLORS=1" >> "$GITHUB_ENV"
echo "PYTEST_ADDOPTS=--reruns=5 --durations=10 --fail-slow=60s" >> $GITHUB_ENV
echo "COVERAGE_CORE=sysmon" >> "$GITHUB_ENV"
### pytest-sentry configuration ###
if [ "$GITHUB_REPOSITORY" = "getsentry/sentry" ]; then
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/backend.yml
Original file line number Diff line number Diff line change
Expand Up @@ -208,7 +208,7 @@ jobs:
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- uses: getsentry/action-setup-venv@a133e6fd5fa6abd3f590a1c106abda344f5df69f # v2.1.0
with:
python-version: 3.11.8
python-version: 3.12.3
cache-dependency-path: requirements-dev-frozen.txt
install-cmd: python3 -m tools.hack_pip && pip install -q --constraint requirements-dev-frozen.txt pip-tools
- name: check requirements
Expand Down Expand Up @@ -301,7 +301,7 @@ jobs:

- uses: getsentry/action-setup-venv@a133e6fd5fa6abd3f590a1c106abda344f5df69f # v2.1.0
with:
python-version: 3.11.8
python-version: 3.12.3
cache-dependency-path: requirements-dev-frozen.txt
install-cmd: python3 -m tools.hack_pip && pip install -r requirements-dev-frozen.txt

Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/development-environment.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ jobs:
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- uses: getsentry/action-setup-venv@a133e6fd5fa6abd3f590a1c106abda344f5df69f # v2.1.0
with:
python-version: 3.11.8
python-version: 3.12.3
cache-dependency-path: |
requirements-dev.txt
requirements-dev-frozen.txt
Expand All @@ -52,7 +52,7 @@ jobs:
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- uses: getsentry/action-setup-venv@a133e6fd5fa6abd3f590a1c106abda344f5df69f # v2.1.0
with:
python-version: 3.11.8
python-version: 3.12.3
cache-dependency-path: |
requirements-dev.txt
requirements-dev-frozen.txt
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/pre-commit.yml
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,7 @@ jobs:

- uses: getsentry/action-setup-venv@a133e6fd5fa6abd3f590a1c106abda344f5df69f # v2.1.0
with:
python-version: 3.11.8
python-version: 3.12.3
cache-dependency-path: |
requirements-dev.txt
requirements-dev-frozen.txt
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/react-to-product-owners-yml-changes.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ jobs:

- uses: getsentry/action-setup-venv@a133e6fd5fa6abd3f590a1c106abda344f5df69f # v2.1.0
with:
python-version: 3.11.3
python-version: 3.12.3

- name: React to product-owners.yml changes
shell: bash
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/self-hosted.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ jobs:

- uses: getsentry/action-setup-venv@a133e6fd5fa6abd3f590a1c106abda344f5df69f # v2.1.0
with:
python-version: 3.11.6
python-version: 3.12.3
cache-dependency-path: requirements-dev-frozen.txt
install-cmd: python3 -m tools.hack_pip

Expand Down
2 changes: 1 addition & 1 deletion .python-version
Original file line number Diff line number Diff line change
@@ -1 +1 @@
3.11.8
3.12.3
12 changes: 7 additions & 5 deletions .tx/config
Original file line number Diff line number Diff line change
@@ -1,8 +1,10 @@
[main]
host = https://www.transifex.com

[sentry.djangopo]
file_filter = src/sentry/locale/<lang>/LC_MESSAGES/django.po
source_file = src/sentry/locale/en/LC_MESSAGES/django.po
source_lang = en
type = PO
[o:getsentry:p:sentry:r:djangopo]
file_filter = src/sentry/locale/<lang>/LC_MESSAGES/django.po
source_file = src/sentry/locale/en/LC_MESSAGES/django.po
source_lang = en
type = PO
replace_edited_strings = false
keep_translations = false
22 changes: 22 additions & 0 deletions api-docs/paths/events/issue-details.json
Original file line number Diff line number Diff line change
Expand Up @@ -214,6 +214,28 @@
"type": "string",
"description": "The new status for the issues. Valid values are `\"resolved\"`, `\"reprocessing\"`, `\"unresolved\"`, and `\"ignored\"`."
},
"statusDetails": {
"type": "object",
"description": "Additional details about the status of the issue.",
"properties": {
"inNextRelease": {
"type": "boolean",
"description": "Indicates if the issue is resolved in the next release based on the last seen release of that issue."
},
"inUpcomingRelease": {
"type": "boolean",
"description": "Indicates if the issue is resolved in an upcoming release."
},
"inRelease": {
"type": "string",
"description": "The version of the release in which the issue is resolved."
},
"inCommit": {
"type": "string",
"description": "The commit hash in which the issue is resolved."
}
}
},
"assignedTo": {
"type": "string",
"description": "The actor id (or username) of the user or team that should be assigned to this issue."
Expand Down
10 changes: 5 additions & 5 deletions api-docs/yarn.lock
Original file line number Diff line number Diff line change
Expand Up @@ -99,7 +99,7 @@ brace-expansion@^2.0.1:
dependencies:
balanced-match "^1.0.0"

braces@^3.0.2:
braces@^3.0.3:
version "3.0.3"
resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.3.tgz#490332f40919452272d55a8480adc0c441358789"
integrity sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==
Expand Down Expand Up @@ -582,11 +582,11 @@ methods@^1.1.1:
integrity sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=

micromatch@^4.0.2:
version "4.0.5"
resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.5.tgz#bc8999a7cbbf77cdc89f132f6e467051b49090c6"
integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==
version "4.0.8"
resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.8.tgz#d66fa18f3a47076789320b9b1af32bd86d9fa202"
integrity sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==
dependencies:
braces "^3.0.2"
braces "^3.0.3"
picomatch "^2.3.1"

mime-db@1.51.0:
Expand Down
6 changes: 5 additions & 1 deletion config/tsconfig.base.json
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,11 @@
"moduleResolution": "node",

// We add esnext to lib to pull in types for all newer ECMAScript features
"lib": ["esnext", "dom"],
"lib": [
"esnext",
"dom",
"dom.iterable"
],

// Skip type checking of all declaration files
"skipLibCheck": true,
Expand Down
40 changes: 20 additions & 20 deletions devenv/config.ini
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
[venv.sentry]
python = 3.11.8
python = 3.12.3
path = .venv
requirements = requirements-dev.txt
editable =
Expand All @@ -8,7 +8,7 @@ editable =
# bins =

[venv.getsentry]
python = 3.11.8
python = 3.12.3
# technically these are conflicting paths but getsentry is special
# and would rather keep devenv config symlinked
path = .venv
Expand All @@ -17,15 +17,15 @@ editable = .
# but we'll just install it during sync as it's rarely populated
requirements = sentry-requirements-dev-frozen.txt

[python3.11.8]
darwin_x86_64 = https://github.com/indygreg/python-build-standalone/releases/download/20240224/cpython-3.11.8+20240224-x86_64-apple-darwin-install_only.tar.gz
darwin_x86_64_sha256 = 097f467b0c36706bfec13f199a2eaf924e668f70c6e2bd1f1366806962f7e86e
darwin_arm64 = https://github.com/indygreg/python-build-standalone/releases/download/20240224/cpython-3.11.8+20240224-aarch64-apple-darwin-install_only.tar.gz
darwin_arm64_sha256 = 389a51139f5abe071a0d70091ca5df3e7a3dfcfcbe3e0ba6ad85fb4c5638421e
linux_x86_64 = https://github.com/indygreg/python-build-standalone/releases/download/20240224/cpython-3.11.8+20240224-x86_64-unknown-linux-gnu-install_only.tar.gz
linux_x86_64_sha256 = 94e13d0e5ad417035b80580f3e893a72e094b0900d5d64e7e34ab08e95439987
linux_arm64 = https://github.com/indygreg/python-build-standalone/releases/download/20240224/cpython-3.11.8+20240224-aarch64-unknown-linux-gnu-install_only.tar.gz
linux_arm64_sha256 = 389b9005fb78dd5a6f68df5ea45ab7b30d9a4b3222af96999e94fd20d4ad0c6a
[python3.12.3]
darwin_x86_64 = https://github.com/indygreg/python-build-standalone/releases/download/20240415/cpython-3.12.3+20240415-x86_64-apple-darwin-install_only.tar.gz
darwin_x86_64_sha256 = c37a22fca8f57d4471e3708de6d13097668c5f160067f264bb2b18f524c890c8
darwin_arm64 = https://github.com/indygreg/python-build-standalone/releases/download/20240415/cpython-3.12.3+20240415-aarch64-apple-darwin-install_only.tar.gz
darwin_arm64_sha256 = ccc40e5af329ef2af81350db2a88bbd6c17b56676e82d62048c15d548401519e
linux_x86_64 = https://github.com/indygreg/python-build-standalone/releases/download/20240415/cpython-3.12.3+20240415-x86_64-unknown-linux-gnu-install_only.tar.gz
linux_x86_64_sha256 = a73ba777b5d55ca89edef709e6b8521e3f3d4289581f174c8699adfb608d09d6
linux_arm64 = https://github.com/indygreg/python-build-standalone/releases/download/20240415/cpython-3.12.3+20240415-aarch64-unknown-linux-gnu-install_only.tar.gz
linux_arm64_sha256 = ec8126de97945e629cca9aedc80a29c4ae2992c9d69f2655e27ae73906ba187d

[colima]
darwin_x86_64 = https://github.com/abiosoft/colima/releases/download/v0.6.6/colima-Darwin-x86_64
Expand All @@ -41,12 +41,12 @@ version = v0.6.6

# kept here only for compatibility with older `devenv`
[python]
version = 3.11.8
darwin_x86_64 = https://github.com/indygreg/python-build-standalone/releases/download/20240224/cpython-3.11.8+20240224-x86_64-apple-darwin-install_only.tar.gz
darwin_x86_64_sha256 = 097f467b0c36706bfec13f199a2eaf924e668f70c6e2bd1f1366806962f7e86e
darwin_arm64 = https://github.com/indygreg/python-build-standalone/releases/download/20240224/cpython-3.11.8+20240224-aarch64-apple-darwin-install_only.tar.gz
darwin_arm64_sha256 = 389a51139f5abe071a0d70091ca5df3e7a3dfcfcbe3e0ba6ad85fb4c5638421e
linux_x86_64 = https://github.com/indygreg/python-build-standalone/releases/download/20240224/cpython-3.11.8+20240224-x86_64-unknown-linux-gnu-install_only.tar.gz
linux_x86_64_sha256 = 94e13d0e5ad417035b80580f3e893a72e094b0900d5d64e7e34ab08e95439987
linux_arm64 = https://github.com/indygreg/python-build-standalone/releases/download/20240224/cpython-3.11.8+20240224-aarch64-unknown-linux-gnu-install_only.tar.gz
linux_arm64_sha256 = 389b9005fb78dd5a6f68df5ea45ab7b30d9a4b3222af96999e94fd20d4ad0c6a
version = 3.12.3
darwin_x86_64 = https://github.com/indygreg/python-build-standalone/releases/download/20240415/cpython-3.12.3+20240415-x86_64-apple-darwin-install_only.tar.gz
darwin_x86_64_sha256 = c37a22fca8f57d4471e3708de6d13097668c5f160067f264bb2b18f524c890c8
darwin_arm64 = https://github.com/indygreg/python-build-standalone/releases/download/20240415/cpython-3.12.3+20240415-aarch64-apple-darwin-install_only.tar.gz
darwin_arm64_sha256 = ccc40e5af329ef2af81350db2a88bbd6c17b56676e82d62048c15d548401519e
linux_x86_64 = https://github.com/indygreg/python-build-standalone/releases/download/20240415/cpython-3.12.3+20240415-x86_64-unknown-linux-gnu-install_only.tar.gz
linux_x86_64_sha256 = a73ba777b5d55ca89edef709e6b8521e3f3d4289581f174c8699adfb608d09d6
linux_arm64 = https://github.com/indygreg/python-build-standalone/releases/download/20240415/cpython-3.12.3+20240415-aarch64-unknown-linux-gnu-install_only.tar.gz
linux_arm64_sha256 = ec8126de97945e629cca9aedc80a29c4ae2992c9d69f2655e27ae73906ba187d
Loading

0 comments on commit 65fe5b2

Please sign in to comment.