Contributions and getting started

classic Classic list List threaded Threaded
6 messages Options
Reply | Threaded
Open this post in threaded view
|

Contributions and getting started

Ryan Withers
To whom it may concern,

  So my goal is to begin making contributions to the nifi product.  Right
now I'm just trying to build the product from source and having some
difficulty.

I've listed out the branches associated with the following repository (git
clone https://git-wip-us.apache.org/repos/asf/nifi.git)

I don't see any support branches related to 1.8.0 and it seems like the
master branch has already been bumped to 1.9.0.   I recognize that if I
want to contribute a change it likely has to be done against 1.9.0 rather
than 1.8.0 but I've been having build issues against 1.9.0.  However, I did
have a successful build against support/nifi-1.7.x.

Once I have the appropriate version of the source compiling I plan to pick
an issue from your jira instance which I've been reading through.  Then
perform a modification and walk through the pull request process.  With
Jira I'm noticing there are some stories that say "in progress" or "patch
available" but none of them have an assignee.  Is the transition between
these states driven by automation or are people manually updating the
stories in Jira?

Thanks in advance,

Ryan

--
Ryan Withers
Senior Software Developer / Analyst

http://www.linkedin.com/in/ryanwithers
Reply | Threaded
Open this post in threaded view
|

Re: Contributions and getting started

Andy LoPresto-2
Hi Ryan,

Sorry to hear you are having trouble building the project. Can you share specific Maven failures to help us diagnose?

The versioning may be unusual, so let me try to clarify:

1.8.0 is the most recently released version of the software [1]. 1.7.1, 1.7.0, 1.6.0, etc. are previously released versions. The code at that point in time can be found by using the git tags (i.e. rel-1.8.0) [2]. If you have the git project cloned, you can switch to any tag or branch and build that specific release, or download the artifacts from the archive listing [3]. The releases aren’t supported indefinitely though, so we encourage users to upgrade when possible to the most recent versions.

1.9.0-SNAPSHOT is the current “master” version, as it allows development on the core codebase after 1.8.0 was released. 1.9.0 has not been released, nor even discussed for vote and release process [4] yet. In the coming weeks/months, that discussion will occur, and given community buy-in, that release will have a release candidate proposed, voted on, and hopefully released.

We follow semantic versioning [5], so major, minor, and bug fix release numbers all have a specific meaning and context.

The Jira ticket process is mostly manual. If a ticket has an “In Progress” status, someone has likely begun working on that issue. If it is not assigned to anyone, you can comment on the Jira asking if anyone has started or is currently working on it. Sometimes people start on an issue and then priorities change or they move to something else, so it’s fair to ask on anything you’re not sure of. If a PR is linked and the PR is recent, the user probably just didn’t update the Jira assignee. If the PR is stale (old, not rebased against master, has outstanding requests from reviewers that have not been addressed), you can also work on it, but a comment indicating that will help reduce duplication of efforts.

If you have not already seen them, the Getting Started [6], Contributor Guide [7], and Developer Guide [8] documents are very helpful for new contributors. If anything in there is unclear, please feel free to reply here. If you can, offering improvements or clarity via a PR is even better — things change over time, and concretely documenting our process to help everyone is a big responsibility, but something we are committed to. Every time a new contributor tries to join, we get the best possible feedback on the current process.

Hope this helps you get involved.


[1] https://nifi.apache.org/download.html
[2] https://github.com/apache/nifi/tree/rel/nifi-1.8.0
[3] https://archive.apache.org/dist/nifi/
[4] https://www.apache.org/legal/release-policy.html
[5] https://semver.org/
[6] https://nifi.apache.org/docs/nifi-docs/html/getting-started.html
[7] https://cwiki.apache.org/confluence/display/NIFI/Contributor+Guide <https://cwiki.apache.org/confluence/display/NIFI/Contributor+Guide>
[8] https://nifi.apache.org/docs/nifi-docs/html/developer-guide.html

Andy LoPresto
[hidden email]
[hidden email]
PGP Fingerprint: 70EC B3E5 98A6 5A3F D3C4  BACE 3C6E F65B 2F7D EF69

