Repository navigation
feat: deploy and monitoring providers, with Sentry and Vercel - #7
Open
ricardogobbosouza wants to merge 7 commits into
Open
ricardogobbosouza wants to merge 7 commits into
ricardogobbosouza wants to merge 7 commits into
Conversation
- The deploy action loads providers/<id>.sh (provider_settle_seconds, provider_check, provider_trigger) for Forge and Laravel Cloud, and monitoring/<id>.sh for the deploy markers (Nightwatch); the release history, health checks, rollbacks and issues stay shared. A provider name that is not a script there stops the deploy. - The CLI describes each deploy target in cli/providers/deploy/<id>.js, with the steps left to do by hand, and Nightwatch in cli/providers/monitoring/nightwatch.js; a stack lists the ones it offers. - shellcheck also covers the provider scripts. No behavior change for Forge, Laravel Cloud or Nightwatch. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- The relay accepts Sentry issue alerts (internal integration with Alert Rule Action): HMAC-SHA256 in Sentry-Hook-Signature, the event's environment and timestamp, the innermost frame of the app. Sentry's issue webhooks carry neither the environment nor a signed sending time, so they are ignored: issues are closed in GitHub. - project.yml takes monitoring (nightwatch, sentry or none) and passes it to deploy, which names it in the issue of a failed deploy and marks deploys only in that service (Nightwatch on Forge). - Setup asks for the app's monitoring service, registers the signing secret under its relay provider, skips the performance question for Sentry and lists sentry/sentry-laravel; check looks the relay up and the package for it. Written from Sentry's documentation: the first real delivery still has to be checked. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The deploy action creates a Vercel deployment of the exact commit through the API (VERCEL_TOKEN secret, VERCEL_PROJECT and optional VERCEL_TEAM_ID and VERCEL_TARGET variables of the environment; the target is the environment's name), so rollbacks work as on Forge, and follows the build until it is ready instead of a fixed wait. A provider can now define provider_wait; the test curl can answer with a body. Setup does not offer Vercel yet: the environments are set by hand until the JavaScript stack. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
1 of 5 tasks
# Conflicts: # cli/kinds/project/index.js # cli/test/check.test.js # cli/test/setup.test.js # docs/reference.md
…app guide Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Inspector's error notifications open the GitHub issues through the relay. They carry no signature nor environment, so the relay stores one application key per environment and the key in X-Inspector-Key names it. Setup asks for each key and check reports the ones missing. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
providers/<id>.sh(provider_settle_seconds,provider_check,provider_trigger, optionallyprovider_wait) andmonitoring/<id>.shfor the deploy markers; the CLI describes each target incli/providers/deploy/<id>.jsand each monitoring service incli/providers/monitoring/<id>.js. No behavior change for Forge, Laravel Cloud or Nightwatch.Sentry-Hook-Signature).project.ymltakesmonitoring(nightwatch,sentryornone); setup asks for it, registers the secret under the right relay provider and listssentry/sentry-laravel.deploy: vercelcreates a deployment of the exact commit through the API (VERCEL_TOKEN,VERCEL_PROJECT, optionalVERCEL_TEAM_IDandVERCEL_TARGET), so rollbacks work as on Forge, and follows the build until it is ready instead of a fixed wait. Setup does not offer it yet (it comes with the js stack, feat: js stack for Next and Nuxt apps and JavaScript libraries, with the core plugin #8 on top of this one).Stacked on #6: merge that first, then this one targets
main. Non-breaking: released as a minor (v2.1.0).Known limitations
Test plan
npm test,npm run lint, relay tests,shellcheck,actionlintwith the local workflow referencesdeploy.ymlof this branch: deploy, health watch and a rollback still behave as today (Nightwatch markers included)env:labeldeploy: vercel(environments set by hand): deployment of the exact commit, wait until ready, health watch and a rollback🤖 Generated with Claude Code