Note: This page is work in progress.
This workflow is modeled after Spark Contributing to Spark
There are many ways to contribute to Rya. All contributions, code or not code, are important.
Contributions:
Here are some types of contributions. Any positive contribution to the project is welcome:
- Use our project and provide feedback.
- Ask and answer questions on the dev@rya.incubator.apache.org users list
- Contribute javadocs, documentation.
- Provide us with use-cases.
- Report bugs and submit patches.
- Contribute code.
- Contribute to the Rya website
- Help spread the word about the project
- Review pull requests
- Verify releases
- Anything else that contributes to health of the Rya project and community
To report a bug/propose work:
-create a JIRA ticket for the issue, using the Apache JIRA system: https://issues.apache.org/jira/browse/RYA (new users need to create a user account)
To find bugs/issues to work on:
-Browse issues in JIRA and find one that you'd like to work on.
-Create a JIRA account for yourself and email dev@rya.incubator.apache.org your username and ask to be added to the contributors list for JIRA
-If you're new to Rya, and you'd like to get your feet wet with a simple issue, search for issues labeled "beginner"
-Assign the issue to yourself, and mark the issue as "In Progress"
-Feel free to email dev@rya.incubator.apache.org for help or advice
To contribute code:
-a committer will look at it and integrate it in the code /or not
How to become a committer:
To find out how to become a committer for Rya, please read the ASF guides listed below. If you contribute to the project and show commitment to the project and ASF values of open communication, inclusion, diversity, meritocracy, the current committers will notice and it is likely they will invite you to become a committer.
http://www.apache.org/dev/new-committers-guide.html
http://www.apache.org/foundation/getinvolved.html#become-a-committer
Commit Process for Committers:
Step 0: Clone and Update your local copy of Apache Rya-Incubator repository
Step 1: Add a remote to the fork referenced in the PR and fetch the branch in the PR.
Step 2: Rebase the branch to master
and test the changes.
Step 3: Merge the changes into master
, update the commit message to close the PR, and push changes to Apache.
Step 4: Delete PR branch.
Step 5: Update JIRA Ticket
Step 0.1: Clone the Apache Rya-Incubator repository
git clone https://gitbox.apache.org/repos/asf/incubator-rya.git incubator-rya-apache
Step 0.2: Update your repository
git checkout master
git pull
Step 1: Add a remote to the fork referenced in the PR and fetch the branch in the PR
git remote add jej2003
https://github.com/jej2003/incubator-rya.git
git fetch jej2003 input_format_fix
git checkout input_format_fix
Step 2: Rebase the branch to master
.
git rebase master
Step 2.1: Test the License Requirements
mvn apache-rat:check
Step 2.2: Test the changes
mvn clean install
or better, include geo and integration tests and save in a new log file for examination:
mvn clean install -P geoindexing -P benchmark -P enable-it -Drat.skip \
-l /tmp/rya$(date +%Y%m%d%H%M).log &
less +F /tmp/rya<tab><tab>
Step 3: Merge the changes into master
, and push changes to Apache.
git checkout master
git merge input_format_fix
Step 4: Amend the commit message so that it closes the PR (Github Info here). After running the command below, add the append the following line to the commit "Closes #123 from jej2003/input_format_fix
". Note theat "#123" refers to the PR number in GitHub
git commit --amend
Step 3: Push changes to Apache.
git push origin master
Step 6: Delete PR branch.
git branch -D input_format_fix
Step 5: Update JIRA Ticket
Set the JIRA "Fix Version/s" field in to the next release version master branch (e.g. if the master is 3.2.10-SNAPSHOT
, the "Fix Version" is 3.2.10
)
Set the click on the "Close Issue" button in JIRA.
Closing Stale Issues on Github
Github issues are closed via commit messages to the master branch. Typically we pull in a PR and close the PR by amending the commit message with the "closes #xxx" line.
But sometimes we need to close a PR without pulling in the PR. Instead, create an "Empty Commit" and document the reason for the commit in the commit message.
git commit --allow-empty
EMPTY COMMIT Closes #110, Closes #109 An Empty Commit to close issues in GitHub