This Confluence has been LDAP enabled, if you are an ASF Committer, please use your LDAP Credentials to login. Any problems file an INFRA jira ticket please.

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. All contributions, code or not code, are important. 


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 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: (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 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 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

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. 

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
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