chore(gnodoc): Fetch from vm/qdoc
Resolves the final feature from https://github.com/gnolang/gno/issues/522#issuecomment-2528693327 to fetch from vm/qdoc on the remote of the package is not available locally.
- In the
Documentablestruct, add optional fielddoc - Define the
ABCIQueryClientinterface which is also implemented byRPCClientbut only hasABCIQuery. (This will allow us to make a mock for testing.) - In
resolveDocumentable, if the package isn't found locally, callABCIQueryin thequeryClientto query the vm/qdoc endpoint and set thedocfield inDocumentable - In
WriteDocumentation, check if theDocumentablehasdocand use it (instead of building a newJSONDocumentation) - In cmd/gno, add config options
remoteandremoteTimeout(like in gnoweb). Use these to make anRPCClientto pass toResolveDocumentable - In doc_test, define
mockQueryClientand use it to test calling thequeryClient
🛠 PR Checks Summary
🔴 Pending initial approval by a review team member, or review from tech-staff
Manual Checks (for Reviewers):
- [ ] IGNORE the bot requirements for this PR (force green CI check)
Read More
🤖 This bot helps streamline PR reviews by verifying automated checks and providing guidance for contributors and reviewers.
✅ Automated Checks (for Contributors):
🟢 Maintainers must be able to edit this pull request (more info) 🔴 Pending initial approval by a review team member, or review from tech-staff
☑️ Contributor Actions:
- Fix any issues flagged by automated checks.
- Follow the Contributor Checklist to ensure your PR is ready for review.
- Add new tests, or document why they are unnecessary.
- Provide clear examples/screenshots, if necessary.
- Update documentation, if required.
- Ensure no breaking changes, or include
BREAKING CHANGEnotes. - Link related issues/PRs, where applicable.
☑️ Reviewer Actions:
- Complete manual checks for the PR, including the guidelines and additional checks if applicable.
📚 Resources:
Debug
Automated Checks
Maintainers must be able to edit this pull request (more info)
If
🟢 Condition met └── 🟢 And ├── 🟢 The base branch matches this pattern: ^master$ └── 🟢 The pull request was created from a fork (head branch repo: jefft0/gno)Then
🟢 Requirement satisfied └── 🟢 Maintainer can modify this pull requestPending initial approval by a review team member, or review from tech-staff
If
🟢 Condition met └── 🟢 And ├── 🟢 The base branch matches this pattern: ^master$ └── 🟢 Not (🔴 Pull request author is a member of the team: tech-staff)Then
🔴 Requirement not satisfied └── 🔴 If ├── 🔴 Condition │ └── 🔴 Or │ ├── 🔴 At least one of these user(s) reviewed the pull request: [jefft0 leohhhn n0izn0iz notJoon omarsy x1unix] (with state "APPROVED") │ ├── 🔴 At least 1 user(s) of the team tech-staff reviewed pull request │ └── 🔴 This pull request is a draft └── 🔴 Else └── 🔴 And ├── 🟢 This label is applied to pull request: review/triage-pending └── 🔴 On no pull requestManual Checks
**IGNORE** the bot requirements for this PR (force green CI check)
If
🟢 Condition met └── 🟢 On every pull requestCan be checked by
- Any user with comment edit permission
Codecov Report
:x: Patch coverage is 80.00000% with 11 lines in your changes missing coverage. Please review.
| Files with missing lines | Patch % | Lines |
|---|---|---|
| gnovm/pkg/doc/doc.go | 76.92% | 5 Missing and 4 partials :warning: |
| gnovm/cmd/gno/doc.go | 87.50% | 1 Missing and 1 partial :warning: |
:loudspeaker: Thoughts on this report? Let us know!