-
-
Notifications
You must be signed in to change notification settings - Fork 5
release: v2025.1.0 #225
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
release: v2025.1.0 #225
Conversation
Signed-off-by: Valery Piashchynski <[email protected]>
|
Warning Rate limit exceeded@rustatian has exceeded the limit for the number of commits or files that can be reviewed per hour. Please wait 24 minutes and 11 seconds before requesting another review. ⌛ How to resolve this issue?After the wait time has elapsed, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout. Please see our FAQ for further information. 📒 Files selected for processing (1)
WalkthroughThis update migrates the project from version Changes
Sequence Diagram(s)sequenceDiagram
participant User
participant CLI (vx)
participant Builder
participant Templates
User->>CLI (vx): Run build command (now using v2025)
CLI (vx)->>Builder: Initiate Build (with v2025)
Builder->>Templates: CompileTemplateV2025 / CompileGoModTemplate2025
Templates-->>Builder: Generated plugins.go / go.mod for v2025
Builder-->>CLI (vx): Build output (v2025 compatible)
CLI (vx)-->>User: Build complete
Suggested labels
Poem
✨ Finishing Touches
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. 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
SupportNeed help? Create a ticket on our support page for assistance with any issues or questions. Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
CodeRabbit Configuration File (
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR updates the RoadRunner project for the v2025.1.0 release. It systematically updates version references from v2024 to v2025 across configuration, code, build scripts, and tests.
- Update version references in velox.toml, workflows, and imports.
- Add new v2025 templates and test cases.
- Update dependency versions (e.g. upgrading go-github from v61 to v71) to support the new release.
Reviewed Changes
Copilot reviewed 17 out of 19 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| velox.toml | Updated version and plugin references to v2025.1.0 and v5.1.7. |
| internal/cli/root.go & build/build.go | Updated import paths from v2024 to v2025. |
| gitlab/repo.go, github/repo.go, pool.go | Updated dependency references and import paths for v2025. |
| config.go | Added a new constant for v2025 version. |
| cmd/vx/main.go | Updated CLI import paths to v2025. |
| builder/templates/* | Added and updated templates for v2025 support. |
| builder/template_test.go | Added tests for v2025 templates; refactored expected output. |
| builder/builder_test.go & builder/builder.go | Updated builder tests and ldflags for v2025 compatibility. |
| .github/workflows/release.yml & linux.yml | Updated workflow scripts for building and releasing v2025. |
Files not reviewed (2)
- Dockerfile: Language not supported
- go.mod: Language not supported
Comments suppressed due to low confidence (2)
github/repo.go:16
- Verify that the upgrade to go-github/v71 is fully compatible with the project’s usage, as this major version change might include breaking API modifications.
"github.com/google/go-github/v71/github"
builder/builder.go:32
- Ensure that the updated ldflags string with the new v2025 paths is consistently applied across all build configurations and documentation.
ldflags string = "-X github.com/roadrunner-server/roadrunner/v2025/internal/meta.version=%s -X github.com/roadrunner-server/roadrunner/v2025/internal/meta.buildTime=%s"
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
🔭 Outside diff range comments (1)
builder/builder.go (1)
227-240: 💡 Verification agent🧩 Analysis chain
Consider updating default branch version in validateModule function.
The
validateModulefunction currently returnsvelox.V2024for the "master" branch. Since you're migrating to v2025, you might want to update this to returnvelox.V2025if that's now the default version.
🏁 Script executed:
#!/bin/bash # Check if other parts of the codebase indicate which version should be the default # Look for default version references rg -A 1 -B 1 "default.*(version|branch)" --glob "!target/" --glob "!vendor/" --glob "!*.md" # Specifically check for master branch references rg "master.*v202[45]" --glob "!target/" --glob "!vendor/" --glob "!*.md"Length of output: 296
🏁 Script executed:
#!/bin/bash # Display the import block in builder/builder.go to see where velox is coming from sed -n '1,50p' builder/builder.go | sed -n '/import/,/)/p' # Search for all version constants in the velox package rg -n "V202[0-9]" --glob "!vendor/" --glob "!target/"Length of output: 3971
Update default branch version in validateModule to V2025
The
validateModulefunction still returnsvelox.V2024for"master", but the code now imports the v2025 package and the default branch should align with v2025:• File builder/builder.go: in
validateModule, change- return velox.V2024, nil + return velox.V2025, nilEnsure any tests or documentation that rely on the default (“master”) version are updated accordingly.
🧹 Nitpick comments (2)
config.go (1)
13-13: Introduce V2025 constant
A newV2025constant has been added to support the upcoming release. Confirm that any switch statements, builders, or templates that rely on version constants have been updated to includeV2025.builder/builder_test.go (1)
144-230: Consider further test refactoring to reduce duplication.While the refactoring to use a helper function is good, there's still duplication between V2024 and V2025 test functions. Consider creating a table-driven test or a test generator function that could further reduce duplication.
Here's an example approach:
+ func TestBuilderGetDepsReplace(t *testing.T) { + testCases := []struct { + name string + version string + modulePath string + expectedCount int + expectedReplacements map[string]string + }{ + {"multipleAbsolute_V2024", "v2024.1.0", "/tmp/dummy_multiple_absolute", 2, map[string]string{ + dummyPackageOne: "/tmp/dummy_one", + dummyPackageTwo: "/tmp/dummy_two", + }}, + {"multipleRelative_V2024", "v2024.1.0", "/tmp/dummy_multiple_relative", 2, map[string]string{ + dummyPackage: "/tmp/dummy_multiple_relative/something", + "github.com/dummy/another": "/another", + }}, + // Add all other test cases... + } + + for _, tc := range testCases { + t.Run(tc.name, func(t *testing.T) { + b := setup(tc.version) + defer clean(b) + runGetDepsReplaceTest(t, b, tc.modulePath, tc.expectedCount, tc.expectedReplacements) + }) + } + }
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
⛔ Files ignored due to path filters (1)
go.sumis excluded by!**/*.sum
📒 Files selected for processing (18)
.github/workflows/linux.yml(1 hunks).github/workflows/release.yml(2 hunks)Dockerfile(2 hunks)builder/builder.go(4 hunks)builder/builder_test.go(4 hunks)builder/template_test.go(3 hunks)builder/templates/entry.go(1 hunks)builder/templates/templateV2025.go(1 hunks)cmd/vx/main.go(1 hunks)config.go(1 hunks)github/parse_test.go(1 hunks)github/pool.go(1 hunks)github/repo.go(1 hunks)gitlab/repo.go(1 hunks)go.mod(1 hunks)internal/cli/build/build.go(1 hunks)internal/cli/root.go(1 hunks)velox.toml(3 hunks)
🧰 Additional context used
🧬 Code Graph Analysis (5)
builder/templates/entry.go (1)
builder/templates/templateV2025.go (1)
PluginsTemplateV2025(46-69)
builder/builder.go (3)
config.go (1)
V2025(13-13)builder/templates/entry.go (1)
CompileTemplateV2025(84-96)builder/templates/templateV2025.go (1)
CompileGoModTemplate2025(72-79)
builder/templates/templateV2025.go (1)
builder/templates/entry.go (1)
Template(22-26)
builder/template_test.go (1)
builder/templates/entry.go (3)
Template(22-26)Entry(9-20)CompileTemplateV2025(84-96)
builder/builder_test.go (2)
builder/builder.go (2)
Builder(37-44)NewBuilder(46-55)modulesInfo.go (1)
ModulesInfo(13-22)
🔇 Additional comments (32)
gitlab/repo.go (1)
14-14:Details
✅ Verification successful
Updated Velox import to v2025
The import path has been bumped to referencevelox/v2025, aligning with the new release. Ensure that thego.modmodule path and all other import references have been updated accordingly to avoid compilation errors.
🏁 Script executed:
#!/bin/bash # Verify go.mod module path and no lingering v2024 imports rg "^module " -n go.mod rg "velox/v2024" -n .Length of output: 97
Verified Velox upgrade to v2025 – no lingering v2024 references
Thego.modmodule path is nowgitlite.zycloud.tk/roadrunner-server/velox/v2025and a repository-wide search shows no remainingvelox/v2024imports. LGTM.github/parse_test.go (1)
7-7: Align test import with v2025
The test now importsvelox/v2025, matching the module version bump in the code. This keeps the tests in sync with the new release.github/repo.go (1)
16-17:Details
❓ Verification inconclusive
Upgrade GitHub client to v71 & Velox import to v2025
You've bumped the Go-GitHub client from v61 to v71 and updated the Velox import tov2025. Please verify there are no breaking changes in the GitHub client (e.g., method signatures or behavior changes) and confirm downstream code still functions correctly.
🏁 Script executed:
#!/bin/bash # Find all go-github imports to ensure consistency rg "google/go-github" -n .Length of output: 409
All Go-GitHub imports updated to v71
Imports in go.mod, go.sum,github/repo.go(line 16) andgithub/pool.go(line 14) now point github.com/google/go-github/v71. Please verify there are no breaking API changes between v61 and v71 (method signatures, behavior, etc.), update any affected calls, and run the full test suite to confirm downstream code still functions as expected.You can re-run this to confirm you’ve caught all import sites:
#!/bin/bash rg "google/go-github/v71" -n .github/pool.go (1)
14-15:Details
❓ Verification inconclusive
Upgrade GitHub client to v71 & Velox import to v2025
Mirroringgithub/repo.go, the Go-GitHub client and Velox import paths have been updated. Ensure the concurrent processing logic inprocessoris unaffected by these dependency upgrades.
🏁 Script executed:
#!/bin/bash # Verify uniform import updates across the repo rg "github.com/google/go-github/v71" -n . rg "roadrunner-server/velox/v2025" -n .Length of output: 1957
Uniform Dependency Import Upgrade Verified
All import references github.com/google/go-github/v71andgitlite.zycloud.tk/roadrunner-server/velox/v2025have been consistently updated in go.mod, go.sum and across all .go files (e.g. github/repo.go, github/pool.go, gitlab/repo.go, internal/cli/, builder/, etc.).
• Please confirm there are no regressions in the concurrent processing logic within theprocessorpackage after these upstream version bumps.internal/cli/build/build.go (1)
7-10: Bump import paths to v2025.
The Velox, builder, GitHub, and GitLab package imports have been updated fromv2024tov2025, ensuring consistency with the new release.cmd/vx/main.go (1)
8-8: Update CLI import path to v2025.
The import of the internal CLI package now points to versionv2025, aligning the main executable with the updated module..github/workflows/linux.yml (1)
81-81: Use v2025 CLI in CI workflow.
Thego installstep has been updated to fetch the Velox CLI fromv2025, matching the version bump across the project.internal/cli/root.go (1)
8-11: Align root imports with v2025.
The root CLI command now importsvelox/v2025and its subpackages (build,version,logger) to reflect the new module version.go.mod (1)
1-1: Upgrade module version and GitHub client dependency.
The module path has been bumped tov2025andgitlite.zycloud.tk/google/go-githubhas been updated tov71.0.0to support the latest API.Also applies to: 9-9
.github/workflows/release.yml (2)
66-67: LGTM: Successfully updated linker flags to point to v2025The module path was correctly updated from v2024 to v2025 in the linker flags, which ensures the binary will have the correct version information embedded in it.
167-173: LGTM: Docker image tags properly updatedDocker image tags have been appropriately updated from 2024.3 to 2025.1 for both the Docker Hub and GitHub Container Registry, aligning with the version bump in this release.
Dockerfile (2)
3-3: Style consistency: Builder stage syntax changed to uppercaseThe builder alias syntax was changed from lowercase
as builderto uppercaseAS builder. Both are valid in Dockerfile syntax, though uppercase is more common in official documentation.
15-16: LGTM: Successfully updated linker flags for v2025The module path in the linker flags was correctly updated to point to v2025, ensuring version information is properly embedded in the binary.
builder/templates/entry.go (1)
84-96: LGTM: Added new compile function for v2025 templatesThe new
CompileTemplateV2025function follows the same pattern as existing template compilation functions and allows the builder to generate code for the v2025 version. The implementation is consistent with the project patterns.velox.toml (2)
2-2: LGTM: Main roadrunner reference updated to v2025.1.0The main roadrunner component version has been correctly updated from v2024.3.5 to v2025.1.0.
21-182: LGTM: Plugin versions updated appropriatelyAll plugin versions have been bumped to newer compatible versions. Most plugins were updated from v5.1.6 to v5.1.7, with some exceptions for plugins that required different version bumps (e.g., amqp to v5.2.1, grpc to v5.2.1, http to v5.2.6).
The updates maintain compatibility while ensuring all plugins work with the new v2025.1.0 release.
builder/template_test.go (4)
8-8: LGTM: Import path updated for v2025The import path for the templates package was correctly updated from v2024 to v2025.
12-82: LGTM: Added constant for v2025 template outputThe existing expected output constant was renamed to
resV2024and a new constantresV2025was added. The key difference is in the imported modules for informer and resetter, which were updated from v4 to v5 in the v2025 template.
84-140: LGTM: Renamed test function for clarityThe original test function was renamed to
TestCompileV2024to clearly indicate which version of the template it's testing. This improves code readability and matches the new pattern of version-specific test functions.
142-198: LGTM: Added new test for v2025 template compilationA new test function
TestCompileV2025was added, which tests the newCompileTemplateV2025function. The test uses the same test data asTestCompileV2024but validates against the new expected output. This ensures proper test coverage for the new template.builder/builder.go (4)
16-18: LGTM: Import paths correctly updated to v2025.The import paths have been updated from
v2024tov2025correctly.
32-32: LGTM: Build flags properly updated.The ldflags constant has been updated to reference the correct v2025 package path for embedding version and build time metadata.
83-87: LGTM: Template compilation switch statement correctly updated.The switch statement has been appropriately expanded to handle the new v2025 module version, calling the corresponding template compilation function.
152-156: LGTM: Go.mod template compilation switch statement correctly updated.The second switch statement has been properly expanded to handle v2025 module version for go.mod file generation.
builder/templates/templateV2025.go (3)
8-44: LGTM: Go.mod template correctly defined for v2025.The Go module template is well-structured with the following notable improvements:
- Updated to Go 1.24 with toolchain go1.24.2
- Updated dependencies to their latest versions
- Properly configured replacement directives
- Added appropriate version exclusions to avoid compatibility issues
46-69: LGTM: Plugins template correctly defined for v2025.The plugins template is correctly structured to:
- Import the necessary plugins
- Generate the correct container package
- Update informer and resetter plugins to v5
- Support dynamic listing of custom plugins
71-79: LGTM: Template compilation function implemented correctly.The
CompileGoModTemplate2025function follows the established pattern for template compilation functions, parsing and executing the template with proper error handling.builder/builder_test.go (5)
8-10: LGTM: Updated imports and added testify/assert.The imports have been correctly updated to use v2025, and the testify/assert package has been added to improve test assertions.
76-87: LGTM: Setup function refactored to accept version parameter.The setup function now accepts a version parameter, making it more flexible for testing different versions.
130-142: LGTM: Good refactoring with the helper function.Great work extracting the common test logic into a reusable helper function. This reduces code duplication and makes the tests more maintainable.
144-185: LGTM: V2024 tests updated to use the helper function.The V2024 tests have been properly updated to use the new helper function and assertion library, making them more concise and readable.
187-230: LGTM: V2025 tests added.New test cases for V2025 have been properly added, ensuring test coverage for the new version.
Signed-off-by: Valery Piashchynski <[email protected]>
Reason for This PR
Description of Changes
License Acceptance
By submitting this pull request, I confirm that my contribution is made under the terms of the MIT license.
PR Checklist
[Author TODO: Meet these criteria.][Reviewer TODO: Verify that these criteria are met. Request changes if not]git commit -s).CHANGELOG.md.Summary by CodeRabbit
New Features
Chores
Tests