8000 #551 PR 2: delete the executor's query path, test-hooks, size gate by adityamukho · Pull Request #716 · project-minigraf/minigraf · GitHub
[go: up one dir, main page]

Skip to content
Merged
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
15 changes: 1 addition & 14 deletions .github/workflows/binary-size.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,16 +14,7 @@ jobs:
name: Check release binary size
runs-on: ubuntu-latest
env:
# 1260 KiB: 1200 KiB (raised from 1 MiB for #277's structured error codes) plus a
# temporary 60 KiB while the streaming engine and the executor both ship (#473;
# 30 KiB more for rule queries on the engine, #548). Back to 1200 KiB when #551
# removes the executor's query path. See PHILOSOPHY.md §4.
SIZE_LIMIT_BYTES: 1290240
# Temporarily report-only on v3: #549 left the binary at 1259 of 1260 KiB with
# #549 PR 2, #550 and #551 still to land while both query paths ship. A size over
# the limit is a warning, not a failure. Set back to "fail", with a limit of
# 1228800 (1200 KiB), when #551 removes the executor's query path.
SIZE_GATE: report
SIZE_LIMIT_BYTES: 1228800 # 1200 KiB — raised from 1 MiB for #277's structured error codes; see PHILOSOPHY.md §4
steps:
- name: Checkout code
uses: actions/checkout@v4
Expand All @@ -42,10 +33,6 @@ jobs:
LIMIT_KB=$(( SIZE_LIMIT_BYTES / 1024 ))
echo "Binary size: ${SIZE_KB} KiB (limit: ${LIMIT_KB} KiB)"
if [ "$SIZE" -gt "$SIZE_LIMIT_BYTES" ]; then
if [ "$SIZE_GATE" = "report" ]; then
echo "::warning::binary size ${SIZE_KB} KiB exceeds limit of ${LIMIT_KB} KiB (gate is report-only until #551)"
exit 0
fi
echo "FAIL: binary size ${SIZE_KB} KiB exceeds limit of ${LIMIT_KB} KiB"
exit 1
fi
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/crash-kill.yml
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ jobs:
# v3's large-transaction variant (#550) needs the test hooks; pass
# the feature wherever the checked-out Cargo.toml defines it.
features=""
if grep -q '^test-oracle = ' Cargo.toml; then features="--features test-oracle"; fi
if grep -q '^test-hooks = ' Cargo.toml; then features="--features test-hooks"; fi
echo "crash-kill features: ${features:-(none)}"
cargo test $features --test crash_kill_test -- --nocapture 2>&1 | tee crash-kill-output.txt

Expand All @@ -84,7 +84,7 @@ jobs:
echo
echo "- Run: $GITHUB_SERVER_URL/$GITHUB_REPOSITORY/actions/runs/$GITHUB_RUN_ID"
echo "- Commit: $(git rev-parse HEAD)"
echo "- Reproduce: cargo test --test crash_kill_test -- --nocapture (add --features test-oracle where Cargo.toml defines it)"
echo "- Reproduce: cargo test --test crash_kill_test -- --nocapture (add --features test-hooks where Cargo.toml defines it)"
echo " (set MINIGRAF_CRASH_KILL_ROUNDS to raise the round count; MINIGRAF_CRASH_KILL_SEED to the printed base seed to replay)"
echo
echo "## Test output"
Expand Down
13 changes: 6 additions & 7 deletions .github/workflows/rust.yml
Original file line number Diff line number Diff line change
Expand Up @@ -44,13 +44,12 @@ jobs:
- name: Check docs.rs build
run: cargo docs-rs --target ${{ matrix.target }}

# The streaming engine (#473) runs beside the existing executor until #551.
# With this feature every query the engine runs is also run by the executor,
# and a different answer fails the test, so the whole suite (model-based,
# property, golden corpus, integration) checks the engine.
oracle:
# The tests that need the test-only switches: plan independence (#596),
# forced `not`/`or` body forms (#546) and small transaction chunks (#550)
# in the model-based, property and crash tests.
test-hooks:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Run tests with the executor as the engine's oracle
run: cargo test --features test-oracle
- name: Run tests with the test-only switches
run: cargo test --features test-hooks
7 changes: 3 additions & 4 deletions .github/workflows/smoke.yml
Original file line number Diff line number Diff line change
Expand Up @@ -49,8 +49,7 @@ jobs:
RUST_BACKTRACE: 1

# #549 / #575: 1M aggregate groups complete or stop with QRY-012 under a
# limit; a 13-pattern cartesian product streams in a few MiB. Without
# test-oracle: the executor would run out of memory on the product.
# limit; a 13-pattern cartesian product streams in a few MiB.
memory-limit-acceptance:
name: Query memory limit acceptance
runs-on: ubuntu-latest
Expand All @@ -68,7 +67,7 @@ jobs:
RUST_BACKTRACE: 1

# #550: a 1M-fact transact holds at most one chunk of facts and commits as
# a checkpoint; peak RSS is printed. test-oracle: the statement reader's
# a checkpoint; peak RSS is printed. test-hooks: the statement reader's
# high-water mark.
large-transaction-acceptance:
name: Large transaction acceptance
Expand All @@ -82,6 +81,6 @@ jobs:
uses: dtolnay/rust-toolchain@stable

- name: Run the acceptance test
run: cargo test --profile bench --features test-oracle --test large_transaction_acceptance_test -- --ignored --nocapture
run: cargo test --profile bench --features test-hooks --test large_transaction_acceptance_test -- --ignored --nocapture
env:
RUST_BACKTRACE: 1
Loading
Loading
0