Skip to content

ci: overlap CUBRID boot with pip install and cache pip downloads - #39

Merged
yeongseon merged 1 commit into
mainfrom
ci/smoke-cache-warmup
Aug 13, 2026
Merged

ci: overlap CUBRID boot with pip install and cache pip downloads#39
yeongseon merged 1 commit into
mainfrom
ci/smoke-cache-warmup

Conversation

@yeongseon

Copy link
Copy Markdown
Contributor

Summary

Attacks the real smoke-test bottleneck. On the last run, container boot +
dependency install was ~80s while the actual example suite ran in ~14s. This PR
targets the 80s fixed cost:

  • Overlap container boot with pip install: the CUBRID container now starts
    before dependency install, so its image pull and engine initialization run
    concurrently with pip. The readiness gate afterward usually finds the engine
    already up instead of waiting on a cold start after install finishes.
  • Cache pip downloads: ~/.cache/pip is cached with a rolling key, so the
    large stable wheels (pandas, matplotlib, numpy, sqlalchemy) are not
    re-downloaded every run. The key is intentionally not version-hashed — the
    target packages (pycubrid, sqlalchemy-cubrid, cubrid-mcp-server) float to
    their latest release, and pip still queries PyPI for newer versions.

What is unchanged

Validation

  • YAML parses; step order verified: Start CUBRID → Setup Python → Cache pip →
    Install deps → Record versions → Wait readiness → external connect → verify.
  • Correctness rests on the readiness gate (unchanged), which still blocks until
    csql SELECT 1 succeeds, so starting the container earlier cannot race the
    examples.

Start the CUBRID container before dependency install so its image pull and
engine init run concurrently with pip instead of serially, and cache
~/.cache/pip with a rolling key to avoid re-downloading the large stable
wheels (pandas, matplotlib, numpy, sqlalchemy) on every run.
@yeongseon
yeongseon merged commit e16f6a9 into main Aug 13, 2026
6 checks passed
@yeongseon
yeongseon deleted the ci/smoke-cache-warmup branch August 13, 2026 10:31
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.

1 participant