Skip to content

Conversation

@gaby
Copy link
Member

@gaby gaby commented Nov 21, 2025

  • Update all dependencies across modules
  • Bump min go to 1.24
  • Update all workflows
  • Run go mod tidy across modules.

Summary by CodeRabbit

  • Chore
    • Internal database operations improved with enhanced context handling for better resource lifecycle management during I/O operations.

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

@gaby gaby requested a review from a team as a code owner November 21, 2025 02:16
@gaby gaby requested review from sixcolors and removed request for a team November 21, 2025 02:16
@gaby gaby requested review from ReneWerner87 and efectn November 21, 2025 02:16
@ReneWerner87 ReneWerner87 added the 🤖 Dependencies Pull requests that update a dependency file label Nov 21, 2025
@gemini-code-assist
Copy link

Summary of Changes

Hello @gaby, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request focuses on a comprehensive update of the project's dependency ecosystem and Go language version. The primary goal is to modernize the codebase, enhance stability, and improve security by incorporating the latest upstream changes. This foundational work ensures that all modules are built on a current and well-maintained stack, paving the way for future development and reducing technical debt.

Highlights

  • Dependency Updates: All module dependencies have been updated to their latest compatible versions, ensuring the project benefits from the newest features, bug fixes, and security patches.
  • Go Version Bump: The minimum Go version required for the project has been updated to 1.24 across all modules, with some modules specifically targeting Go 1.25.3, aligning with recent Go releases and best practices.
  • Workflow Updates: Project workflows have been updated to reflect the new dependency versions and Go language requirements, ensuring continuous integration and deployment processes remain robust.
  • Module Tidying: The go mod tidy command was executed across all modules to clean up unused dependencies and ensure a consistent and optimized dependency graph.
