Page tree
Skip to end of metadata
Go to start of metadata

Note: This page is work in progress.

This workflow is modeled after Spark Contributing to Spark

There are many ways to contribute to Rya. We'll try to document them here.


To report a bug/propose work:

-create a JIRA ticket for the issue, using the Apache JIRA system: (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.

-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 for help or advice

To contribute code:

-find/file the JIRA ticket for that topic
-fork the code from the Github Apache repository
-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

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 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
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
Message for an Empty Commit to Close a PR



  • No labels