Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 13 additions & 0 deletions .github/actions/preview-delivery/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -479,6 +479,19 @@ runs:
PR_NUMBER: ${{ inputs.pr_number }}
WEB_URL: ${{ steps.heroku.outputs.web_url }}
run: |
if ! docker run --rm \
--entrypoint python \
"inkcre-preview-release:$HEAD_SHA" \
-c \
'from pathlib import Path; raise SystemExit(0 if Path("/app/scripts/configure_peer_runtime.py").is_file() else 1)'; then
{
echo "### Preview runtime compatibility"
echo
echo "- Peer advertisement: skipped for a pre-Peer Client image"
} >> "$GITHUB_STEP_SUMMARY"
exit 0
fi

peer_id="$(
python -c \
"import uuid; print(uuid.uuid5(uuid.NAMESPACE_URL, 'inkcre-core-py-pr-$PR_NUMBER'))"
Expand Down
13 changes: 8 additions & 5 deletions tasks/preview-jwt-authority/packet.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,11 +30,14 @@ production and same-repository pull-request previews.
- The repository Secret, Production Core/PostgREST, PR 52 Core/PostgREST, and the browser
Preview setting have been converged to the selected key without exposing it in Git.
- Local focused and full repository contracts pass. The live PostgREST transport probe is
independently blocked because the database cleanup removed the Preview relations after
Core cached its ready state; PR 52 requires one complete Preview initialization run.
independently blocked because PR 52 intentionally uses the pre-Peer Client schema while
the current preview controller unconditionally invokes the newer Peer advertisement script.
- The compatibility fix keeps Peer convergence mandatory for capable images and skips only
images that prove they do not contain `scripts/configure_peer_runtime.py`; health and
authenticated PostgREST probes remain mandatory in both cases.

## Next Step

Commit and push the verified source slice after explicit authorization, admit it to `main`,
rerun PR 52 Preview initialization, verify the live transport, then delete the obsolete
`PREVIEW_JWT_SEED` environment secret.
Verify and admit the narrow preview-controller compatibility fix to `main`, rerun PR 52
Preview initialization, and verify the live authenticated transport against the Client
baseline.
2 changes: 2 additions & 0 deletions tests/test_preview_delivery.py
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,8 @@ def test_preview_builds_releases_probes_and_cleans_postgrest():
assert "derive_preview_jwt_secret.py" not in delivery
assert "registry.heroku.com/$POSTGREST_APP_NAME/web" in delivery
assert 'heroku ps:scale web=1:eco --app "$POSTGREST_APP_NAME"' in delivery
assert 'Path("/app/scripts/configure_peer_runtime.py").is_file()' in delivery
assert "Peer advertisement: skipped for a pre-Peer Client image" in delivery
assert "scripts/verify_postgrest_contract.py" in delivery
assert '--base-url "$POSTGREST_URL"' in delivery

Expand Down
Loading