quinnj opened a new issue #279:
URL: https://github.com/apache/arrow-julia/issues/279


   In #278, there was some brief discussion around what the new release process 
looks like now that the repo has been transferred. I'd like to propose the 
following and we can see if this will work in terms of what's typical in terms 
of Julia package releases and the Apache Way:
   
   * Create a new GitHub Action: "JuliaReleaseVote", that we can call like 
`@JuliaReleaseVote register()` (similar to existing `@JuliaRegistrator 
register()`) on a specific commit in the repository when we feel like we're 
ready to vote on a new release
   * `JuliaReleaseVote` will open a new Github Issue/Discussion proposing the 
release details:
     * The commit hash that is being proposed for the new release
     * The version number being proposed for release (patch, minor, or major)
     * Vote window timing; personally, I'd propose we do a 36-hour voting 
window for releases, since 72 seems excessive. Not sure if that's allowed, but 
I'd prefer it.
     * Instructions to install/test the proposed release source code; this is 
most conveniently done via instructions like
     ```julia
     ] add Arrow@[proposed_release_commit]
     ] test Arrow
     ```
     * Instructions for members to vote: +1, -1, etc.
   * If the vote doesn't pass or issues are found, the vote issue/discussion is 
closed and commits can be made to fix/further prepare for the release; once a 
new release is ready, we call `@JuliaReleaseVote register()` again on the new 
commit
   * If the vote does pass, we increment the Project.toml version number 
matching the voted proposal, commit the change, then call `@JuliaRegistrator 
register()` on the commit that incremented the version. This starts the Julia 
General Registry release process. 
   * We can then either enhance JuliaTagBot or create a new/separate GitHub 
Action or just a release script that uploads the final release source code to 
the apache bin @kou mentioned in #278.
   
   @kou, how does this sound? One main thing missing that you mentioned in the 
linked PR is that typically a source tarball is uploaded at the _beginning_ of 
a release vote. I'd propose we _don't_ do that since I don't think it would 
serve any purpose. I'm actually not sure how you would go about testing a raw 
source tarball of a package easily in Julia, other than having to manually 
unzip, create a directory in your `/.julia/dev` environment, rename a bunch of 
things(?) because it would probably conflict with your existing Arrow package. 
That's why I proposed above that we provide the exact testing instructions that 
members can run to test the proposed release commit hash (this is all builtin 
to Julia's package manager to allow checking out a specific commit of a package 
and running tests on it).
   
   Do you also think it's ok to use a GitHub issue/discussion for the release 
voting? As I mentioned elsewhere, I just find it much easier to follow when 
there's a centralized place I can visit to see all activity that has happened.
   
   I know several people active in the Julia community that are very skilled 
with GitHub Actions and can facilitate the building of the proposed 
"JuliaReleaseVote" bot; I don't think it would be very complicated at all 
since, as proposed, it would just open a GitHub issue with the proposed 
instructions above. 
   
   Pinging relevant Julia folks for their thoughts on the above proposal: 
@jrevels, @NHDaly, @ericphanson, @omus, @tanmaykm 


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


Reply via email to