Skip to content

Tests: Fix testcontainers. CI: Use uv across the board.#686

Merged
amotl merged 4 commits intomainfrom
fix-testcontainers
Mar 6, 2026
Merged

Tests: Fix testcontainers. CI: Use uv across the board.#686
amotl merged 4 commits intomainfrom
fix-testcontainers

Conversation

@amotl
Copy link
Member

@amotl amotl commented Mar 6, 2026

@coderabbitai
Copy link

coderabbitai bot commented Mar 6, 2026

Walkthrough

This pull request consolidates Python environment setup in GitHub Actions workflows by removing explicit Python installation steps and centralizing configuration within the uv setup action. It also adds a wait_for_logs utility to the InfluxDB2 testcontainer to improve startup synchronization. The changes eliminate the UV_SYSTEM_PYTHON environment variable across all workflows and update path filters in several data source-specific CI workflows.

Changes

Cohort / File(s) Summary
CI Workflow UV Setup Consolidation
.github/workflows/dynamodb.yml, influxdb.yml, kinesis.yml, mongodb.yml, postgresql.yml
Removed UV_SYSTEM_PYTHON environment variable, eliminated explicit Python setup step, replaced cache-dependency-glob with activate-environment: 'true' in uv setup, and added testcontainer file paths to PR/push triggers.
General Workflow UV Setup Consolidation
.github/workflows/main.yml, cratedb-cloud.yml, pymongo.yml
Removed UV_SYSTEM_PYTHON environment variable and explicit Python setup step; consolidated uv setup with activate-environment: 'true', removed cache-dependency-glob and version: "latest".
Release Workflow UV Setup Consolidation
.github/workflows/release-app.yml, release-oci-full.yml, release-oci-ingest.yml, release-pypi.yml
Consolidated Python environment management into uv setup step by removing separate Python installation step, replacing cache configuration with activate-environment: 'true', and retaining Python version specifications.
InfluxDB2 Testcontainer Enhancement
cratedb_toolkit/testing/testcontainers/influxdb2.py
Added wait_for_logs import and invocation in _connect method to improve container startup synchronization prior to client creation.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~12 minutes

Possibly related PRs

Suggested reviewers

  • hammerhead
  • surister

Poem

🐰 With swift uv we hop and align,
Python paths in workflows now shine,
Wait for logs before we connect,
InfluxDB tests run more correct,
Cleaner steps, no waste of time!

🚥 Pre-merge checks | ✅ 2 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (2 passed)
Check name Status Explanation
Title check ✅ Passed The title accurately summarizes the two main changes: fixing testcontainers and standardizing CI to use uv across workflows.
Description check ✅ Passed The pull request description clearly relates to the changeset, detailing maintenance work involving CI configuration improvements, testcontainer fixes, and uv adoption across workflows.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
  • 📝 Generate docstrings (stacked PR)
  • 📝 Generate docstrings (commit on current branch)
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch fix-testcontainers

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@amotl amotl force-pushed the fix-testcontainers branch 3 times, most recently from b95d6ed to a5bd00b Compare March 6, 2026 02:55
coderabbitai[bot]

This comment was marked as resolved.

amotl added 4 commits March 6, 2026 13:16
Integration tests became flaky again. Let's investigate later.

  kinesis.exceptions.StreamDoesNotExist:
  Stream 'testdrive' does not exist
@amotl amotl force-pushed the fix-testcontainers branch from 87602d1 to 433524e Compare March 6, 2026 12:17
Comment on lines -42 to +48
"3.13",
# TODO: Integration tests became flaky again. Let's investigate later.
# kinesis.exceptions.StreamDoesNotExist: Stream 'testdrive' does not exist
# "3.13",
Copy link
Member Author

@amotl amotl Mar 6, 2026

Choose a reason for hiding this comment

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

We reported this or a related problem already. Apparently, it is coming back, now on Python 3.13? We think it is most probably related to our integration test setup and related timing changes by cleaning up the testcontainers rig recently. As the comment says: Let's investigate later.

/cc @hampsterx

coderabbitai[bot]

This comment was marked as resolved.

@amotl amotl marked this pull request as ready for review March 6, 2026 12:24
@amotl amotl merged commit 8c5e851 into main Mar 6, 2026
24 checks passed
@amotl amotl deleted the fix-testcontainers branch March 6, 2026 12:25
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