Date: Fri, 29 Mar 2024 14:09:47 +0000 (UTC)
Message-ID: <1512132504.12127.1711721387169@aws-us-west-2-hyp-confluence-1.web.codeaurora.org>
Subject: Exported From Confluence
MIME-Version: 1.0
Content-Type: multipart/related;
boundary="----=_Part_12126_849547048.1711721387169"
------=_Part_12126_849547048.1711721387169
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
Content-Location: file:///C:/exported.html
Contents
Reporting an Issue
Backlog items for Hyperledger Indy projects are tracked in the Hyperledger Jira instance. To create, edit, or comment, you need&n=
bsp;a Linux Foundation ID.
A good bug report is easy for others to understand. If they cannot repro=
duce your issue, they are unlikely to be able to address it.
- Before submitting an issue, search to see if someone has already report=
ed something similar. If you find an unresolved duplicate issue, add to it =
any additional details you think can help.
- Your bug report should include sections such as:
- Environment: The environment =
where you saw the issue.
- The operating system, where you obtained your software, how you install=
ed it, etc
- Set the Jira field "Affects Version" to the version of the software you=
were running when you saw the issue. (Leave the "Fix Version" field alone =
until the code is done and assigned to a release.)
- Steps to Reproduce: step-by-s=
tep explanation of how to cause the problem from a clean installation of th=
e software.
- Expected Behavior: The desire=
d behavior that you expected to see.
- Observed Behavior: The proble=
matic behavior that you saw.
- Notes: Any notes that you thi=
nk would help the person investigating the issue.
Important notes:
- You may need to be patient waiting for someone to investigate your issu=
e. Contributors to Hyperledger Indy have their own priorities. Unless you h=
ave paid someone to assist you, remember that anyone looking at your issue =
is a volunteer and you should be grateful for their assistance.
- If someone seriously tries to reproduce your issue and cannot, they wil=
l close it with the resolution "Cannot Reproduce". This indicates that the =
problem is likely specific to your system. You can find the solution yourse=
lf, contract with someone for assistance, or reopen the issue and add furth=
er details. Please do not reopen an issue if you don't have new information=
that can help the investigation.
- If you are seeing a problem that appears to be a duplicate of a fixed i=
ssue, it is generally better to create a new issue and link to the old one =
instead of reopening the old issue.
Private=
ly Reporting a Security Vulnerability
If you identify an exploitable security vulnerability in an Indy project=
, please responsibly disclose it in private so that we have the opportunity=
to address it before public disclosure.
Please report using HackerOne or by sending an ema=
il to the team at security@sovrin.org.
Contributing Code
When contributing a bug =
fix
- It is preferable to start with a Jira issue, as other might contribute =
guidance on the best way to diagnose and fix the problem.
- Then submit a Pull Request in GitHub with your suggested changes.
- Don't forget to include a unit test which reproduces the problem and is=
fixed by the PR.
- Reference the associated Jira issue in the PR title.
- Sign your commit to provide an attestation of the How to Contribute#D=
CO.
- Wait
- CI will be run on your PR.
- Once CI passes, a maintainer will review your PR.
- If the maintainer asks for changes, you will need to respond.
- Once the maintainer is happy, the PR will be accepted and included in t=
he next release.
When contributing a =
new feature
- It is preferable for you to start with a Jira issue before putting in s=
ignificant effort.
- Get feedback on whether the community is interested in the feature.
- Solicit ideas on the best way to approach the implementation.
- Consider submitting a HIPE
- If the change impacts more than one project, then a Hyperledger Indy Pr=
oject Enhancement needs to be discussed.
- Submit a Pull Request in GitHub with your architecture plan to the desi=
gn folder of the repository you are changing.
- The architects and maintainers will give you feedback and suggestions w=
hen accepting the design.
- The design then becomes part of the developer documentation.
- Submit a Pull Request in GitHub with your changes.
- Sign your commit to provide an attestation of the How to Contribute#D=
CO.
- Don't forget to update all relevant tests, changes to CI / CD, document=
ation, translations, etc.
- API changes need to be reflected in all layers of the system within the=
repository you are updating. For example, LibIndy API improvements have to=
be reflected in the CLI and language bindings.
- Wait
- CI will be run on your PR.
- Once CI passes, a maintainer will review your PR.
- If the maintainer asks for changes, you will need to respond.
- Once the maintainer is happy, the PR will be accepted and included in t=
he next release.
Best pract=
ices when creating Pull Requests
- Make a private fork of the repository you want to contribute to.
- Assign the related Jira ticket to yourself and set it to "In Progress" =
so that others know you are working on it.
- Write good code:
- We prefer Test Driven Development.
- Unit tests are required. Integration tests are encouraged.
- Pay attention to the code standards documented in the repository where =
you are contributing.
- Observe best practices and style guidelines in the repository's "Coding-Conventions.md" file.
- Write idiomatic code for the language you=E2=80=99re using (e.g., PEP8 =
for python)
- Respect other stylistic and design choices until you build enough credi=
bility to influence the project as a whole.
- Understand the Apache 2 license: don=E2=80=99t contribute anything encu=
mbered by copyright or patent issues.
- Don=E2=80=99t add new dependencies without consulting a maintainer.
- The CI pipeline is configured to fail on compiler warnings.
- Confirm that all tests pass.
- Don't mix unrelated improvements in the same Pull Requset.
- Submit a Pull Request to the master branch of the upstream repository.<=
/li>
- Move the Jira ticket to "Code Review" status.
- Announce your PR on #indy-pr-review at chat.hyperledger.com (give the P=
R URL and Jira reference).
- The reviewer should assign the ticket to themselves.
- Especially engage the maintainers if the change is big, significant, or=
risky.
- Monitor the pull request for comments from the reviewer.
- Be patient.
- Our goal is to not let pull requests go for a week without some type of=
follow up from the maintainers.
Other best practices:
- Communicate proactively and pragmatically.
- Be informed before you ask questions (wiki, chat, design docs, jira).=
li>
- Contribute a lot, and recruit your friends!
- Feel free to tout your contributions on LinkedIn, resumes, and so forth=
.
Doing a Code Review
When doing a code review, ensure to check:
- Functionality: Does the new code work without breaking anything? Is it =
backwards compatible?
- Tests: Do the new tests pass? Are there enough tests for the right thin=
gs?
- Quality: Is the code clean, well encapsulated, simple, and conformant t=
o the style guidelines for the repository? Does it make wise choices about =
refactoring?
- Safety: Does the code avoid any new dependencies or IP encumbrances?
- Use GitHub to give feedback to the submitter. Be grateful, encouraging,=
and helpful, but also don't be afraid to ask for improvements and enforce =
a high standard.
- If your review is favorable, assign the Jira ticket to a maintainer wit=
h a note that you think it is ready to merge.
- Optionally, ping the maintainer and submitter on chat with a status upd=
ate.
When in doubt, escalate your question to maintainers on chat, on the mailin=
g list, or on a working group call. Maintainers can then coordinate the nec=
essary conversations to resolve the issue.
Collaborating in Jira
We use Jira to collaborate on the backlog for various Jira projects. Eac=
h Indy project shares a common workflow:
In issue moves through the following statuses:
- Issues are created as New.
- There is an optional Design step if we want to spend some time on the U=
X and architecture before development.
When someone decides the issue is valuable, clear, and ready for a d=
eveloper to start work, it is transitioned to the status "To Develop".
<=
/li>
- When development work starts, the issue should be marked as "In Progres=
s".
- When development work is done, and the PR is ready for review, it shoul=
d be moved to "Code Review".
- When the PR has been merged, the issue should be moved to "To Test" whe=
re a different developer should pick it up and confirm that it works.
- There is an optional "Customer Validation" step that can be used to ens=
ure the requirements or solution meets the customer's needs.
- When the issue is complete, it should be transitioned to "Done".
Important notes on Transitions:
- Any state can be transitioned to any other state.
- When transitioning an issue to Done, a resolution must be set indicatin=
g why the issue is considered "Done". It could be "Done", "Duplicate", "Won=
't Do", "Invalid", etc.
- When transitioning from "To Test" to "Done", use the transition "Done a=
s fixed" to automatically set the resolution to "Done".
- An issue that is "Done" can be moved back to "To Develop" using the tra=
nsition "Reopen" which will clear the resolution.
- The transition "Fix Resolution" is used to change the resolution of a c=
ompleted issue without changing its status away from "Done".
Best practices:
- It is best practice to include a comment every time you touch an issue =
indicating to others what you did and why.
- Each team working in Jira should create a "sprint" where they claim tic=
kets that they have in progress.
- Each time might also create an additional sprint containing a handful o=
f tickets they want to work on next.
- The label "help-wanted" should be applied to tickets that are good for =
other people assist with.
Becoming a Maintainer
A maintainer can merge pull requests in GitHub. We need more mainta=
iners of Hyperledger Indy!
- Maintainers are expected to be well informed, unselfish, accessible, an=
d good (proactive) communicators.
- Multiple maintainers are encouraged for timezone convenience and to avo=
id risks during staff transitions.
- The project's maintainers and other key contributors are identified a f=
ile called Maintainers.md.
- Any folder can have a Maintainers.md specific to that folder.
- Recognize that many parts of a project have shared scope and collaborat=
ion will be necessary among all maintainers to keep it in good shape.
To become a maintainer:
- Select a code base that you are interested in helping to improve.
- Learn the code base.
- Attend the relevant working group sessions, read the mailing list threa=
ds, and collaborate with other developers at chat.hyperledger.co=
m.
- Regularly submit pull requests, and work with the existing maintainers =
enough to have them accepted.
- Ask to become a maintainer.
A maintainer has to contribute to more than their own priorities. To rem=
ain a maintainer, one must:
- Demonstrate that one is collaborating with the other maintainers by att=
ending the relevant working group sessions, reading the mailing list thread=
s, and helping other developers at chat.hyperledger.com.
- Review the pull requests of others, provide feedback, and accept them w=
hen they are at a high enough quality.
- Propose architecture improvements as designs and HIPES, and help improv=
e the proposals of others.
- Proactively reach out to other maintainers to ensure a common unified v=
ision for the project.
- Contribute to documentation, release testing, integration testing, main=
tenance of CI / CD, triage of community submitted Jira issues, and other re=
lease management tasks.
- Smoothly transition out of maintainership when necessary by informing t=
he other maintainers of the project.
Continu=
ous Integration / Continuous Delivery
A build is =E2=80=9Cbroken=E2=
=80=9D if any automated processes (compile, package, test, etc) fail.
Anybody can institute automat=
ed build processes, but only ones endorsed by maintainers are normative.
A broken build in master is a=
n urgent team emergency, because it halts all productive work by others. Wh=
oever discovers the broken build should report to @all<=
span> on #indy-build immediately, and claim owner=
ship or find an owner.
Maintainers fix breaks in the=
ir scope; the default fix is to revert a problematic change.
Submitters should plan to be =
available to maintainers soon after a PR is merged, so they can help with t=
roubleshooting. They should proactively debug and reach out to maintainers =
if they notice an issue.
Build logs will be made avail=
able.
DCO
All commits to Hyperledger Projects must attest to the . Enf=
orcement is done by the DCO App.
------=_Part_12126_849547048.1711721387169
Content-Type: application/octet-stream
Content-Transfer-Encoding: base64
Content-Location: file:///C:/f303cbc06d2ef5b52581dd3b3069f285
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
RU5ErkJggg==
------=_Part_12126_849547048.1711721387169--