Skip to content

[37] [Trivial] Frontend: Deploy to Production Environment#472

Open
amehsamuel200225-sketch wants to merge 2 commits into
Junirezz:mainfrom
amehsamuel200225-sketch:fix/37-trivial-frontend-deploy-to-production-environment
Open

[37] [Trivial] Frontend: Deploy to Production Environment#472
amehsamuel200225-sketch wants to merge 2 commits into
Junirezz:mainfrom
amehsamuel200225-sketch:fix/37-trivial-frontend-deploy-to-production-environment

Conversation

@amehsamuel200225-sketch
Copy link
Copy Markdown

Summary

Finalizes the CI/CD pipeline to automatically deploy the React/Vite frontend to a production environment on Vercel when a release tag is pushed.

Changes

.github/workflows/production-deploy.yml [NEW]

A full production deployment pipeline triggered on �*.. release tags (and workflow_dispatch for manual releases). The workflow:

  1. Lint + unit tests – ensures the build is clean before deploying
  2. Production build – compiles with mainnet env vars (RPC URL, contract ID, Sentry DSN, etc.)
  3. Vercel deploy – deploys the pre-built \dist/\ to Vercel production
  4. Smoke test – checks the live URL returns HTTP 200 and contains expected content
  5. Release notes – appends the production URL and smoke-test result to the GitHub release

\ rontend/vercel.json\ [NEW]

Vercel project configuration for the Vite/React SPA:

  • SPA catch-all rewrites (all non-asset paths → \index.html)
  • Immutable caching for hashed asset bundles (\max-age=31536000, immutable)
  • Security headers: \X-Frame-Options: DENY, \X-Content-Type-Options: nosniff, \Referrer-Policy, \Permissions-Policy\

\deployments/contracts.mainnet.json\ [NEW]

Placeholder for mainnet Soroban contract IDs populated on first mainnet deploy.

\ rontend/src/pages/Portfolio.emptystate.test.tsx\ [MODIFIED]

Removed unused
eferralHooks\ namespace import that caused an ESLint
o-unused-vars\ error (lint now passes cleanly).

Acceptance Criteria

  • Automatic deployment on merge/tag to main
  • Production URL accessible (verified by smoke test step)

Closes #37

…unirezz#37)

- Add .github/workflows/production-deploy.yml: GitHub Actions workflow
  triggered on release tags (v*.*.*) and workflow_dispatch. Runs frontend
  lint + unit tests, builds with production mainnet env vars, deploys
  to Vercel production, runs a smoke test against the live URL, and posts
  a deployment summary to the GitHub release notes.

- Add frontend/vercel.json: Vite/React SPA config for Vercel with SPA
  catch-all rewrites, immutable asset caching, and security headers
  (X-Frame-Options, X-Content-Type-Options, Referrer-Policy, etc.).

- Add deployments/contracts.mainnet.json: placeholder for mainnet contract
  IDs to be populated on first mainnet deploy.

- Fix frontend/src/pages/Portfolio.emptystate.test.tsx: remove unused
  referralHooks namespace import (ESLint no-unused-vars error).

Closes Junirezz#37
@drips-wave
Copy link
Copy Markdown

drips-wave Bot commented May 27, 2026

@amehsamuel200225-sketch Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits.

You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀

Learn more about application limits

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.

[Trivial] Frontend: Deploy to Production Environment

1 participant