-
Notifications
You must be signed in to change notification settings - Fork 645
[email protected] #6806
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
[email protected] #6806
Conversation
|
Hello @bazelbuild/bcr-maintainers, modules without existing maintainers (iverilog) have been updated in this PR. |
|
This PR contributes to the full implementation of the rules_hdl migration. Compared to the previous version, this update enhances the BCR smoke tests and resolves dependency issues. Additionally, I have configured a monthly CI workflow to automatically fetch and merge updates from the upstream repository. I look forward to any feedback from the reviewers. ❤️ |
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.
Code Review
This pull request adds a new Bazel module for iverilog version 0.0.0-20251212-8833caf. The overall structure is correct and follows the Bazel Central Registry guidelines for new modules. However, I've identified a critical issue in the presubmit.yml file where the build targets are specified with incorrect paths, which will cause the presubmit to fail. I have also provided a high-severity recommendation to add test targets to ensure the compiled binaries are functional, which is a strong suggestion in the BCR style guide.
| - "@iverilog//:ivl" | ||
| - "@iverilog//:ivlpp" | ||
| - "@iverilog//:iverilog-bin" |
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.
The build_targets are specified using the external repository syntax (@iverilog//...). Within the context of the module's own presubmit, targets should be referenced from the root of the workspace, e.g., //:ivl. The current configuration will cause the presubmit checks to fail because the targets will not be found.
- "//:ivl"
- "//:ivlpp"
- "//:iverilog-bin"| tasks: | ||
| verify_targets: | ||
| name: Verify build targets | ||
| platform: ${{ platform }} | ||
| bazel: ${{ bazel }} | ||
| build_targets: | ||
| - "@iverilog//:ivl" | ||
| - "@iverilog//:ivlpp" | ||
| - "@iverilog//:iverilog-bin" |
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.
The current presubmit configuration only includes build_targets. While this verifies that the code compiles, it doesn't confirm that the resulting binaries are functional. As per the BCR style guide, it's strongly recommended to include verification tests. Please consider adding a test_targets section with a simple smoke test (e.g., a sh_test that runs iverilog -v and checks the output) to ensure the compiled artifacts work as expected. This will significantly improve confidence in the module's correctness.
References
- The BCR style guide strongly suggests adding test targets to verify module correctness, not just buildability. Line 22: "Prefer adding a test module and/or anonymous module verify targets;" (link)
Release: https://github.com/MrAMS/iverilog/releases/tag/v0.0.0-20251212-8833caf
Automated by Publish to BCR