Repository navigation
fix(smoke): execute mirror SQL and propagate SQL errors - #6
Open
Hanabi9248 wants to merge 3 commits into
Open
Hanabi9248 wants to merge 3 commits into
Hanabi9248 wants to merge 3 commits into
Conversation
Signed-off-by: Hanabi <317387557+Hanabi9248@users.noreply.github.com>
Signed-off-by: Hanabi <317387557+Hanabi9248@users.noreply.github.com>
Signed-off-by: Hanabi <317387557+Hanabi9248@users.noreply.github.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.
The Docker smoke paths can report success without validating the mirror SQL. The standalone helper feeds a here-document to psql without stopping on SQL errors. The GitHub Actions E2E step additionally omits
docker exec -i, so the SQL input is not attached to the container process.ON_ERROR_STOP=1for both stdin psql calls, so SQL errors produce a nonzero exit status.-iin the workflow's E2E call. The precedingpsql -ccalls and existing SQL statements are unchanged.tests/scripts/test_docker_smoke_workflow.py, which runs each complete selected YAMLrunblock with explicit Docker/psql command boundaries. It checks all five forwarded SQL statements, SQL-error and Docker-error statuses, and both preceding-ccontrols.The Docker exec reference documents stdin attachment, and the psql reference documents noninteractive error handling.
Validation: standalone full-helper regression: baseline 1 failure/3 passing controls, candidate 4 passing cases. New workflow full-run-block regression: baseline 2 failures/3 passing controls, candidate all 5 cases pass. These are separate suites; the accepted standalone helper suite was not rerun for the workflow increment. Public workflow checks can be run with
BASH_EXECUTABLE=/path/to/bash python3 tests/scripts/test_docker_smoke_workflow.py -v.Both suites use real Bash (and real stdin capture), with explicit external-command fixtures modeling the documented Docker/psql boundaries. No Docker daemon, real psql/SQL parser, mirror queries, Rust/pgrx build, Linux integration or full GitHub Actions run was executed locally. All existing file modes are retained, including executable mode 100755 for the standalone helper. Native checks ran serially with CPU1/aggregate 768 MiB/16 processes/private TMP/BLAS1. The workflow still queries the mirror count without asserting an expected count; this change does not claim to validate every E2E property.
Prepared with AI assistance; production changes, public regression and validation boundaries reviewed.