From 4c5b21f4e8e5e4802f82cecc738f0aee6160ac41 Mon Sep 17 00:00:00 2001 From: Hector Date: Tue, 11 Nov 2025 13:59:42 +0000 Subject: [PATCH 1/6] feat(preprod): Add build distribution docs Fixes EME-453 --- .../android/build-distribution/index.mdx | 34 ++++++++++++++++ .../guides/ios/build-distribution/index.mdx | 40 +++++++++++++++++++ docs/product/build-distribution/index.mdx | 28 +++++++++++++ includes/build-distribution/ea.mdx | 1 + 4 files changed, 103 insertions(+) create mode 100644 docs/platforms/android/build-distribution/index.mdx create mode 100644 docs/platforms/apple/guides/ios/build-distribution/index.mdx create mode 100644 docs/product/build-distribution/index.mdx create mode 100644 includes/build-distribution/ea.mdx diff --git a/docs/platforms/android/build-distribution/index.mdx b/docs/platforms/android/build-distribution/index.mdx new file mode 100644 index 0000000000000..099912ac9dbc7 --- /dev/null +++ b/docs/platforms/android/build-distribution/index.mdx @@ -0,0 +1,34 @@ +--- +title: Build Distribution +sidebar_title: Build Distribution +sidebar_order: 5250 +description: Upload Android builds to Sentry for distribution to internal teams and beta testers. +--- + + + +[Build Distribution](/product/build-distribution) helps you securely distribute Android builds to your internal teams and beta testers. + +## Getting Started + +**Accepted Formats**: AAB (preferred) | APK + +**Upload Mechanisms**: [Gradle](#uploading-with-gradle) | [Sentry CLI](#uploading-with-the-sentry-cli) + +### Uploading With Gradle + + + +### Uploading With the Sentry CLI + + + +## Upload Metadata + + + +### Build Configuration + + + + diff --git a/docs/platforms/apple/guides/ios/build-distribution/index.mdx b/docs/platforms/apple/guides/ios/build-distribution/index.mdx new file mode 100644 index 0000000000000..ef555cd7c604b --- /dev/null +++ b/docs/platforms/apple/guides/ios/build-distribution/index.mdx @@ -0,0 +1,40 @@ +--- +title: Build Distribution +sidebar_order: 5250 +description: Upload iOS builds to Sentry for distribution to internal teams and beta testers. +--- + + + +[Build Distribution](/product/build-distribution) helps you securely distribute iOS builds to your internal teams and beta testers. +Streamline your distribution workflow with automated uploads from CI. + +## Getting Started + +**Accepted Formats**: XCArchive (preferred) | IPA + +**Upload Mechanisms**: [Fastlane Plugin](#uploading-with-fastlane) (version 1.35.0 or higher) _or_ [Sentry CLI](#uploading-with-the-sentry-cli) + +### Uploading With Fastlane + + + +### Uploading with the Sentry CLI + + + +## Upload Metadata + + + +### Build Configuration + + + +## Distribution Management + +## What's Next? + +We strongly recommend integrating Build Distribution into your CI pipeline for automated distribution workflows. + + diff --git a/docs/product/build-distribution/index.mdx b/docs/product/build-distribution/index.mdx new file mode 100644 index 0000000000000..4ab83b5cd2bc8 --- /dev/null +++ b/docs/product/build-distribution/index.mdx @@ -0,0 +1,28 @@ +--- +title: Build Distribution +sidebar_order: 137 +description: Distribute app builds to internal teams and beta testers. +--- + + + +Build Distribution enables you to securely distribute app builds to your internal teams and beta testers. Upload builds from CI to streamline your distribution workflow, manage access control, and track installation analytics. + +### CI Integration + +Integrate Build Distribution into your CI pipeline to automatically distribute builds to your teams. + +## Upload Guides + +You can follow the platform guides to learn how to upload builds for distribution: + +- [iOS](/platforms/apple/guides/ios/build-distribution/) +- [Android](/platforms/android/build-distribution/) + +### Upload Metadata + +Below is the metadata included in your build, regardless of the platform. + + + + diff --git a/includes/build-distribution/ea.mdx b/includes/build-distribution/ea.mdx new file mode 100644 index 0000000000000..82918e5ed8939 --- /dev/null +++ b/includes/build-distribution/ea.mdx @@ -0,0 +1 @@ + \ No newline at end of file From 81f8bf53aff3335b4b84ade3755c89103d215687 Mon Sep 17 00:00:00 2001 From: Nelson Osacky Date: Wed, 12 Nov 2025 15:10:50 +0100 Subject: [PATCH 2/6] refactor(docs): Refactor Gradle upload instructions into reusable components MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Create GradleUploadInstructions component to consolidate shared code - Create GradleFeatureConfig component for Gradle configuration snippets - Update build-distribution and size-analysis to use new components - Add missing android-metadata.png image to both includes and public directories - Register new components in mdxComponents.ts This reduces duplication across documentation files and makes it easier to maintain Gradle-related instructions. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude --- .../android/build-distribution/index.mdx | 2 +- .../images/android-metadata.png | Bin 0 -> 33709 bytes includes/build-distribution/upload-gradle.mdx | 1 + includes/gradle-config/distribution.mdx | 16 ++ includes/gradle-config/sizeAnalysis.mdx | 16 ++ includes/size-analysis/upload-gradle.mdx | 101 +-------- .../images/android-metadata.png | Bin 0 -> 33709 bytes src/components/gradleFeatureConfig.tsx | 33 +++ src/components/gradleUploadInstructions.tsx | 205 ++++++++++++++++++ src/mdxComponents.ts | 4 + 10 files changed, 277 insertions(+), 101 deletions(-) create mode 100644 includes/build-distribution/images/android-metadata.png create mode 100644 includes/build-distribution/upload-gradle.mdx create mode 100644 includes/gradle-config/distribution.mdx create mode 100644 includes/gradle-config/sizeAnalysis.mdx create mode 100644 public/platforms/android/build-distribution/images/android-metadata.png create mode 100644 src/components/gradleFeatureConfig.tsx create mode 100644 src/components/gradleUploadInstructions.tsx diff --git a/docs/platforms/android/build-distribution/index.mdx b/docs/platforms/android/build-distribution/index.mdx index 099912ac9dbc7..981e3fd346950 100644 --- a/docs/platforms/android/build-distribution/index.mdx +++ b/docs/platforms/android/build-distribution/index.mdx @@ -17,7 +17,7 @@ description: Upload Android builds to Sentry for distribution to internal teams ### Uploading With Gradle - + ### Uploading With the Sentry CLI diff --git a/includes/build-distribution/images/android-metadata.png b/includes/build-distribution/images/android-metadata.png new file mode 100644 index 0000000000000000000000000000000000000000..ecb49e94ad966ad4da85a8740bd644cd0e7463d0 GIT binary patch literal 33709 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 $(>AcZTQ~6c?U&?lN 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 TgN6HlNIP;;%91tWKZ5=@c3#dQ literal 0 HcmV?d00001 diff --git a/includes/build-distribution/upload-gradle.mdx b/includes/build-distribution/upload-gradle.mdx new file mode 100644 index 0000000000000..77a8829aaf2f7 --- /dev/null +++ b/includes/build-distribution/upload-gradle.mdx @@ -0,0 +1 @@ + diff --git a/includes/gradle-config/distribution.mdx b/includes/gradle-config/distribution.mdx new file mode 100644 index 0000000000000..72d3eacb80dbb --- /dev/null +++ b/includes/gradle-config/distribution.mdx @@ -0,0 +1,16 @@ +```kotlin {filename:build.gradle.kts} +sentry { + distribution { + enabled = providers.environmentVariable("GITHUB_ACTIONS").isPresent + } +} +``` + +```groovy {filename:build.gradle} +sentry { + distribution { + enabled = providers.environmentVariable("GITHUB_ACTIONS").present + } +} +``` + diff --git a/includes/gradle-config/sizeAnalysis.mdx b/includes/gradle-config/sizeAnalysis.mdx new file mode 100644 index 0000000000000..9ced14e2d1715 --- /dev/null +++ b/includes/gradle-config/sizeAnalysis.mdx @@ -0,0 +1,16 @@ +```kotlin {filename:build.gradle.kts} +sentry { + sizeAnalysis { + enabled = providers.environmentVariable("GITHUB_ACTIONS").isPresent + } +} +``` + +```groovy {filename:build.gradle} +sentry { + sizeAnalysis { + enabled = providers.environmentVariable("GITHUB_ACTIONS").present + } +} +``` + diff --git a/includes/size-analysis/upload-gradle.mdx b/includes/size-analysis/upload-gradle.mdx index f4b9db01b2a3c..36d85ea09e8c4 100644 --- a/includes/size-analysis/upload-gradle.mdx +++ b/includes/size-analysis/upload-gradle.mdx @@ -1,100 +1 @@ -The Gradle plugin automatically detects build metadata from your git repository. On GitHub Actions, all metadata is automatically detected. On other CI systems, you may need to manually set some values using the `vcsInfo` extension. - -1. Configure the [Sentry Android Gradle plugin](/platforms/android/configuration/gradle/) with at least version `6.0.0-beta1` - -2. Set the auth token as an environment variable to be used when running your release build. - - - - ```bash - export SENTRY_AUTH_TOKEN=___ORG_AUTH_TOKEN___ - ``` - -3. Enable uploading for size analysis for CI builds. - - ```kotlin {filename:build.gradle.kts} - sentry { - sizeAnalysis { - enabled = providers.environmentVariable("GITHUB_ACTIONS").isPresent - } - } - ``` - - ```groovy {filename:build.gradle} - sentry { - sizeAnalysis { - enabled = providers.environmentVariable("GITHUB_ACTIONS").present - } - } - ``` - -4. Invoke the following Gradle tasks to build your app and trigger the upload. - - ```aab {filename:aab} - ./gradlew bundleRelease - ``` - - ```apk {filename:apk} - ./gradlew assembleRelease - ``` - -5. After an upload has successfully processed, confirm the metadata is correct in the Sentry UI - - ![Upload metadata =400x](./images/android-metadata.png) - -### Overriding Metadata - -The Gradle plugin automatically detects build metadata from your git repository. On GitHub Actions, all metadata is automatically detected. On other CI systems, you may need to manually set some values using the `vcsInfo` extension. - -Configure overrides in your Gradle build configuration: - -```kotlin {filename:build.gradle.kts} -sentry { - sizeAnalysis { - enabled = providers.environmentVariable("GITHUB_ACTIONS").isPresent - } - - vcsInfo { - headSha.set("abc123") - baseSha.set("def456") - vcsProvider.set("github") - headRepoName.set("organization/repository") - baseRepoName.set("organization/repository") - headRef.set("feature-branch") - baseRef.set("main") - prNumber.set(42) - } -} -``` - -```groovy {filename:build.gradle} -sentry { - sizeAnalysis { - enabled = providers.environmentVariable("GITHUB_ACTIONS").present - } - - vcsInfo { - headSha = 'abc123' - baseSha = 'def456' - vcsProvider = 'github' - headRepoName = 'organization/repository' - baseRepoName = 'organization/repository' - headRef = 'feature-branch' - baseRef = 'main' - prNumber = 42 - } -} -``` - -Available `vcsInfo` properties: - -| Property | Type | Description | -| -------------- | ------ | --------------------------------- | -| `headSha` | String | Current commit SHA | -| `baseSha` | String | Base commit SHA (for comparison) | -| `vcsProvider` | String | VCS provider (e.g., "github") | -| `headRepoName` | String | Repository name (org/repo format) | -| `baseRepoName` | String | Base repository name | -| `headRef` | String | Branch or tag name | -| `baseRef` | String | Base branch name | -| `prNumber` | Int | Pull request number | + diff --git a/public/platforms/android/build-distribution/images/android-metadata.png b/public/platforms/android/build-distribution/images/android-metadata.png new file mode 100644 index 0000000000000000000000000000000000000000..ecb49e94ad966ad4da85a8740bd644cd0e7463d0 GIT binary patch literal 33709 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 $(>AcZTQ~6c?U&?lN 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 TgN6HlNIP;;%91tWKZ5=@c3#dQ literal 0 HcmV?d00001 diff --git a/src/components/gradleFeatureConfig.tsx b/src/components/gradleFeatureConfig.tsx new file mode 100644 index 0000000000000..e02a0e8c4b830 --- /dev/null +++ b/src/components/gradleFeatureConfig.tsx @@ -0,0 +1,33 @@ +import {Fragment} from 'react'; + +import {CodeBlock} from './codeBlock'; + +type Props = { + feature: string; +}; + +export function GradleFeatureConfig({feature}: Props) { + return ( + + +
+          {`sentry {
+  ${feature} {
+    enabled = providers.environmentVariable("GITHUB_ACTIONS").isPresent
+  }
+}`}
+        
+
+ + +
+          {`sentry {
+  ${feature} {
+    enabled = providers.environmentVariable("GITHUB_ACTIONS").present
+  }
+}`}
+        
+
+
+ ); +} diff --git a/src/components/gradleUploadInstructions.tsx b/src/components/gradleUploadInstructions.tsx new file mode 100644 index 0000000000000..3227b39bc142f --- /dev/null +++ b/src/components/gradleUploadInstructions.tsx @@ -0,0 +1,205 @@ +import {Fragment} from 'react'; + +import {CodeBlock} from './codeBlock'; +import {GradleFeatureConfig} from './gradleFeatureConfig'; +import {OrgAuthTokenNote} from './orgAuthTokenNote'; + +type Props = { + feature: 'sizeAnalysis' | 'distribution'; +}; + +export function GradleUploadInstructions({feature}: Props) { + const featureName = feature === 'sizeAnalysis' ? 'size analysis' : 'distribution'; + + return ( + +

+ The Gradle plugin automatically detects build metadata from your git + repository. On GitHub Actions, all metadata is automatically detected. On other + CI systems, you may need to manually set some values using the{' '} + vcsInfo extension. +

+ +
    +
  1. + Configure the{' '} + + Sentry Android Gradle plugin + {' '} + with at least version 6.0.0-beta1 +
  2. + +
  3. +

    + Set the auth token as an environment variable to be used when running your + release build. +

    + + +
    +              {`export SENTRY_AUTH_TOKEN=___ORG_AUTH_TOKEN___`}
    +            
    +
    +
  4. + +
  5. +

    Enable uploading for {featureName} for CI builds.

    + +
  6. + +
  7. +

    + Invoke the following Gradle tasks to build your app and trigger the upload. +

    + +
    +              {`./gradlew bundleRelease`}
    +            
    +
    + +
    +              {`./gradlew assembleRelease`}
    +            
    +
    +
  8. + +
  9. +

    + After an upload has successfully processed, confirm the metadata is correct + in the Sentry UI +

    + Upload metadata +
  10. +
+ +

Overriding Metadata

+ +

+ The Gradle plugin automatically detects build metadata from your git + repository. On GitHub Actions, all metadata is automatically detected. On other + CI systems, you may need to manually set some values using the{' '} + vcsInfo extension. +

+ +

Configure overrides in your Gradle build configuration:

+ + +
+          {`sentry {
+  ${feature} {
+    enabled = providers.environmentVariable("GITHUB_ACTIONS").isPresent
+  }
+
+  vcsInfo {
+    headSha.set("abc123")
+    baseSha.set("def456")
+    vcsProvider.set("github")
+    headRepoName.set("organization/repository")
+    baseRepoName.set("organization/repository")
+    headRef.set("feature-branch")
+    baseRef.set("main")
+    prNumber.set(42)
+  }
+}`}
+        
+
+ + +
+          {`sentry {
+  ${feature} {
+    enabled = providers.environmentVariable("GITHUB_ACTIONS").present
+  }
+
+  vcsInfo {
+    headSha = 'abc123'
+    baseSha = 'def456'
+    vcsProvider = 'github'
+    headRepoName = 'organization/repository'
+    baseRepoName = 'organization/repository'
+    headRef = 'feature-branch'
+    baseRef = 'main'
+    prNumber = 42
+  }
+}`}
+        
+
+ +

+ Available vcsInfo properties: +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PropertyTypeDescription
+ headSha + StringCurrent commit SHA
+ baseSha + StringBase commit SHA (for comparison)
+ vcsProvider + StringVCS provider (e.g., "github")
+ headRepoName + StringRepository name (org/repo format)
+ baseRepoName + StringBase repository name
+ headRef + StringBranch or tag name
+ baseRef + StringBase branch name
+ prNumber + IntPull request number
+
+ ); +} diff --git a/src/mdxComponents.ts b/src/mdxComponents.ts index e9d31ee401f64..e75c934a936e5 100644 --- a/src/mdxComponents.ts +++ b/src/mdxComponents.ts @@ -15,6 +15,8 @@ import {DevDocsCardGrid} from './components/devDocsCardGrid'; import DocImage from './components/docImage'; import {Expandable} from './components/expandable'; import {GitHubDomainChecker} from './components/githubDomainChecker'; +import {GradleFeatureConfig} from './components/gradleFeatureConfig'; +import {GradleUploadInstructions} from './components/gradleUploadInstructions'; import {GuideGrid} from './components/guideGrid'; import {JsBundleList} from './components/jsBundleList'; import {LambdaLayerDetail} from './components/lambdaLayerDetail'; @@ -77,6 +79,8 @@ export function mdxComponents( TableOfContents, CreateGitHubAppForm, GitHubDomainChecker, + GradleFeatureConfig, + GradleUploadInstructions, ConfigValue, DefinitionList, Expandable, From f3015142ec6955ce3a2f588c7a3d5c03c20fe21d Mon Sep 17 00:00:00 2001 From: "getsantry[bot]" <66042841+getsantry[bot]@users.noreply.github.com> Date: Wed, 12 Nov 2025 14:13:23 +0000 Subject: [PATCH 3/6] [getsentry/action-github-commit] Auto commit --- src/components/gradleUploadInstructions.tsx | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/src/components/gradleUploadInstructions.tsx b/src/components/gradleUploadInstructions.tsx index 3227b39bc142f..328268718e10b 100644 --- a/src/components/gradleUploadInstructions.tsx +++ b/src/components/gradleUploadInstructions.tsx @@ -14,10 +14,9 @@ export function GradleUploadInstructions({feature}: Props) { return (

- The Gradle plugin automatically detects build metadata from your git - repository. On GitHub Actions, all metadata is automatically detected. On other - CI systems, you may need to manually set some values using the{' '} - vcsInfo extension. + The Gradle plugin automatically detects build metadata from your git repository. + On GitHub Actions, all metadata is automatically detected. On other CI systems, + you may need to manually set some values using the vcsInfo extension.

    @@ -65,8 +64,8 @@ export function GradleUploadInstructions({feature}: Props) {
  1. - After an upload has successfully processed, confirm the metadata is correct - in the Sentry UI + After an upload has successfully processed, confirm the metadata is correct in + the Sentry UI

    Overriding Metadata

    - The Gradle plugin automatically detects build metadata from your git - repository. On GitHub Actions, all metadata is automatically detected. On other - CI systems, you may need to manually set some values using the{' '} - vcsInfo extension. + The Gradle plugin automatically detects build metadata from your git repository. + On GitHub Actions, all metadata is automatically detected. On other CI systems, + you may need to manually set some values using the vcsInfo extension.

    Configure overrides in your Gradle build configuration:

    From 5796a5bd5d56c1402061b39bce713a2d7773ba0b Mon Sep 17 00:00:00 2001 From: Nelson Osacky Date: Wed, 12 Nov 2025 17:34:25 +0100 Subject: [PATCH 4/6] feat(docs): Add CodeTabs to all Gradle code snippets MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Use codeToJsx with CodeTabs for proper syntax highlighting across all Gradle configuration examples. This includes Kotlin/Groovy configuration blocks and aab/apk build command examples. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude --- src/components/gradleFeatureConfig.tsx | 22 +++++--- src/components/gradleUploadInstructions.tsx | 58 ++++++++++++--------- src/components/highlightCode.tsx | 6 ++- 3 files changed, 51 insertions(+), 35 deletions(-) diff --git a/src/components/gradleFeatureConfig.tsx b/src/components/gradleFeatureConfig.tsx index e02a0e8c4b830..4106c97ff1294 100644 --- a/src/components/gradleFeatureConfig.tsx +++ b/src/components/gradleFeatureConfig.tsx @@ -1,6 +1,6 @@ -import {Fragment} from 'react'; - import {CodeBlock} from './codeBlock'; +import {CodeTabs} from './codeTabs'; +import {codeToJsx} from './highlightCode'; type Props = { feature: string; @@ -8,26 +8,32 @@ type Props = { export function GradleFeatureConfig({feature}: Props) { return ( - +
    -          {`sentry {
    +          {codeToJsx(
    +            `sentry {
       ${feature} {
         enabled = providers.environmentVariable("GITHUB_ACTIONS").isPresent
       }
    -}`}
    +}`,
    +            'kotlin'
    +          )}
             
    -          {`sentry {
    +          {codeToJsx(
    +            `sentry {
       ${feature} {
         enabled = providers.environmentVariable("GITHUB_ACTIONS").present
       }
    -}`}
    +}`,
    +            'groovy'
    +          )}
             
    -
    + ); } diff --git a/src/components/gradleUploadInstructions.tsx b/src/components/gradleUploadInstructions.tsx index 328268718e10b..e5c7805f57f0e 100644 --- a/src/components/gradleUploadInstructions.tsx +++ b/src/components/gradleUploadInstructions.tsx @@ -1,7 +1,9 @@ import {Fragment} from 'react'; import {CodeBlock} from './codeBlock'; +import {CodeTabs} from './codeTabs'; import {GradleFeatureConfig} from './gradleFeatureConfig'; +import {codeToJsx} from './highlightCode'; import {OrgAuthTokenNote} from './orgAuthTokenNote'; type Props = { @@ -35,9 +37,7 @@ export function GradleUploadInstructions({feature}: Props) {

    -
    -              {`export SENTRY_AUTH_TOKEN=___ORG_AUTH_TOKEN___`}
    -            
    +
    {codeToJsx(`export SENTRY_AUTH_TOKEN=___ORG_AUTH_TOKEN___`, 'bash')}
  2. @@ -50,16 +50,14 @@ export function GradleUploadInstructions({feature}: Props) {

    Invoke the following Gradle tasks to build your app and trigger the upload.

    - -
    -              {`./gradlew bundleRelease`}
    -            
    -
    - -
    -              {`./gradlew assembleRelease`}
    -            
    -
    + + +
    {codeToJsx(`./gradlew bundleRelease`, 'bash')}
    +
    + +
    {codeToJsx(`./gradlew assembleRelease`, 'bash')}
    +
    +
  3. @@ -85,9 +83,11 @@ export function GradleUploadInstructions({feature}: Props) {

    Configure overrides in your Gradle build configuration:

    - -
    -          {`sentry {
    +      
    +        
    +          
    +            {codeToJsx(
    +              `sentry {
       ${feature} {
         enabled = providers.environmentVariable("GITHUB_ACTIONS").isPresent
       }
    @@ -102,13 +102,16 @@ export function GradleUploadInstructions({feature}: Props) {
         baseRef.set("main")
         prNumber.set(42)
       }
    -}`}
    -        
    - - - -
    -          {`sentry {
    +}`,
    +              'kotlin'
    +            )}
    +          
    +
    + + +
    +            {codeToJsx(
    +              `sentry {
       ${feature} {
         enabled = providers.environmentVariable("GITHUB_ACTIONS").present
       }
    @@ -123,9 +126,12 @@ export function GradleUploadInstructions({feature}: Props) {
         baseRef = 'main'
         prNumber = 42
       }
    -}`}
    -        
    - +}`, + 'groovy' + )} +
    +
    +

    Available vcsInfo properties: diff --git a/src/components/highlightCode.tsx b/src/components/highlightCode.tsx index 14e85bb8ebae9..3b281bb924593 100644 --- a/src/components/highlightCode.tsx +++ b/src/components/highlightCode.tsx @@ -3,16 +3,20 @@ import {jsx, jsxs} from 'react/jsx-runtime'; import {toJsxRuntime} from 'hast-util-to-jsx-runtime'; import {Nodes} from 'hastscript/lib/create-h'; import bash from 'refractor/lang/bash.js'; +import groovy from 'refractor/lang/groovy.js'; import json from 'refractor/lang/json.js'; +import kotlin from 'refractor/lang/kotlin.js'; import typescript from 'refractor/lang/typescript.js'; import {refractor} from 'refractor/lib/core.js'; refractor.register(bash); +refractor.register(groovy); refractor.register(json); +refractor.register(kotlin); refractor.register(typescript); // If a new language should be supported, add it here and register it in refractor above -export const SUPPORTED_LANGUAGES = ['bash', 'json', 'typescript']; +export const SUPPORTED_LANGUAGES = ['bash', 'groovy', 'json', 'kotlin', 'typescript']; export function codeToJsx(code: string, lang = 'json') { if (!SUPPORTED_LANGUAGES.includes(lang)) { From aebf53131f3aa2727b477dd560ffce4dd670ea2a Mon Sep 17 00:00:00 2001 From: "getsantry[bot]" <66042841+getsantry[bot]@users.noreply.github.com> Date: Wed, 12 Nov 2025 16:35:31 +0000 Subject: [PATCH 5/6] [getsentry/action-github-commit] Auto commit --- src/components/gradleUploadInstructions.tsx | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/components/gradleUploadInstructions.tsx b/src/components/gradleUploadInstructions.tsx index e5c7805f57f0e..d7e4bec60181f 100644 --- a/src/components/gradleUploadInstructions.tsx +++ b/src/components/gradleUploadInstructions.tsx @@ -37,7 +37,9 @@ export function GradleUploadInstructions({feature}: Props) {

    -
    {codeToJsx(`export SENTRY_AUTH_TOKEN=___ORG_AUTH_TOKEN___`, 'bash')}
    +
    +              {codeToJsx(`export SENTRY_AUTH_TOKEN=___ORG_AUTH_TOKEN___`, 'bash')}
    +            
  4. From f37d88a8534ff4ab4b8c5fc00ae34a8765928372 Mon Sep 17 00:00:00 2001 From: Nelson Osacky Date: Wed, 12 Nov 2025 17:37:01 +0100 Subject: [PATCH 6/6] chore(docs): Remove unused files MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Remove unused gradle-config files and duplicate android-metadata.png from includes directory. The android-metadata.png in public/ is the one being used. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude --- .../images/android-metadata.png | Bin 33709 -> 0 bytes includes/gradle-config/distribution.mdx | 16 ---------------- includes/gradle-config/sizeAnalysis.mdx | 16 ---------------- 3 files changed, 32 deletions(-) delete mode 100644 includes/build-distribution/images/android-metadata.png delete mode 100644 includes/gradle-config/distribution.mdx delete mode 100644 includes/gradle-config/sizeAnalysis.mdx diff --git a/includes/build-distribution/images/android-metadata.png b/includes/build-distribution/images/android-metadata.png deleted file mode 100644 index ecb49e94ad966ad4da85a8740bd644cd0e7463d0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 33709 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 $(>AcZTQ~6c?U&?lN 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 TgN6HlNIP;;%91tWKZ5=@c3#dQ diff --git a/includes/gradle-config/distribution.mdx b/includes/gradle-config/distribution.mdx deleted file mode 100644 index 72d3eacb80dbb..0000000000000 --- a/includes/gradle-config/distribution.mdx +++ /dev/null @@ -1,16 +0,0 @@ -```kotlin {filename:build.gradle.kts} -sentry { - distribution { - enabled = providers.environmentVariable("GITHUB_ACTIONS").isPresent - } -} -``` - -```groovy {filename:build.gradle} -sentry { - distribution { - enabled = providers.environmentVariable("GITHUB_ACTIONS").present - } -} -``` - diff --git a/includes/gradle-config/sizeAnalysis.mdx b/includes/gradle-config/sizeAnalysis.mdx deleted file mode 100644 index 9ced14e2d1715..0000000000000 --- a/includes/gradle-config/sizeAnalysis.mdx +++ /dev/null @@ -1,16 +0,0 @@ -```kotlin {filename:build.gradle.kts} -sentry { - sizeAnalysis { - enabled = providers.environmentVariable("GITHUB_ACTIONS").isPresent - } -} -``` - -```groovy {filename:build.gradle} -sentry { - sizeAnalysis { - enabled = providers.environmentVariable("GITHUB_ACTIONS").present - } -} -``` -