-
Notifications
You must be signed in to change notification settings - Fork 59
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Need to improve code review/release process and reduce developer productivity friction #342
Comments
I wholeheartedly agree. Who do we need to convince in order to make a change? |
I think, for enterprise adoption, there is value of the fact that Arrow.jl is managed under Apache Arrow umbrella. So regarding 1. and 2. (PR approval) I think that the practical solution could be:
Regarding 3. (merging policy) - what @quinnj describes is indeed what is a typical practice in Julia community. However, if Apache PMC wants to keep this rule the good thing is that Julia package manager is flexible enough to work-around this. If user is hit by some bug and it is fixed but not released yet user can install Having said that, I think that the starting point for this discussion is a question how Arrow PMC sees the PR approval process given your comments, so that it allows for smooth development while ensuring safety (as this is what I assume Arrow PMC rules are designed around). |
This seems to be misleading since: 1) any committer should be able to merge PRs, not only PMCs; 2) anyone can review PRs, a committer is only needed to do the actual merging. That said, given that the Arrow Julia community operates entirely separately from other Arrow development communities, and that ASF policies do need seem to suit its preferred workflow, it would IMHO make sense for Arrow Julia to leave the ASF umbrella. |
I don't think there's many active committers (beyond Jacob), though, so the distinction doesn't help much here. I also don't think just operating separately is an issue, and the challenges here around releases are also faced by other Arrow subprojects (Go, Rust). Finally, we just got arrow-julia back under the ASF umbrella; I don't think we should see these problems as a sign to just throw in the towel immediately. |
Apache Arrow commiters (including @quinnj) and Apache Arrow PMC members can approve pull requests. If the approval for pull request is meaningless for us, we can disable the "require 1 approval before merging a pull request" feature by removing https://github.com/apache/arrow-julia/blob/main/.asf.yaml#L41-L43 . It's just added because the original repository has the configuration.
Is it for voting a new release? Or is it for merging a pull request to bump version such as #312 ? If it's for voting, at least Apache Arrow PMC members need to audit license for each release.
Because Apache Arrow PMC is responsible for ensuring that all Apache Arrow artifacts comply with legal affairs policies: https://www.apache.org/dev/pmc.html#legal-policy This is for legal protection. See also: https://www.apache.org/legal/release-policy.html#why If it's for merging a pull request, the current Apache Arrow Julia contributors can confirm changes for a new release and comment on a pull request to bump version. See also my answer for 1.
OK. I'll start discussions about inviting them as an Apache Arrow committer on
We can use 24 hours because 72 hours is just "SHOULD": https://www.apache.org/legal/release-policy.html#release-approval BTW, we already use 24 hours not 72 hours. e.g.:
@quinnj Are you interested in joining Apache Arrow PMC? If you're an Apache Arrow PMC member, we'll get 2 |
Yeah, it would probably be best to disable this for now. I think it's a nice feature on larger codebases, but for Arrow.jl, I think it's just too small at the moment.
Yes, this would also be helpful.
@jrevels has been a solid contributor by reporting issues, making pull requests, and bringing up larger design discussion for the project as he works on the key data integration of arrow data at Beacon Biosignals. @omus is a solid contributor that helped a lot in the process of registering the ArrowTypes.jl subpackage and working out CI wrinkles so Arrow.jl and ArrowTypes.jl worked together nicely. He has also contributed to larger package design discussions in meaningful ways. @ericphanson has been super helpful reporting issues, making fixes, and helping triage issues as they come in to the repo. @nickrobinson251 has started helping triage issues and has shown interest in working on finishing the C data interface for the Julia implementation. He is strong in design discussions and would help being able to provide fixes for issues as they come in. @bkamins is a strong contributor across the JuliaData ecosystem. He's a leading member of larger, coordinating projects that affect lots of packages and is the primary DataFrames.jl maintainer. It would be helpful to include him as a committer to help review inter-package PRs in the Arrow.jl repo (like for the recent efforts to coordinate Julia-side metadata for tables). @baumgold has made a number of large, meaningful pull requests to the project, in addition to helping triage issues and do code reviews on outstanding pull requests. |
See discussion [here](#342 (comment)).
PR up to remove requiring approvals: #343 |
Thanks. I've merged #343. Now, we don't require any approval to merge a pull request. I've started discussions for Apache Arrow committers and Apache Arrow PMC member on |
Thanks @kou |
I think the developement/release process has improved significantly; many thanks to @kou for all the help here. |
In #284, I originally raised some concerns about the health and long-term maintainability of the package under the apache organization.
Having let that sit for a while, I'm again raising concerns around how the package is managed. In particular, I have 3 main complaints:
On point 1, it's unfortunate because only Arrow PMC members (only @kou so far) can approve PRs/releases in a meaningful way, yet these members, no disrespect intended, don't have the skills/context/code abilities to actually evaluate code changes. It would be much more helpful if @jrevels, @omus, @ericphanson, @nickrobinson251, @bkamins, and @baumgold had the necessary permissions to approve pull requests and new releases.
On point 3, the current 72-hour window is really long. Especially when it's idiomatic in Julia packages to merge a single pull request with small fix, and immediately issue a patch release. I think ideally we'd be able to have at least 12 or 24 hour release windows that would make things much more manageable.
Thoughts?
The text was updated successfully, but these errors were encountered: