Skip to content

ci.yml: fix flakiness - #39

Merged
veprbl merged 5 commits into
mainfrom
pr/ci_timeout
Sep 2, 2026
Merged

ci.yml: fix flakiness#39
veprbl merged 5 commits into
mainfrom
pr/ci_timeout

Conversation

@veprbl

@veprbl veprbl commented Sep 2, 2026

Copy link
Copy Markdown
Collaborator

@veprbl veprbl changed the title ci.yml: increase job timeout ci.yml: fix flakiness Sep 2, 2026
jobs are flaky on CI
Fix the inverted timeout>interval (now 5s timeout, 10s interval).
…pendents

The panda-database image runs first-run init on a fresh CI volume (initdb +
panda_db_init.sh) and restarts the container once. During that window it
listens on the Unix socket only and transitions through unhealthy. Starting
dependents via depends_on: service_healthy at the same time races this and
intermittently aborts with 'container ...-postgres-1 is unhealthy'.

Start postgres/activemq/mariadb first, wait for two consecutive healthy
reads (past the init restart), then bring up the rest.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

🟡 Changes recommended

The updated Postgres healthcheck still references an env var not set inside the container, and the action’s Postgres container detection relies on a constructed name that can break under project-name normalization.

Once you've addressed the issues Copilot identified, you can request another Copilot review.

Pull request overview

This PR targets CI flakiness in the PanDA Compose GitHub Actions smoke test by making startup sequencing and timeouts more tolerant of first-run database initialization behavior.

Changes:

  • Adjust PostgreSQL healthcheck parameters in docker-compose.yml to check readiness more frequently with a shorter timeout.
  • Update the composite action to start base services first and explicitly wait for PostgreSQL to reach a stable healthy state before starting dependents.
  • Increase the CI integration-test polling timeout from 10 to 20 minutes to reduce spurious failures.
File summaries
File Description
docker-compose.yml Tweaks Postgres healthcheck command/interval/timeout used by Compose health gating.
action.yml Adds staged startup + Postgres “stable healthy” wait logic to avoid depends_on health race during init/restart.
.github/workflows/ci.yml Extends job status polling deadline/messages to 20 minutes.
Review details
  • Files reviewed: 3/3 changed files
  • Comments generated: 3
  • Review effort level: Lite

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread action.yml
Comment thread action.yml Outdated
Comment thread docker-compose.yml
veprbl and others added 2 commits September 2, 2026 09:59
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
@veprbl
veprbl merged commit fa7734f into main Sep 2, 2026
2 checks passed
@veprbl
veprbl deleted the pr/ci_timeout branch September 2, 2026 15:34
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.

2 participants