Skip to content

fix(ci): release email workflow — public DB URL, no CI migrate#298

Closed
unjica wants to merge 25 commits into
developfrom
fix/release-email-public-db
Closed

fix(ci): release email workflow — public DB URL, no CI migrate#298
unjica wants to merge 25 commits into
developfrom
fix/release-email-public-db

Conversation

@unjica

@unjica unjica commented Jul 9, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • Remove prisma migrate deploy from Release product email — Actions runners cannot reach postgres.railway.internal (Railway private network).
  • Migrations remain a pre-tag manual step per RELEASE.md.
  • Document that GitHub DATABASE_URL must be Railway’s public TCP proxy URL for the send ledger.

Operator action (before re-run)

Update GitHub production environment secret DATABASE_URL to the public Postgres URL from Railway (not the internal *.railway.internal value copied from the API service).

Test plan

  • Merge to main
  • Run Release product email with 1.6.0 / 1.5.18

Made with Cursor

FelineFantasy and others added 25 commits July 8, 2026 00:38
release: sync develop — release email workflow production fixes
GitHub Actions cannot reach Railway postgres.railway.internal; migrations stay a pre-tag manual step. Document public DATABASE_URL for the send ledger.

Co-authored-by: Cursor <cursoragent@cursor.com>

@cursor cursor Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Cursor Bugbot has reviewed your changes using default effort and found 4 potential issues.

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit b39757e. Configure here.


const options = {
hostname: 'api.telemetry-tracker.com',
path: '/api/project/source-maps',

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Hardcoded production API hostname

Medium Severity

The upload step always posts to api.telemetry-tracker.com with no input for API base URL. Self-hosted or staging deployments cannot target their own API host, so the action fails or uploads maps to the wrong environment unless the file is forked and edited.

Fix in Cursor Fix in Web

Reviewed by Cursor Bugbot for commit b39757e. Configure here.

Comment thread docs/source-maps.md
with:
session_cookie: ${{ secrets.TT_SESSION_COOKIE }}
project_id: "your-project-uuid-here"
release: ${{ github.event.release.tag_name }}

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Release tag keeps v prefix

Medium Severity

The workflow example passes github.event.release.tag_name (e.g. v1.6.0) as release, while upload API docs and tests use semver without a v prefix. Maps are keyed by exact release string, so symbolication will not match errors sent with 1.6.0.

Additional Locations (1)
Fix in Cursor Fix in Web

Reviewed by Cursor Bugbot for commit b39757e. Configure here.

// 2. Remove .map to get the original JS path
const jsPath = relativePath.replace(/\.map$/, '');
// 3. Build the full URL
const bundleUrl = \`\${{ inputs.base_url }}/\${jsPath}\`;

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Trailing slash doubles URL path

Medium Severity

bundle_url is built as `${base_url}/${jsPath}` without normalizing base_url. A trailing slash on base_url yields a double slash in the path, which can fail strict pathname matching during symbolication.

Fix in Cursor Fix in Web

Reviewed by Cursor Bugbot for commit b39757e. Configure here.

const files = findFiles('${{ inputs.artifact_path }}');
if (files.length === 0) {
console.log('No source maps found to upload.');
return;

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Missing maps exits success

Low Severity

When no .map files are found under artifact_path, the script logs and returns without process.exit(1). A misconfigured path or failed build step still leaves the release upload job green.

Fix in Cursor Fix in Web

Reviewed by Cursor Bugbot for commit b39757e. Configure here.

@unjica

unjica commented Jul 9, 2026

Copy link
Copy Markdown
Collaborator Author

Superseded by #299 (merged to develop) and #300 (merged to main).

@unjica unjica closed this Jul 9, 2026
@unjica
unjica deleted the fix/release-email-public-db branch July 11, 2026 22:51
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