Skip to content

Verify Sentry release artifact handling#101

Closed
Just-Insane wants to merge 4 commits into
mainfrom
codex/spec21-sentry-release-verify
Closed

Verify Sentry release artifact handling#101
Just-Insane wants to merge 4 commits into
mainfrom
codex/spec21-sentry-release-verify

Conversation

@Just-Insane

Copy link
Copy Markdown
Contributor

Description

Adds repo-side verification for the Sentry release artifact workflow and documents the owner-side manual dispatch path. This confirms the current workflow wiring covers frontend sourcemaps, desktop/Apple debug files, Android mapping/native-symbol upload, and Android Size Analysis inputs without requiring real Sentry secrets locally.

Related to #83, #85, #87, #95, and #96.

What still requires owner-side Sentry access:

  • Configure/confirm Actions secrets: SENTRY_AUTH_TOKEN, SENTRY_ORG, SENTRY_PROJECT, and VITE_SENTRY_DSN.
  • Run a real workflow_dispatch or v* tag workflow so Sentry accepts uploads.
  • Verify in Sentry that the release has frontend artifacts, debug files, Android mapping/native symbols, and Android Size Analysis output.

Suggested manual smoke command after merge:

gh workflow run sentry-release-artifacts.yml \
  --ref main \
  -f release=manual-sentry-artifact-smoke-$(git rev-parse --short HEAD) \
  -f environment=production

Expected Sentry-side verification checklist:

  • The selected release exists and has frontend sourcemaps/artifacts uploaded.
  • An intentional frontend stack frame symbolicates to source instead of built dist chunks.
  • Linux, macOS, Windows, and current iOS simulator debug files appear under Debug Files with source context where supported.
  • Android ProGuard/R8 mapping and native symbol uploads completed for the release artifact build.
  • Android Size Analysis has a build for the selected release/run with the expected base SHA comparison.
  • GitHub uploaded the frontend, Linux, Apple, Windows, and Android size-report artifacts.

Type of change

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that causes existing functionality to change)
  • This change requires a documentation update

Checklist:

  • My code follows the style guidelines of this project
  • I have performed a self-review of my own code
  • I have commented my code, particularly in hard-to-understand areas
  • I have made corresponding changes to the documentation
  • My changes generate no new warnings
  • pnpm lint, pnpm fmt:check, pnpm typecheck, pnpm test:coverage, pnpm knip, and pnpm build all pass locally

Additional local/static validation:

  • actionlint .github/workflows/sentry-release-artifacts.yml
  • bash -n .github/scripts/configure-sentry-release-env.sh
  • Positive frontend env-script smoke test: wrote SENTRY_RELEASE, SENTRY_UPLOAD, VITE_SENTRY_RELEASE, SENTRY_ENVIRONMENT, and VITE_SENTRY_ENVIRONMENT.
  • Positive tag/Rust env-script smoke test: wrote tag-derived SENTRY_RELEASE and CARGO_PROFILE_RELEASE_DEBUG=1.
  • Negative env-script smoke test: missing VITE_SENTRY_DSN fails closed with ::error::Missing required Sentry secret(s): VITE_SENTRY_DSN.

AI disclosure:

  • Fully AI generated (adds a static workflow contract test and docs for owner-side Sentry release artifact verification).

Copilot AI review requested due to automatic review settings July 9, 2026 12:01
@Just-Insane Just-Insane temporarily deployed to cloudflare-preview July 9, 2026 12:01 — with GitHub Actions Inactive

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR adds a repo-side “contract test” to statically verify the Sentry release-artifacts workflow wiring (without needing real Sentry secrets locally) and updates SENTRY.md with an owner-side manual dispatch + verification checklist.

Changes:

  • Add a Vitest test that asserts the Sentry release workflow, env-script, Vite config, and Android Gradle settings remain wired for artifact/sourcemap/symbol/size uploads.
  • Document the owner-side gh workflow run manual verification path and a Sentry-side checklist in SENTRY.md.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 2 comments.

File Description
src/observability/sentryReleaseArtifactsWorkflow.test.ts New contract test that inspects workflow/config/script files to verify Sentry release artifact wiring stays intact.
SENTRY.md Adds owner-side manual dispatch instructions and post-run verification checklist for Sentry release artifacts.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread src/observability/sentryReleaseArtifactsWorkflow.test.ts Outdated
Comment thread src/observability/sentryReleaseArtifactsWorkflow.test.ts Outdated
Copilot AI review requested due to automatic review settings July 9, 2026 12:06
@Just-Insane Just-Insane temporarily deployed to cloudflare-preview July 9, 2026 12:06 — with GitHub Actions Inactive

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 2 out of 2 changed files in this pull request and generated 1 comment.

Comment thread src/observability/sentryReleaseArtifactsWorkflow.test.ts
@Just-Insane Just-Insane enabled auto-merge July 9, 2026 12:11
Copilot AI review requested due to automatic review settings July 9, 2026 12:17
@Just-Insane Just-Insane temporarily deployed to cloudflare-preview July 9, 2026 12:17 — with GitHub Actions Inactive

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 2 out of 2 changed files in this pull request and generated 1 comment.

Comment thread src/observability/sentryReleaseArtifactsWorkflow.test.ts Outdated
Copilot AI review requested due to automatic review settings July 9, 2026 12:20
@Just-Insane Just-Insane temporarily deployed to cloudflare-preview July 9, 2026 12:21 — with GitHub Actions Inactive
@Just-Insane Just-Insane added this pull request to the merge queue Jul 9, 2026

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 2 out of 2 changed files in this pull request and generated 2 comments.

Comment on lines +1 to +20
import { readFileSync } from "node:fs";
import { resolve } from "node:path";
import { describe, expect, it } from "vitest";

describe("Sentry release artifact workflow", () => {
const root = process.cwd();
const workflow = readFileSync(
resolve(root, ".github/workflows/sentry-release-artifacts.yml"),
"utf8",
);
const viteConfig = readFileSync(resolve(root, "vite.config.ts"), "utf8");
const releaseEnvScript = readFileSync(
resolve(root, ".github/scripts/configure-sentry-release-env.sh"),
"utf8",
);
const androidAppBuild = readFileSync(
resolve(root, "src-tauri/gen/android/app/build.gradle.kts"),
"utf8",
);

Comment on lines +23 to +24
expect(workflow).toMatch(/release:\r?\n\s+description: "Sentry release name\./);
expect(workflow).toMatch(/environment:\r?\n\s+description: "Sentry environment tag/);
@github-merge-queue github-merge-queue Bot removed this pull request from the merge queue due to a conflict with the base branch Jul 9, 2026
@Just-Insane Just-Insane closed this Jul 9, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants