Skip to content

Commit 312eb82

Browse files
authored
Merge pull request hyperledger-indy#706 from michaeldboyd/feature/contributor-resources
Added a Contributor Resources page and a how to for signing commits.
2 parents 8672a6e + 17efba4 commit 312eb82

File tree

3 files changed

+69
-1
lines changed

3 files changed

+69
-1
lines changed

doc/contributor-resources.md

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
# Contributing to Indy SDK
2+
3+
4+
Before contributing to Indy SDK, there are a couple steps that will help your process go much more smoothly.
5+
6+
First, please take a look at our contributing guidelines: [how to contribute to Hyperledger Indy](http://bit.ly/2ugd0bq).
7+
8+
If you are looking for how to sign current or previous commits, go here: [signing your commits](signing-commits.md)
9+
10+
## Connect with the Community
11+
12+
Hyperledger Indy has a vibrant and active community of developers willing to help you answer questions, learn more about self-sovereign identity, and get involved.
13+
14+
You will find the best and most update resources on chat board here: [Hyperledger Rocket Chat](https://chat.hyperledger.org/home)
15+
16+
\#indy-sdk, \#indy-node, and \#indy are the some of the best channels to get started. Please introduce yourself and let us know what you want to accomplish!
17+
18+
## How to Start Working with the Code
19+
20+
1. Fork the indy-sdk repository on Github to your personal account.
21+
22+
1. Add the hyperledger/indy-sdk as the remote upstream:
23+
`git remote add upstream https://github.com/hyperledger/indy-sdk.git`
24+
25+
1. Set up Developer Certificate of Origin and learn how to [sign your commits](signing-commits.md)
26+
27+
1. Take a look at our [release workflow](release-workflow.md)
28+
29+
## How to send a PR
30+
31+
- Do not create big PRs; send a PR for one feature or bug fix only.
32+
If a feature is too big, consider splitting a big PR to a number of small ones.
33+
- Consider sending a design doc into `design` folder (as markdown or PlantUML diagram) for a new feature before implementing it
34+
- Make sure that a new feature or fix is covered by tests (try following TDD)
35+
- Make sure that documentation is updated according to your changes
36+
- Provide a full description of changes in the PR including Jira ticket number if any
37+
- Make sure that all your commits have a DCO sign-off from the author. (add the `-s` flag to all commits)
38+
- Put the link to the PR into `#indy-pr-review` channel in Rocket.Chat
39+
- A reviewer needs to start your tests first (add `test this please` comment to the PR)
40+
- You need to make sure that all the tests pass
41+
- A reviewer needs to review the code and approve the PR. If there are review comments, they will be put into the PR itself.
42+
- You must process them (feel free to reply in the PR threads, or have a discussion in Rocket.Chat if needed)
43+
- A reviewer or maintainer will merge the PR

doc/getting-started/getting-started.dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,4 +30,4 @@ RUN apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 68DB5E88 \
3030

3131
USER indy
3232

33-
EXPOSE 8888
33+
EXPOSE 8888

doc/signing-commits.md

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
# Signing commits
2+
3+
If you are here because you forgot to sign your commits, fear not. Check out [how to sign previous commits](#how-to-sign-previous-commits)
4+
5+
We use developer certificate of origin (DCO) in all hyperledger repositories, so to get your pull requests accepted, you must certify your commits by signing off on each commit.
6+
7+
## Signing your current commit
8+
- `$ git commit -s -m "your commit message"`
9+
- To see if your commits have been signed off, run `$ git log --show-signature`
10+
- If you need to re-sign the most current commit, use `$ git commit --amend --no-edit -s`.
11+
12+
The `-s` flag signs the commit message with your name and email.
13+
14+
## How to Sign Previous Commits
15+
1. Use `git log --show-signature` to see which commits need to be signed.
16+
1. Go into interactive rebase mode using `$ git rebase -i HEAD~X` where X is the number of commits up to the most current commit you would like to see.
17+
1. You will see a list of the commits in a text file. **On the line after each commit you need to sign**, add `exec git commit --amend --no-edit -s` with the lowercase `-s` adding a text signature in the commit body. Example that signs both commits:
18+
```
19+
pick 12345 commit message
20+
exec git commit --amend --no-edit -s
21+
pick 67890 commit message
22+
exec git commit --amend --no-edit -s
23+
```
24+
1. If you need to re-sign a bunch of previous commits at once, find the earliest unsigned commit using `git log --show-signature` and use that the HASH of the commit before it in this command: `git rebase --exec 'git commit --amend --no-edit -n -s' -i HASH`. This will sign every commit from most recent to right before the HASH.
25+
1. You will probably need to do a force push `git push -f` if you had previously pushed unsigned commits to remote.

0 commit comments

Comments
 (0)