> On Jan 23, 2019, at 3:56 PM, Ryan Withers <[hidden email]> wrote:
>
> To whom it may concern,
>
>  So my goal is to begin making contributions to the nifi product.  Right
> now I'm just trying to build the product from source and having some
> difficulty.
>
> I've listed out the branches associated with the following repository (git
> clone https://git-wip-us.apache.org/repos/asf/nifi.git)
>
> I don't see any support branches related to 1.8.0 and it seems like the
> master branch has already been bumped to 1.9.0.   I recognize that if I
> want to contribute a change it likely has to be done against 1.9.0 rather
> than 1.8.0 but I've been having build issues against 1.9.0.  However, I did
> have a successful build against support/nifi-1.7.x.
>
> Once I have the appropriate version of the source compiling I plan to pick
> an issue from your jira instance which I've been reading through.  Then
> perform a modification and walk through the pull request process.  With
> Jira I'm noticing there are some stories that say "in progress" or "patch
> available" but none of them have an assignee.  Is the transition between
> these states driven by automation or are people manually updating the
> stories in Jira?
>
> Thanks in advance,
>
> Ryan
>
> --
> Ryan Withers
> Senior Software Developer / Analyst
>
> http://www.linkedin.com/in/ryanwithers

Reply | Threaded
Open this post in threaded view
|

Re: Contributions and getting started

Kevin Doran-2
Hi Ryan,

Welcome to the Apache NiFi community! It's great to hear that you're interested in contributing to the project.

In addition to what Andy said, here are a couple notes that might help: 

- The ASF git repo URL you mentioned [1] is an old URL. The project recently moved to gitbox [2] / github [3] as the official project repo. I *think* the old location stil works or at least redirects to github, but you'll want to update your remote to be one of the new repos in case the old URL stops working.

- For most releases, you won't see a version branch, just a git tag. Release version tags are in the form "rel/nifi-MAJOR.MINOR.PATCH", so to switch to the source code revision for a given version, you can use "git checkout rel/nifi-1.8.0"

- As Andy mentioned, share your build failures for the current master (1.9.0-SNAPSHOT) and we'll try to help sort it out for you. We try to keep the build passing on master for all platforms.

Cheers,
Kevin

[1] https://git-wip-us.apache.org/repos/asf/nifi.git 
[2] https://gitbox.apache.org/repos/asf?p=nifi.git 
[3] https://github.com/apache/nifi 


On January 23, 2019 at 21:48:00, Andy LoPresto ([hidden email]) wrote:

> Hi Ryan,
>  
> Sorry to hear you are having trouble building the project. Can you share specific Maven  
> failures to help us diagnose?
>  
> The versioning may be unusual, so let me try to clarify:
>  
> 1.8.0 is the most recently released version of the software [1]. 1.7.1, 1.7.0, 1.6.0,  
> etc. are previously released versions. The code at that point in time can be found by using  
> the git tags (i.e. rel-1.8.0) [2]. If you have the git project cloned, you can switch to  
> any tag or branch and build that specific release, or download the artifacts from the  
> archive listing [3]. The releases aren’t supported indefinitely though, so we encourage  
> users to upgrade when possible to the most recent versions.
>  
> 1.9.0-SNAPSHOT is the current “master” version, as it allows development on the core  
> codebase after 1.8.0 was released. 1.9.0 has not been released, nor even discussed for  
> vote and release process [4] yet. In the coming weeks/months, that discussion will occur,  
> and given community buy-in, that release will have a release candidate proposed, voted  
> on, and hopefully released.
>  
> We follow semantic versioning [5], so major, minor, and bug fix release numbers all have  
> a specific meaning and context.
>  
> The Jira ticket process is mostly manual. If a ticket has an “In Progress” status, someone  
> has likely begun working on that issue. If it is not assigned to anyone, you can comment  
> on the Jira asking if anyone has started or is currently working on it. Sometimes people  
> start on an issue and then priorities change or they move to something else, so it’s fair  
> to ask on anything you’re not sure of. If a PR is linked and the PR is recent, the user probably  
> just didn’t update the Jira assignee. If the PR is stale (old, not rebased against master,  
> has outstanding requests from reviewers that have not been addressed), you can also  
> work on it, but a comment indicating that will help reduce duplication of efforts.
>  
> If you have not already seen them, the Getting Started [6], Contributor Guide [7], and  
> Developer Guide [8] documents are very helpful for new contributors. If anything in  
> there is unclear, please feel free to reply here. If you can, offering improvements or  
> clarity via a PR is even better — things change over time, and concretely documenting  
> our process to help everyone is a big responsibility, but something we are committed  
> to. Every time a new contributor tries to join, we get the best possible feedback on the  
> current process.
>  
> Hope this helps you get involved.
>  
>  
> [1] https://nifi.apache.org/download.html
> [2] https://github.com/apache/nifi/tree/rel/nifi-1.8.0
> [3] https://archive.apache.org/dist/nifi/
> [4] https://www.apache.org/legal/release-policy.html
> [5] https://semver.org/
> [6] https://nifi.apache.org/docs/nifi-docs/html/getting-started.html
> [7] https://cwiki.apache.org/confluence/display/NIFI/Contributor+Guide 
> [8] https://nifi.apache.org/docs/nifi-docs/html/developer-guide.html
>  
> Andy LoPresto
> [hidden email]
> [hidden email]
> PGP Fingerprint: 70EC B3E5 98A6 5A3F D3C4 BACE 3C6E F65B 2F7D EF69
>  
> > On Jan 23, 2019, at 3:56 PM, Ryan Withers wrote:
> >
> > To whom it may concern,
> >
> > So my goal is to begin making contributions to the nifi product. Right
> > now I'm just trying to build the product from source and having some
> > difficulty.
> >
> > I've listed out the branches associated with the following repository (git
> > clone https://git-wip-us.apache.org/repos/asf/nifi.git)
> >
> > I don't see any support branches related to 1.8.0 and it seems like the
> > master branch has already been bumped to 1.9.0. I recognize that if I
> > want to contribute a change it likely has to be done against 1.9.0 rather
> > than 1.8.0 but I've been having build issues against 1.9.0. However, I did
> > have a successful build against support/nifi-1.7.x.
> >
> > Once I have the appropriate version of the source compiling I plan to pick
> > an issue from your jira instance which I've been reading through. Then
> > perform a modification and walk through the pull request process. With
> > Jira I'm noticing there are some stories that say "in progress" or "patch
> > available" but none of them have an assignee. Is the transition between
> > these states driven by automation or are people manually updating the
> > stories in Jira?
> >
> > Thanks in advance,
> >
> > Ryan
> >
> > --
> > Ryan Withers
> > Senior Software Developer / Analyst
> >
> > http://www.linkedin.com/in/ryanwithers
>  
>  

