| ... | @@ -312,14 +312,16 @@ jobs: | ... | @@ -312,14 +312,16 @@ jobs: |
| 312 | - --filter=t3code-relay... | 312 | - --filter=t3code-relay... |
| 313 | | 313 | |
| 314 | # The deployed stack's outputs, read from Alchemy's state store without | 314 | # The deployed stack's outputs, read from Alchemy's state store without |
| 315 | # planning or applying. Redacted values are persisted as | 315 | # planning or applying. Select the backend explicitly to avoid loading |
| | 316 | # the stack's unrelated provider credentials; suppress informational logs |
| | 317 | # so stdout stays valid JSON. Redacted values are persisted as |
| 316 | # {"__redacted__": "<value>"}; the token is masked before it is written. | 318 | # {"__redacted__": "<value>"}; the token is masked before it is written. |
| 317 | - name: Read production relay tracing config | 319 | - name: Read production relay tracing config |
| 318 | shell: bash | 320 | shell: bash |
| 319 | working-directory: infra/relay | 321 | working-directory: infra/relay |
| 320 | run: | | 322 | run: | |
| 321 | set -euo pipefail | 323 | set -euo pipefail |
| 322 | output="$(npx alchemy state read T3CodeRelay/prod/output --no-input)" | 324 | output="$(npx alchemy state read T3CodeRelay/prod/output --backend cloudflare --log-level error --no-input)" |
| 323 | field() { | 325 | field() { |
| 324 | jq -er --arg key "$1" '.[$key] | if type == "object" then .__redacted__ else . end | select(. != null and . != "")' <<<"$output" \ | 326 | jq -er --arg key "$1" '.[$key] | if type == "object" then .__redacted__ else . end | select(. != null and . != "")' <<<"$output" \ |
| 325 | || { echo "Relay stack output is missing $1" >&2; exit 1; } | 327 | || { echo "Relay stack output is missing $1" >&2; exit 1; } |