Skip to content

fix: repair 2.0 demo setup after release stamp - #140

Closed
NikolayS wants to merge 4 commits into
mainfrom
agent/fix-2-0-demo-release-path
Closed

fix: repair 2.0 demo setup after release stamp#140
NikolayS wants to merge 4 commits into
mainfrom
agent/fix-2-0-demo-release-path

Conversation

@NikolayS

@NikolayS NikolayS commented Jul 10, 2026

Copy link
Copy Markdown
Owner

Closes #138

Summary

  • resolve the current fresh installer through ash_sql_chain.py instead of the removed devel/sql/ash-install.sql
  • publish readiness only after installation, pgbench initialization, sampler startup, and workload launch succeed
  • make the recorder fail promptly on setup exit, timeout, or container death and print useful diagnostics
  • add positive and missing-installer Docker smoke coverage
  • harden the changed demo and workflow shell blocks with strict error handling, deterministic IFS, noninteractive Postgres commands, and reliable cleanup
  • preserve the workload's original command or signal exit status during cleanup
  • remove the unsupported ASH_CRON_OPTIONAL guidance
  • regenerate and visually verify the 2.0 beta cast and GIF

Root cause

The 2.0 beta release stamp moved the fresh installer from devel/sql/ to sql/, while the demo entrypoint retained the removed development path. The detached recorder also had no readiness handshake, so setup could fail immediately and the host would still enter the full warmup.

Validation

At corrected head 036469d:

  • reproduced the original Postgres 18 failure from origin/main: /repo/devel/sql/ash-install.sql was missing
  • make -C demos smoke: passed with version 2.0-beta1, pg_cron available, exactly one sampler job, and a live sample
  • forced ASH_INSTALL_SQL=/repo/does-not-exist.sql make -C demos smoke: failed in 8 seconds, reported pg_ash installer not readable, and surfaced demo setup exited before readiness
  • full default make -C demos record: passed end to end, including the Docker build, 330-second warmup, live recording, agg rendering, and gifsicle optimization
  • after recording, workload cleanup was corrected so failures and INT/TERM signals are not converted into success; the exact-head positive and negative smoke checks pass after that correction
  • bash -n demos/*.sh
  • shellcheck -x demos/*.sh
  • actionlint -shellcheck ''
  • make -C demos check
  • git diff --check
  • hosted checks on corrected head 036469d: 12 passed, with none pending, failing, cancelled, or skipped

Refreshed artifacts

  • demos/ash_demo.cast: 48,256 bytes, 1,162 lines, first event at 0.0, current 2.0-beta1 status, UTC +00 timestamps, and no ERROR, FATAL, or PANIC
  • demos/ash_demo.gif: 419,214 bytes, 867 frames, 1020 × 462 pixels

Seven representative GIF frames were inspected at original resolution. The opening banner and status, periods table, zero-based colored chart and legend, wait-event AAS/backend-seconds/percentage output, query drill, and closing diagnosis are readable, aligned, and fit the recording geometry.

The pull request intentionally remains draft.

@NikolayS NikolayS changed the title fix: restore the 2.0 demo release path fix: repair 2.0 demo setup after release stamp Jul 11, 2026

@NikolayS NikolayS left a comment

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

samorev-spec-assisted review

Reviewed corrected head 036469d52087aa12fe4b136faa92cac309765431 by applying the samorev specialist specifications directly.

Code review

  • Bug Hunter: NO_FINDINGS
  • Security Reviewer: NO_FINDINGS
  • Documentation Reviewer: NO_FINDINGS
  • Guidelines Checker: NO_FINDINGS
  • Test Analyzer: NO_FINDINGS
  • Sqitch Migration Checker: not applicable; this repository is not Sqitch-enabled

The implementation review found no blocking or non-blocking code findings. Installer discovery, readiness/error propagation, smoke validation, recorder cleanup, workload signal handling, and the refreshed demo documentation are internally consistent at this head.

Manual and local evidence

This evidence is separate from the code-review verdict and hosted CI:

  • exact-head positive Postgres 18 Docker smoke passed with 2.0-beta1, pg_cron, one sampler job, and live samples
  • exact-head missing-installer smoke failed in 8 seconds with the expected diagnostics
  • bash -n, ShellCheck, workflow parsing, demo prerequisite checks, and git diff --check passed
  • a full default make -C demos record completed end to end
  • the refreshed cast is 48,256 bytes/1,162 lines, starts at 0.0, shows 2.0-beta1 and UTC timestamps, and contains no ERROR, FATAL, or PANIC
  • the GIF is 419,214 bytes, 867 frames, and 1020 × 462 pixels
  • seven representative frames were inspected at original resolution; the banner/status, periods, colored chart/legend, AAS drilldowns, query drill, and closing diagnosis are readable and aligned
  • the final workload cleanup correction preserves command/signal status; the exact-head smoke checks passed after that correction

Hosted CI

For the exact reviewed head, GitHub reported 12 successful checks and 0 pending, failing, cancelled, or skipped checks: CodeQL, docs lint, demo smoke, PG14–PG19 beta cron-on, and PG17 cron-off.

Gate status

This is a COMMENT review, not an approval. Explicit owner approval is still absent. The pull request remains draft and must not be merged or marked ready until the owner provides that approval.

Copy link
Copy Markdown
Owner Author

Closing this as superseded by #178. The reproducible visual harness in #178 replaces the demo setup and absorbs the release-path, readiness, and regenerated-artifact work from this draft; owner visual review should continue there.

@NikolayS NikolayS closed this Jul 28, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Bug: restore reproducible 2.0 demo after release stamp

1 participant