You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 22 Next »

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:

-find/file the JIRA ticket for that topic
-fork the code from the Github Apache repository https://github.com/apache/incubator-rya
-clone the fork, create a new branch, push commits to the branch
-create a pull request and add it to the JIRA ticket

-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 gudides listed below. Bottom line is, 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


The Example below demonstrates merging in a pull request from GitHub into the Apache Rya-Incubator repository. This specific Pull Request used for this example is here

Step 0.1: Clone the Apache Rya-Incubator repository

git clone https://git-wip-us.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.


Creating an Empty Commit
git commit --allow-empty
Message for an Empty Commit to Close a PR
EMPTY COMMIT Closes #110, Closes #109

An Empty Commit to close issues in GitHub



  • No labels