Skip to content

Conversation

@MrAMS
Copy link
Contributor

@MrAMS MrAMS commented Dec 12, 2025

@bazel-io
Copy link
Member

Hello @bazelbuild/bcr-maintainers, modules without existing maintainers (iverilog) have been updated in this PR.
Please review the changes. You can view a diff against the previous version in the "Generate module diff" check.

@MrAMS
Copy link
Contributor Author

MrAMS commented Dec 12, 2025

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. ❤️

@MrAMS MrAMS marked this pull request as ready for review December 12, 2025 16:50
Copy link
Contributor

@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 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.

Comment on lines +16 to +18
- "@iverilog//:ivl"
- "@iverilog//:ivlpp"
- "@iverilog//:iverilog-bin"
Copy link
Contributor

Choose a reason for hiding this comment

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

critical

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"

Comment on lines +10 to +18
tasks:
verify_targets:
name: Verify build targets
platform: ${{ platform }}
bazel: ${{ bazel }}
build_targets:
- "@iverilog//:ivl"
- "@iverilog//:ivlpp"
- "@iverilog//:iverilog-bin"
Copy link
Contributor

Choose a reason for hiding this comment

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

high

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
  1. 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)

@MrAMS MrAMS closed this Dec 15, 2025
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.

2 participants