Repository navigation
ci(e2e): give each server demo its own return URL - #102
Merged
Merged
Conversation
The Live DocuSign job on main failed at boot: mint-only-demo did not answer within 30s DocuSignConfigError: DocuSign: missing configuration: DOCUSIGN_RETURN_URL Minting a hosted-form instance requires a returnUrl (HOSTED_FORM_SETTINGS): the demo serves its own bridge at GET /signing/return but cannot know its own public origin, so the value is configuration with no safe default. Nothing was ever setting it for the demos. Locally the suite looked green because live_env sources packages/esign-service/.env with `set -a`, leaking that file's DOCUSIGN_RETURN_URL - the service's, at the service's port - into every process the suite starts. live_env's other branch, the one CI takes, exports only the JWT credentials and the ids, so in CI the demos booted with no return URL at all. Derive it per demo from the port that demo was given, the way live_service_up already does for the service. Explicit beats inherited twice over: CI gets a value, and the local run stops silently pointing the demos at the service's bridge. Verified by booting mint-only-demo with the job's exact environment: fails with that error without the variable, boots with it. `make e2e-live` remains the real check.
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.
mainis red. The Live DocuSign job fails at boot, before it reaches DocuSign at all:Why
Minting a hosted-form instance requires a
returnUrl(HOSTED_FORM_SETTINGS). The demoserves its own bridge at
GET /signing/returnbut cannot know its own public origin, sothe value is configuration with no safe default — unlike the service, which defaults it
from its own port.
Nothing was setting it for the demos. It looked fine locally because
live_envsourcespackages/esign-service/.envwithset -a, leaking that file'sDOCUSIGN_RETURN_URL—the service's, at the service's port — into every process the suite starts. The branch
CI takes exports only the JWT credentials and the ids, so in CI the demos booted with no
return URL at all.
That is the general shape to watch for here: a component that quietly relies on a leaked
variable is green locally and red in CI. The failure-modes table in
docs/operations/live-e2e-ci.mdnow says so, with this row added.What changed
server-demos-smoke.sh'sstart()derives the return URL per demo from the port thatdemo was given, exactly as
live_service_upalready does for the service. Explicit beatsinherited twice over: CI gets a value, and the local run stops silently pointing the demos
at the service's bridge.
Verified
Booted
mint-only-demowith the job's exact environment — the four JWT credentials and theids, no return URL: fails with that error without the variable, boots with it. The mock
server-demos-smoke.shis green on the CI port base.make e2e-liveis the real check andneeds the DocuSign credentials.