Reply | Threaded
Open this post in threaded view
|

Re: Contributions and getting started

Ryan Withers
In reply to this post by Ryan Withers
Well I wanted to return to the group and report that I jumped the gun, and
that I have now achieved a successful build of the master branch
1.9.0-SNAPSHOT.  I put myself back on the master branch and continued to
dig going this time to the development quickstart (
http://nifi.apache.org/quickstart.html).  I found there that you have to
run the following command:

mvn -T C2.0 clean install -Pinclude-grpc

I was just running 'mvn clean compile' and I think the module
nifi-toolkit-tls must have some kind of dependency that requires the
"include-grpc" flag.  Because that was where my dependency errors were
coming from.  I have not verified this though.  It could also be that there
are areas of the build that don't respond the same way to the targets I
passed in vs. the targets in the command that were successful.  I still
have some investigation to do to be sure I understand this completely.

I'm going to keep reading but I still have the same questions about
contributions as before.

With Jira I'm noticing there are some stories that say "in progress" or
"patch available" but none of them have an assignee.  Is the transition
between these states driven by automation or are people manually updating
the stories in Jira?

Thanks,

Ryan

On Wed, Jan 23, 2019 at 5:56 PM Ryan Withers <[hidden email]> wrote:

> To whom it may concern,
>
>   So my goal is to begin making contributions to the nifi product.  Right
> now I'm just trying to build the product from source and having some
> difficulty.
>
> I've listed out the branches associated with the following repository (git
> clone https://git-wip-us.apache.org/repos/asf/nifi.git)
>
> I don't see any support branches related to 1.8.0 and it seems like the
> master branch has already been bumped to 1.9.0.   I recognize that if I
> want to contribute a change it likely has to be done against 1.9.0 rather
> than 1.8.0 but I've been having build issues against 1.9.0.  However, I did
> have a successful build against support/nifi-1.7.x.
>
> Once I have the appropriate version of the source compiling I plan to pick
> an issue from your jira instance which I've been reading through.  Then
> perform a modification and walk through the pull request process.  With
> Jira I'm noticing there are some stories that say "in progress" or "patch
> available" but none of them have an assignee.  Is the transition between
> these states driven by automation or are people manually updating the
> stories in Jira?
>
> Thanks in advance,
>
> Ryan
>
> --
> Ryan Withers
> Senior Software Developer / Analyst
>
> http://www.linkedin.com/in/ryanwithers
>
>

--
Ryan Withers
Senior Software Developer / Analyst

http://www.linkedin.com/in/ryanwithers
Reply | Threaded
Open this post in threaded view
|

Re: Contributions and getting started

Matt Burgess-2
Ryan,

I'm glad to join my NiFi community colleagues by saying "welcome
aboard!!" and we'll do our best to get you up and running :) For the
Jira part, Apache's Jira lets you create a case without being a
contributor for that particular project. For that reason, there are a
few NIFI cases out there that have In Progress or Patch Available (or
other statuses) with nobody assigned. If the status is Patch Available
and there is a link to a GitHub PR (even if  the Jira is Unassigned),
IMO you can safely assume that the PR author is "assigned" to the case
and that the NiFi PMC/committers will review when they can. If it is
"In Progress" with nobody assigned and no attached patch or link to a
GitHub PR, please let us know to make sure it doesn't get missed. I
personally (if not already suggested by our contributor docs)
recommend you create an Apache Jira account, and if/when you have one,
we can add you as a contributor so you can assign case(s) to yourself,
just let us know your username and that you'd like to be a
contributor.

AFAIK, the Travis service and many of us build the entire repo without
needing to active the grpc profile (there are a few profiles not
activated by default), so we'd be very interested in any build
failures you may encounter. Looking forward to working with you!

Cheers,
Matty B


On Thu, Jan 24, 2019 at 12:32 AM Ryan Withers <[hidden email]> wrote:

>
> Well I wanted to return to the group and report that I jumped the gun, and
> that I have now achieved a successful build of the master branch
> 1.9.0-SNAPSHOT.  I put myself back on the master branch and continued to
> dig going this time to the development quickstart (
> http://nifi.apache.org/quickstart.html).  I found there that you have to
> run the following command:
>
> mvn -T C2.0 clean install -Pinclude-grpc
>
> I was just running 'mvn clean compile' and I think the module
> nifi-toolkit-tls must have some kind of dependency that requires the
> "include-grpc" flag.  Because that was where my dependency errors were
> coming from.  I have not verified this though.  It could also be that there
> are areas of the build that don't respond the same way to the targets I
> passed in vs. the targets in the command that were successful.  I still
> have some investigation to do to be sure I understand this completely.
>
> I'm going to keep reading but I still have the same questions about
> contributions as before.
>
> With Jira I'm noticing there are some stories that say "in progress" or
> "patch available" but none of them have an assignee.  Is the transition
> between these states driven by automation or are people manually updating
> the stories in Jira?
>
> Thanks,
>
> Ryan
>
> On Wed, Jan 23, 2019 at 5:56 PM Ryan Withers <[hidden email]> wrote:
>
> > To whom it may concern,
> >
> >   So my goal is to begin making contributions to the nifi product.  Right
> > now I'm just trying to build the product from source and having some
> > difficulty.
> >
> > I've listed out the branches associated with the following repository (git
> > clone https://git-wip-us.apache.org/repos/asf/nifi.git)
> >
> > I don't see any support branches related to 1.8.0 and it seems like the
> > master branch has already been bumped to 1.9.0.   I recognize that if I
> > want to contribute a change it likely has to be done against 1.9.0 rather
> > than 1.8.0 but I've been having build issues against 1.9.0.  However, I did
> > have a successful build against support/nifi-1.7.x.
> >
> > Once I have the appropriate version of the source compiling I plan to pick
> > an issue from your jira instance which I've been reading through.  Then
> > perform a modification and walk through the pull request process.  With
> > Jira I'm noticing there are some stories that say "in progress" or "patch
> > available" but none of them have an assignee.  Is the transition between
> > these states driven by automation or are people manually updating the
> > stories in Jira?
> >
> > Thanks in advance,
> >
> > Ryan
> >
> > --
> > Ryan Withers
> > Senior Software Developer / Analyst
> >
> > http://www.linkedin.com/in/ryanwithers
> >
> >
>
> --
> Ryan Withers
> Senior Software Developer / Analyst
>
> http://www.linkedin.com/in/ryanwithers
Reply | Threaded
Open this post in threaded view
|

Re: Contributions and getting started

Andy LoPresto-2
Hi Ryan,

Glad to see you are having more success. I recommend subscribing to the [hidden email] <mailto:[hidden email]> mailing list because I don’t think you received the replies from the community over the last two days. You can view those here [1].

The gRPC bundle is not always required for the build, but if it exists, then subsequent builds do require that profile to be enabled. We hope to make this easier to handle with upcoming improvements.

[1] https://lists.apache.org/thread.html/570136ec0f230d5d22d707e029e9287effe12e31d78ffdbc7dabc09a@%3Cdev.nifi.apache.org%3E


Andy LoPresto
[hidden email]
[hidden email]
PGP Fingerprint: 70EC B3E5 98A6 5A3F D3C4  BACE 3C6E F65B 2F7D EF69

> On Jan 23, 2019, at 9:51 PM, Matt Burgess <[hidden email]> wrote:
>
> Ryan,
>
> I'm glad to join my NiFi community colleagues by saying "welcome
> aboard!!" and we'll do our best to get you up and running :) For the
> Jira part, Apache's Jira lets you create a case without being a
> contributor for that particular project. For that reason, there are a
> few NIFI cases out there that have In Progress or Patch Available (or
> other statuses) with nobody assigned. If the status is Patch Available
> and there is a link to a GitHub PR (even if  the Jira is Unassigned),
> IMO you can safely assume that the PR author is "assigned" to the case
> and that the NiFi PMC/committers will review when they can. If it is
> "In Progress" with nobody assigned and no attached patch or link to a
> GitHub PR, please let us know to make sure it doesn't get missed. I
> personally (if not already suggested by our contributor docs)
> recommend you create an Apache Jira account, and if/when you have one,
> we can add you as a contributor so you can assign case(s) to yourself,
> just let us know your username and that you'd like to be a
> contributor.
>
> AFAIK, the Travis service and many of us build the entire repo without
> needing to active the grpc profile (there are a few profiles not
> activated by default), so we'd be very interested in any build
> failures you may encounter. Looking forward to working with you!
>
> Cheers,
> Matty B
>
>
> On Thu, Jan 24, 2019 at 12:32 AM Ryan Withers <[hidden email]> wrote:
>>
>> Well I wanted to return to the group and report that I jumped the gun, and
>> that I have now achieved a successful build of the master branch
>> 1.9.0-SNAPSHOT.  I put myself back on the master branch and continued to
>> dig going this time to the development quickstart (
>> http://nifi.apache.org/quickstart.html).  I found there that you have to
>> run the following command:
>>
>> mvn -T C2.0 clean install -Pinclude-grpc
>>
>> I was just running 'mvn clean compile' and I think the module
>> nifi-toolkit-tls must have some kind of dependency that requires the
>> "include-grpc" flag.  Because that was where my dependency errors were
>> coming from.  I have not verified this though.  It could also be that there
>> are areas of the build that don't respond the same way to the targets I
>> passed in vs. the targets in the command that were successful.  I still
>> have some investigation to do to be sure I understand this completely.
>>
>> I'm going to keep reading but I still have the same questions about
>> contributions as before.
>>
>> With Jira I'm noticing there are some stories that say "in progress" or
>> "patch available" but none of them have an assignee.  Is the transition
>> between these states driven by automation or are people manually updating
>> the stories in Jira?
>>
>> Thanks,
>>
>> Ryan
>>
>> On Wed, Jan 23, 2019 at 5:56 PM Ryan Withers <[hidden email]> wrote:
>>
>>> To whom it may concern,
>>>
>>>  So my goal is to begin making contributions to the nifi product.  Right
>>> now I'm just trying to build the product from source and having some
>>> difficulty.
>>>
>>> I've listed out the branches associated with the following repository (git
>>> clone https://git-wip-us.apache.org/repos/asf/nifi.git)
>>>
>>> I don't see any support branches related to 1.8.0 and it seems like the
>>> master branch has already been bumped to 1.9.0.   I recognize that if I
>>> want to contribute a change it likely has to be done against 1.9.0 rather
>>> than 1.8.0 but I've been having build issues against 1.9.0.  However, I did
>>> have a successful build against support/nifi-1.7.x.
>>>
>>> Once I have the appropriate version of the source compiling I plan to pick
>>> an issue from your jira instance which I've been reading through.  Then
>>> perform a modification and walk through the pull request process.  With
>>> Jira I'm noticing there are some stories that say "in progress" or "patch
>>> available" but none of them have an assignee.  Is the transition between
>>> these states driven by automation or are people manually updating the
>>> stories in Jira?
>>>
>>> Thanks in advance,
>>>
>>> Ryan
>>>
>>> --
>>> Ryan Withers
>>> Senior Software Developer / Analyst
>>>
>>> http://www.linkedin.com/in/ryanwithers
>>>
>>>
>>
>> --
>> Ryan Withers
>> Senior Software Developer / Analyst
>>
>> http://www.linkedin.com/in/ryanwithers