Skip to content

Conversation

@HofmeisterAn
Copy link
Collaborator

@HofmeisterAn HofmeisterAn commented Dec 17, 2025

What does this PR do?

The PR overrides the default pinned Docker Engine API version (1.44), which was set due to the recent Docker Engine v29 release. This version should match the supported Docker.DotNet version to ensure the client aligns with the server API in the future.

Why is it important?

-

Related issues

-

Summary by CodeRabbit

  • Documentation

    • Updated documentation to reflect Ryuk container image version 0.14.0 across configuration and test framework examples.
  • Chores

    • Updated CI/CD configuration with Docker API version 1.47.

✏️ Tip: You can customize this high-level summary in your review settings.

@HofmeisterAn HofmeisterAn added the chore A change that doesn't impact the existing functionality, e.g. internal refactorings or cleanups label Dec 17, 2025
@netlify
Copy link

netlify bot commented Dec 17, 2025

Deploy Preview for testcontainers-dotnet ready!

Name Link
🔨 Latest commit 31c652d
🔍 Latest deploy log https://app.netlify.com/projects/testcontainers-dotnet/deploys/6942d5e68549c40008604a25
😎 Deploy Preview https://deploy-preview-1608--testcontainers-dotnet.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@coderabbitai
Copy link

coderabbitai bot commented Dec 17, 2025

Walkthrough

Update Ryuk container image versions to 0.14.0 across documentation examples, and introduce DOCKER_API_VERSION environment variable in the CI/CD workflow configuration with minor formatting adjustments.

Changes

Cohort / File(s) Summary
CI/CD Workflow Configuration
.github/workflows/cicd.yml
Added DOCKER_API_VERSION: 1.47 environment variable to ci job; reformatted TZ timezone comment; corrected punctuation in Cake environment variable comment.
Documentation Updates – Ryuk Versions
docs/custom_configuration/index.md, docs/test_frameworks/xunit_net.md
Updated Ryuk container image references from legacy versions (0.12.0, 0.9.0, 0.3.4) to current version 0.14.0 across configuration table and docker ps output examples.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~3 minutes

  • Changes are predominantly documentation and configuration updates with no logic modifications
  • Version bumps are straightforward and require only verification of consistency
  • Formatting adjustments in workflow file are cosmetic

Poem

🐰 The Ryuk is updated, to point-one-four,
Configuration flows, no logic to restore,
A sprinkle of Docker, a dash of CI grace,
Simple and clean, everything in its place! ✨

Pre-merge checks and finishing touches