Ignored Files
  • Ignored by pattern: .github/workflows/** (34)
    • .github/workflows/benchmark.yml
    • .github/workflows/test-aerospike.yml
    • .github/workflows/test-arangodb.yml
    • .github/workflows/test-azureblob.yml
    • .github/workflows/test-badger.yml
    • .github/workflows/test-bbolt.yml
    • .github/workflows/test-cassandra.yml
    • .github/workflows/test-clickhouse.yml
    • .github/workflows/test-cloudflarekv.yml
    • .github/workflows/test-coherence.yml
    • .github/workflows/test-couchbase.yml
    • .github/workflows/test-dynamodb.yml
    • .github/workflows/test-etcd.yml
    • .github/workflows/test-leveldb.yml
    • .github/workflows/test-memcache.yml
    • .github/workflows/test-memory.yml
    • .github/workflows/test-minio.yml
    • .github/workflows/test-mockstorage.yml
    • .github/workflows/test-mongodb.yml
    • .github/workflows/test-mssql.yml
    • .github/workflows/test-mysql.yml
    • .github/workflows/test-nats.yml
    • .github/workflows/test-neo4j.yml
    • .github/workflows/test-pebble.yml
    • .github/workflows/test-postgres.yml
    • .github/workflows/test-redis.yml
    • .github/workflows/test-ristretto.yml
    • .github/workflows/test-rueidis.yml
    • .github/workflows/test-s3.yml
    • .github/workflows/test-scylladb.yml
    • .github/workflows/test-sqlite3.yml
    • .github/workflows/test-surrealdb.yml
    • .github/workflows/test-teshelpers-redis.yml
    • .github/workflows/test-valkey.yml
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

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

Code Review

This PR provides a repository-wide dependency update, including bumping the minimum Go version to 1.24 across most modules. This is a valuable maintenance task. I've pointed out one inconsistency in the Go version for the clickhouse module. The major version bump for surrealdb/surrealdb.go from v0.5.0 to v1.0.0 is also noted, which may introduce breaking changes. Otherwise, the changes look good.

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Nov 21, 2025

Note

Other AI code review bot(s) detected

CodeRabbit has detected other AI code review bot(s) in this pull request and will avoid duplicating their findings in the review comments. This may lead to a less comprehensive review.

Walkthrough

The pull request adds context propagation to SurrealDB client API calls throughout the surrealdb.go file. Various internal method calls now explicitly pass context.Background() as the first parameter to Use, SignIn, Authenticate, Select, Upsert, Delete, and Close operations, while maintaining unchanged public method signatures.

Changes

Cohort / File(s) Summary
Context propagation in SurrealDB operations
surrealdb/surrealdb.go
Added context.Background() as the first argument to internal SurrealDB API calls across multiple methods: Use (connection setup), SignIn, Authenticate, Get (Select), Set (Upsert), Delete, Reset, Close, List (Select), and cleanupExpired (Select). No public API signatures changed.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~12 minutes

  • Repetitive and homogeneous changes across multiple call sites—the same refactor pattern (adding context.Background()) is applied consistently throughout the file
  • No new logic or control-flow changes; purely adding a context parameter to existing calls
  • Verify that context.Background() is the appropriate choice for all call sites (confirm no scenario requires a cancellable or deadline-aware context)

Suggested reviewers

  • sixcolors
  • efectn
  • ReneWerner87

Poem

🐰 Context flows through every call,
Database queries stand tall,
Background whispers through the code,
On a well-trodden refactor road—
A rabbit's gift: awareness complete!

Pre-merge checks and finishing touches

✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title 'Update all dependencies across modules. Update workflows' accurately reflects the main objective of the PR, which is to update dependencies and workflows.
Docstring Coverage ✅ Passed Docstring coverage is 100.00% which is sufficient. The required threshold is 80.00%.
✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch update-dependencies-workflows

📜 Recent review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 7435afb and 500e9ca.

⛔ Files ignored due to path filters (95)
  • .github/workflows/benchmark.yml is excluded by !**/*.yml
  • .github/workflows/test-aerospike.yml is excluded by !**/*.yml
  • .github/workflows/test-arangodb.yml is excluded by !**/*.yml
  • .github/workflows/test-azureblob.yml is excluded by !**/*.yml
  • .github/workflows/test-badger.yml is excluded by !**/*.yml
  • .github/workflows/test-bbolt.yml is excluded by !**/*.yml
  • .github/workflows/test-cassandra.yml is excluded by !**/*.yml
  • .github/workflows/test-clickhouse.yml is excluded by !**/*.yml
  • .github/workflows/test-cloudflarekv.yml is excluded by !**/*.yml
  • .github/workflows/test-coherence.yml is excluded by !**/*.yml
  • .github/workflows/test-couchbase.yml is excluded by !**/*.yml
  • .github/workflows/test-dynamodb.yml is excluded by !**/*.yml
  • .github/workflows/test-etcd.yml is excluded by !**/*.yml
  • .github/workflows/test-leveldb.yml is excluded by !**/*.yml
  • .github/workflows/test-memcache.yml is excluded by !**/*.yml
  • .github/workflows/test-memory.yml is excluded by !**/*.yml
  • .github/workflows/test-minio.yml is excluded by !**/*.yml
  • .github/workflows/test-mockstorage.yml is excluded by !**/*.yml
  • .github/workflows/test-mongodb.yml is excluded by !**/*.yml
  • .github/workflows/test-mssql.yml is excluded by !**/*.yml
  • .github/workflows/test-mysql.yml is excluded by !**/*.yml
  • .github/workflows/test-nats.yml is excluded by !**/*.yml
  • .github/workflows/test-neo4j.yml is excluded by !**/*.yml
  • .github/workflows/test-pebble.yml is excluded by !**/*.yml
  • .github/workflows/test-postgres.yml is excluded by !**/*.yml
  • .github/workflows/test-redis.yml is excluded by !**/*.yml
  • .github/workflows/test-ristretto.yml is excluded by !**/*.yml
  • .github/workflows/test-rueidis.yml is excluded by !**/*.yml
  • .github/workflows/test-s3.yml is excluded by !**/*.yml
  • .github/workflows/test-scylladb.yml is excluded by !**/*.yml
  • .github/workflows/test-sqlite3.yml is excluded by !**/*.yml
  • .github/workflows/test-surrealdb.yml is excluded by !**/*.yml
  • .github/workflows/test-teshelpers-redis.yml is excluded by !**/*.yml
  • .github/workflows/test-valkey.yml is excluded by !**/*.yml
  • aerospike/go.mod is excluded by !**/*.mod
  • aerospike/go.sum is excluded by !**/*.sum, !**/*.sum
  • arangodb/go.mod is excluded by !**/*.mod
  • arangodb/go.sum is excluded by !**/*.sum, !**/*.sum
  • azureblob/go.mod is excluded by !**/*.mod
  • azureblob/go.sum is excluded by !**/*.sum, !**/*.sum
  • badger/go.mod is excluded by !**/*.mod
  • badger/go.sum is excluded by !**/*.sum, !**/*.sum
  • bbolt/go.mod is excluded by !**/*.mod
  • bbolt/go.sum is excluded by !**/*.sum, !**/*.sum
  • cassandra/go.mod is excluded by !**/*.mod
  • cassandra/go.sum is excluded by !**/*.sum, !**/*.sum
  • clickhouse/go.mod is excluded by !**/*.mod
  • clickhouse/go.sum is excluded by !**/*.sum, !**/*.sum
  • cloudflarekv/go.mod is excluded by !**/*.mod
  • cloudflarekv/go.sum is excluded by !**/*.sum, !**/*.sum
  • coherence/go.mod is excluded by !**/*.mod
  • coherence/go.sum is excluded by !**/*.sum, !**/*.sum
  • dynamodb/go.mod is excluded by !**/*.mod
  • dynamodb/go.sum is excluded by !**/*.sum, !**/*.sum
  • etcd/go.mod is excluded by !**/*.mod
  • etcd/go.sum is excluded by !**/*.sum, !**/*.sum
  • go.mod is excluded by !**/*.mod
  • memcache/go.mod is excluded by !**/*.mod
  • memcache/go.sum is excluded by !**/*.sum, !**/*.sum
  • minio/go.mod is excluded by !**/*.mod
  • minio/go.sum is excluded by !**/*.sum, !**/*.sum
  • mongodb/go.mod is excluded by !**/*.mod
  • mongodb/go.sum is excluded by !**/*.sum, !**/*.sum
  • mssql/go.mod is excluded by !**/*.mod
  • mssql/go.sum is excluded by !**/*.sum, !**/*.sum
  • mysql/go.mod is excluded by !**/*.mod
  • mysql/go.sum is excluded by !**/*.sum, !**/*.sum
  • nats/go.mod is excluded by !**/*.mod
  • nats/go.sum is excluded by !**/*.sum, !**/*.sum
  • neo4j/go.mod is excluded by !**/*.mod
  • neo4j/go.sum is excluded by !**/*.sum, !**/*.sum
  • pebble/go.mod is excluded by !**/*.mod
  • pebble/go.sum is excluded by !**/*.sum, !**/*.sum
  • postgres/go.mod is excluded by !**/*.mod
  • postgres/go.sum is excluded by !**/*.sum, !**/*.sum
  • redis/go.mod is excluded by !**/*.mod
  • redis/go.sum is excluded by !**/*.sum, !**/*.sum
  • redis/go.work is excluded by !**/*.work, !**/*.work
  • ristretto/go.mod is excluded by !**/*.mod
  • ristretto/go.sum is excluded by !**/*.sum, !**/*.sum
  • rueidis/go.mod is excluded by !**/*.mod
  • rueidis/go.sum is excluded by !**/*.sum, !**/*.sum
  • s3/go.mod is excluded by !**/*.mod
  • s3/go.sum is excluded by !**/*.sum, !**/*.sum
  • scylladb/go.mod is excluded by !**/*.mod
  • scylladb/go.sum is excluded by !**/*.sum, !**/*.sum
  • surrealdb/go.mod is excluded by !**/*.mod
  • surrealdb/go.sum is excluded by !**/*.sum, !**/*.sum
  • testhelpers/redis/go.mod is excluded by !**/*.mod
  • testhelpers/redis/go.sum is excluded by !**/*.sum, !**/*.sum
  • testhelpers/tck/go.mod is excluded by !**/*.mod
  • testhelpers/tck/go.sum is excluded by !**/*.sum, !**/*.sum
  • valkey/go.mod is excluded by !**/*.mod
  • valkey/go.sum is excluded by !**/*.sum, !**/*.sum
  • valkey/go.work is excluded by !**/*.work, !**/*.work
📒 Files selected for processing (1)
  • surrealdb/surrealdb.go (9 hunks)
🧰 Additional context used
🧠 Learnings (4)
📓 Common learnings
Learnt from: gaby
Repo: gofiber/fiber PR: 3193
File: middleware/cache/cache_test.go:897-897
Timestamp: 2024-11-08T04:10:42.990Z
Learning: In the Fiber framework, `Context()` is being renamed to `RequestCtx()`, and `UserContext()` to `Context()` to improve clarity and align with Go's context conventions.
📚 Learning: 2024-11-23T19:50:06.387Z
Learnt from: norri
Repo: gofiber/recipes PR: 2701
File: clean-code/app/datasources/database/db_mock.go:13-19
Timestamp: 2024-11-23T19:50:06.387Z
Learning: In test code within `clean-code/app/datasources/database/db_mock.go`, adding safety checks like context validation, safe type assertions, and extra documentation is not necessary.

Applied to files:

  • surrealdb/surrealdb.go
📚 Learning: 2024-11-08T04:10:42.990Z
Learnt from: gaby
Repo: gofiber/fiber PR: 3193
File: middleware/cache/cache_test.go:897-897
Timestamp: 2024-11-08T04:10:42.990Z
Learning: In the Fiber framework, `Context()` is being renamed to `RequestCtx()`, and `UserContext()` to `Context()` to improve clarity and align with Go's context conventions.

Applied to files:

  • surrealdb/surrealdb.go
📚 Learning: 2024-07-01T15:48:53.094Z
Learnt from: luk3skyw4lker
Repo: gofiber/storage PR: 1342
File: clickhouse/clickhouse_test.go:138-160
Timestamp: 2024-07-01T15:48:53.094Z
Learning: The `Test_Reset` function in `clickhouse/clickhouse_test.go` already includes a verification step to ensure the storage is empty after a reset operation by checking that a previously set key returns an empty byte slice.

Applied to files:

  • surrealdb/surrealdb.go
🪛 GitHub Actions: Tests SurrealDB
surrealdb/surrealdb.go

[error] 77-77: Nil pointer dereference in Storage.Get during Test_Surrealdb_Delete. Panics at surrealdb.go:77.

⏰ 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). (9)
  • GitHub Check: Tests (1.24.x)
  • GitHub Check: Tests (1.24.x, 6)
  • GitHub Check: Tests (1.24.x, 8)
  • GitHub Check: Tests (1.24.x)
  • GitHub Check: Tests (1.24.x)
  • GitHub Check: Tests (1.24.x)
  • GitHub Check: Tests (1.24.x)
  • GitHub Check: Tests (1.24.x)
  • GitHub Check: Tests (1.24.x)
🔇 Additional comments (2)
surrealdb/surrealdb.go (2)

36-52: LGTM: Context propagation in initialization is appropriate.

The addition of context.Background() to Use, SignIn, and Authenticate calls is correct for initialization code.


141-144: Using context.Background() in Close is acceptable.

While Close() could theoretically accept a context for consistency, using context.Background() is reasonable for cleanup operations during shutdown.

Tip

📝 Customizable high-level summaries are now available in beta!

You can now customize how CodeRabbit generates the high-level summary in your pull requests — including its content, structure, tone, and formatting.

  • Provide your own instructions using the high_level_summary_instructions setting.
  • Format the summary however you like (bullet lists, tables, multi-section layouts, contributor stats, etc.).
  • Use high_level_summary_in_walkthrough to move the summary from the description to the walkthrough section.

Example instruction:

"Divide the high-level summary into five sections:

  1. 📝 Description — Summarize the main change in 50–60 words, explaining what was done.
  2. 📓 References — List relevant issues, discussions, documentation, or related PRs.
  3. 📦 Dependencies & Requirements — Mention any new/updated dependencies, environment variable changes, or configuration updates.
  4. 📊 Contributor Summary — Include a Markdown table showing contributions:
    | Contributor | Lines Added | Lines Removed | Files Changed |
  5. ✔️ Additional Notes — Add any extra reviewer context.
    Keep each section concise (under 200 words) and use bullet or numbered lists for clarity."

Note: This feature is currently in beta for Pro-tier users, and pricing will be announced later.


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.

@gaby
Copy link
Member Author

gaby commented Nov 21, 2025

@mdelapenya Is latest testcontainers working as expected? We have multiple workflows failing with same memory invalid failure.

@mdelapenya
Copy link
Contributor

Ohh this is weird. It should work, we did not receive any issue about this. I can investigate it thought.

Will come to this thread with my research

@ReneWerner87
Copy link
Member

ReneWerner87 commented Nov 24, 2025

Ohh this is weird. It should work, we did not receive any issue about this. I can investigate it thought.

Will come to this thread with my research

@mdelapenya Have you found anything?

@gaby Deleting alone will not suffice, as the benchmarks are not running because there is a real problem.
image

@gaby
Copy link
Member Author

gaby commented Nov 24, 2025

Replaced by #2261

@gaby gaby closed this Nov 24, 2025
@gaby gaby deleted the update-dependencies-workflows branch November 24, 2025 12:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

🤖 Dependencies Pull requests that update a dependency file 🧹 Updates

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants