Skip to content

ci: upstream-release smoke tests + pin ruff lint selection - #35

Merged
yeongseon merged 10 commits into
mainfrom
ci/upstream-release-smoke
Aug 12, 2026
Merged

ci: upstream-release smoke tests + pin ruff lint selection#35
yeongseon merged 10 commits into
mainfrom
ci/upstream-release-smoke

Conversation

@yeongseon

@yeongseon yeongseon commented Aug 12, 2026

Copy link
Copy Markdown
Contributor

Summary

Adds a smoke-test workflow so that new releases of pycubrid, sqlalchemy-cubrid, and cubrid-mcp-server automatically run the cookbook's example suite, and clears the blockers that kept that suite from passing deterministically.

What's included

  • Smoke-test workflow (.github/workflows/smoke-test.yml) triggered by upstream releases (repository_dispatch: upstream-released), daily cron, PRs, and manual dispatch.
  • Determinism fixes so make verify is stable:
    • Normalize pycubrid errno/sqlstate suffix out of example output.
    • Install pandas/matplotlib in CI for the batch-etl templates.
    • In-container csql healthcheck for reliable CUBRID readiness.
  • Regenerated golden files for 06_lob and 06_reflection to match current CLOB rendering and reflection output.
  • Ruff lint pin (folded in from chore: pin ruff lint selection and clear lint/format debt #36): [tool.ruff.lint] select = ["E4","E7","E9","F"] (ruff's pre-0.16 default) so routine ruff bumps stop breaking lint-python, plus 16 F401 removals and a ruff format pass under 0.16.2. Same pin adopted in pycubrid #248 and sqlalchemy-cubrid #272.

Supersedes #36 (the lint pin is folded in here because #35 and #36 could not pass CI independently — #35 needed the pin for lint-python, #36 needed #35's smoke fixes for verify).

Verification

All checks green: lint-python, verify (full smoke, all examples pass), and Documentation lint. Local ruff check . and ruff format --check . pass with ruff 0.16.2.

CLOB rendering now preserves line-continuation markers and the README/
License char counts shifted (64->66, 46->47); Copyright is cubrid-lab.
Reflection now lists the FK on cookbook_ref_articles and no longer emits
the FK-backed index as a separate index row.

Remove the temporary golden-dump step used to regenerate these files.
Set [tool.ruff.lint] select = ["E4","E7","E9","F"] (ruff's pre-0.16
default) so ruff version bumps stop surfacing hundreds of unrelated new-rule
violations in CI. Remove 16 genuinely-unused imports flagged by F401, drop
dead Base/engine import in the saga recipe, and settle ruff format under
0.16.2. Matches the pin adopted in pycubrid #248 and sqlalchemy-cubrid #272.
@yeongseon yeongseon changed the title ci: trigger smoke tests on upstream releases + mcp-server coverage ci: upstream-release smoke tests + pin ruff lint selection Aug 12, 2026
- Route the untrusted repository_dispatch payload through env vars and
  printf instead of inline ${{ }} shell interpolation, closing a
  command-injection vector in the trigger-report step.
- Add an external pycubrid connectivity retry before make verify: the
  in-container csql check does not prove the mapped broker port is
  serving external clients, so the first example could race the broker.
@yeongseon
yeongseon merged commit e5d13ca into main Aug 12, 2026
6 checks passed
@yeongseon
yeongseon deleted the ci/upstream-release-smoke branch August 12, 2026 13:53
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