❌ Failed checks (1 inconclusive)
Check name Status Explanation Resolution
Description check ❓ Inconclusive The description covers the mandatory 'What' section clearly but leaves the mandatory 'Why' section incomplete with only a dash placeholder, making it partially incomplete. Expand the 'Why is it important?' section to explain the rationale beyond version matching, such as compatibility implications or specific issues being addressed.
✅ Passed checks (2 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly and concisely describes the main change: pinning Docker Engine API to version 1.47 in the GitHub workflow.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch feature/ping-docker-engine-api

📜 Recent review details

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 6e27af6 and 31c652d.

📒 Files selected for processing (3)
  • .github/workflows/cicd.yml (3 hunks)
  • docs/custom_configuration/index.md (2 hunks)
  • docs/test_frameworks/xunit_net.md (2 hunks)
🧰 Additional context used
🧠 Learnings (2)
📚 Learning: 2025-11-17T17:58:43.958Z
Learnt from: diegosasw
Repo: testcontainers/testcontainers-dotnet PR: 1583
File: src/Testcontainers.KurrentDb/Testcontainers.KurrentDb.csproj:7-7
Timestamp: 2025-11-17T17:58:43.958Z
Learning: In the testcontainers-dotnet repository, JetBrains.Annotations should use version 2023.3.0 to maintain consistency with the main Testcontainers csproj, rather than always using the latest available version.

Applied to files:

  • docs/test_frameworks/xunit_net.md
📚 Learning: 2025-11-08T09:04:00.045Z
Learnt from: HofmeisterAn
Repo: testcontainers/testcontainers-dotnet PR: 1509
File: tests/Testcontainers.Grafana.Tests/GrafanaContainerTest.cs:45-46
Timestamp: 2025-11-08T09:04:00.045Z
Learning: In xUnit.net test methods in the testcontainers-dotnet project, ConfigureAwait(true) is recommended and correct to use, as it ensures proper synchronization context capture for xUnit's test parallelism management. Do not suggest changing ConfigureAwait(true) to ConfigureAwait(false) in test methods.

Applied to files:

  • docs/test_frameworks/xunit_net.md
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (23)
  • GitHub Check: ci (Testcontainers.Bigtable, ubuntu-24.04)
  • GitHub Check: ci (Testcontainers.ActiveMq, ubuntu-24.04)
  • GitHub Check: ci (Testcontainers.ArangoDb, ubuntu-24.04)
  • GitHub Check: ci (Testcontainers.Cassandra, ubuntu-24.04)
  • GitHub Check: analyze (csharp)
  • GitHub Check: ci (Testcontainers.Bigtable, ubuntu-24.04)
  • GitHub Check: ci (Testcontainers.ActiveMq, ubuntu-24.04)
  • GitHub Check: ci (Testcontainers.Cassandra, ubuntu-24.04)
  • GitHub Check: analyze (csharp)
  • GitHub Check: ci (Testcontainers.Bigtable, ubuntu-24.04)
  • GitHub Check: ci (Testcontainers.ActiveMq, ubuntu-24.04)
  • GitHub Check: ci (Testcontainers.Cassandra, ubuntu-24.04)
  • GitHub Check: analyze (csharp)
  • GitHub Check: ci (Testcontainers.Bigtable, ubuntu-24.04)
  • GitHub Check: ci (Testcontainers.ActiveMq, ubuntu-24.04)
  • GitHub Check: analyze (csharp)
  • GitHub Check: ci (Testcontainers.Bigtable, ubuntu-24.04)
  • GitHub Check: analyze (csharp)
  • GitHub Check: analyze (csharp)
  • GitHub Check: analyze (csharp)
  • GitHub Check: analyze (csharp)
  • GitHub Check: analyze (csharp)
  • GitHub Check: analyze (csharp)
🔇 Additional comments (7)
docs/test_frameworks/xunit_net.md (2)

47-47: LGTM - Documentation updated to reflect current Ryuk version.

The Ryuk container image version in the example output has been correctly updated to match the current default version.


81-81: LGTM - Consistent version update across examples.

The second example output is correctly updated to match the first, maintaining consistency throughout the documentation.

docs/custom_configuration/index.md (2)

19-19: LGTM - Default Ryuk version updated.

The documented default version for the Ryuk container image has been correctly updated to 0.14.0.


110-110: LGTM - Log sample updated to match new version.

The example log output correctly reflects the updated Ryuk version, maintaining consistency with the configuration table.

.github/workflows/cicd.yml (3)

25-26: Minor formatting improvement.

Separating the comment from the environment variable setting improves readability.


178-178: Minor punctuation consistency improvement.


64-66: Verify Docker API version 1.47 and clarify comment wording.

The comment states "Lowest API version that GitHub runners support," but the PR description indicates this is pinning from 1.44 to 1.47 to match Docker.DotNet support. The comment wording is potentially misleading:

  1. "Lowest" typically implies minimum, but you're pinning to a specific version
  2. If 1.44 was the previous default, how is 1.47 the "lowest"?

Consider revising the comment to something like "Pinned Docker API version for GitHub runners" or "Docker API version matching Docker.DotNet support."

Additionally, verify that:

  • Docker API version 1.47 is valid and currently supported by GitHub runners
  • This version is compatible with the Docker.DotNet library version in use
  • The documented default (1.44 in docs/custom_configuration/index.md line 7) vs. CI usage (1.47) discrepancy is intentional
#!/bin/bash
# Verify Docker API version 1.47 availability and GitHub runner support

# Check Docker API versions documentation
echo "=== Checking Docker API version 1.47 validity ==="
echo "Searching for Docker API version references in codebase..."
rg -n "1\.47|1\.44" --type yaml --type md -C 2

# Check Docker.DotNet version in use
echo -e "\n=== Checking Docker.DotNet version ==="
fd -e csproj -e props --exec rg -l "Docker\.DotNet" {} \; | head -5 | xargs -I {} sh -c 'echo "File: {}"; cat {}'
What Docker Engine version corresponds to Docker API version 1.47 and is it supported by GitHub Actions runners?

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.

@HofmeisterAn HofmeisterAn merged commit 8a7b97e into develop Dec 17, 2025
189 of 219 checks passed
@HofmeisterAn HofmeisterAn deleted the feature/ping-docker-engine-api branch December 17, 2025 18:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

chore A change that doesn't impact the existing functionality, e.g. internal refactorings or cleanups

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants