Skip to content

Conversation

@kasperpeulen
Copy link
Contributor

Test Plan

Checklist

  • Tests updated
  • Docs updated

Screenshots

Copilot AI review requested due to automatic review settings December 24, 2025 12:05
Copy link

Copilot AI left a comment

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 transitions from a single shared staging environment to per-PR staging environments using Fly.io's PR review apps feature. The change simplifies initial setup by eliminating the need for a dedicated staging app while enabling isolated testing for each pull request.

Key Changes:

  • Removed staging environment setup from remix.init script
  • Implemented per-PR staging deployments using GitHub Actions
  • Updated documentation to reflect new deployment workflow with GitHub CLI commands for staging secrets

Reviewed changes

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

Show a summary per file
File Description
remix.init/index.mjs Removed staging app creation, secrets setup, volume creation, consul attachment, and staging deployment logic
prisma/seed.staging.sql Added seed data file with test users, notes, passwords, and role assignments for staging environments
other/litefs.yml Added conditional seeding of staging database with test data during deployment
fly.toml Updated app name and primary region configuration
docs/secrets.md Updated instructions to use GitHub CLI for staging secrets instead of fly secrets command
docs/monitoring.md Updated Sentry setup instructions to include GitHub CLI commands for staging
docs/email.md Updated Resend API key setup to use GitHub CLI for staging
docs/deployment.md Comprehensive rewrite removing staging app setup steps and documenting per-PR deployment workflow
docs/decisions/047-pr-staging-environments.md Added architectural decision record explaining the rationale and consequences of moving to per-PR staging
docs/database.md Added documentation about staging database seeding and removed extraneous blank line
.github/workflows/deploy.yml Restructured workflow to support per-PR staging deployments with automatic resource provisioning and cleanup

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

await $I`fly secrets set SESSION_SECRET=${getRandomString32()} INTERNAL_COMMAND_TOKEN=${getRandomString32()} HONEYPOT_SECRET=${getRandomString32()} ALLOW_INDEXING=false --app ${APP_NAME}-staging`
}
await $I`fly secrets set SESSION_SECRET=${getRandomString32()} INTERNAL_COMMAND_TOKEN=${getRandomString32()} HONEYPOT_SECRET=${getRandomString32()} --app ${APP_NAME}`
await $I`fly secrets set SESSION_SECRET=${getRandomString32()} HONEYPOT_SECRET=${getRandomString32()} --app ${APP_NAME}`
Copy link

Copilot AI Dec 24, 2025

Choose a reason for hiding this comment

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

The removal of INTERNAL_COMMAND_TOKEN from production secrets may break functionality that depends on this token. Verify that all code references to INTERNAL_COMMAND_TOKEN have been removed or updated.

Suggested change
await $I`fly secrets set SESSION_SECRET=${getRandomString32()} HONEYPOT_SECRET=${getRandomString32()} --app ${APP_NAME}`
await $I`fly secrets set SESSION_SECRET=${getRandomString32()} HONEYPOT_SECRET=${getRandomString32()} INTERNAL_COMMAND_TOKEN=${getRandomString32()} --app ${APP_NAME}`

Copilot uses AI. Check for mistakes.
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.

1 participant