Hi, Sutou Kouhei The process looks good to me, and I think it's beneficial for a Go project to have a separate repository.
I only have one suggestion: The import path could be "github.com/apache/arrow-go" instead of "github.com/apache/arrow-go/arrow". Since go will allow users to use `arrow.Abc` directly if user imports `github.com/apache/arrow-go`. On Thu, Jul 18, 2024, at 17:33, Sutou Kouhei wrote: > Hi, > > This is a continuation of the "[DISCUSS] Versioning and > releases for apache/arrow components" thread: > https://lists.apache.org/thread/tvqns9d9z45mtpsqrngjyg083jdv8f1t > > How about splitting Go release process from other > apache/arrow components as the first try? Here are reasons > why Go is the best candidate: > > * Go doesn't depend on other components such as C++ > * Go has some active PMC member (Matt) and committer (Joel) > * Could you become a release manager for Go? > > Here is my idea how to proceed this: > > 1. Extract go/ in apache/arrow to apache/arrow-go like > apache/arrow-rs > * Filter go/ related commits from apache/arrow and create > apache/arrow-go with them like we did for apache/arrow-rs > * Remove go/ related codes from apache/arrow > 2. Prepare integration test CI like apache/arrow-rs does: > > https://github.com/apache/arrow-rs/blob/master/.github/workflows/integration.yml > 3. Prepare release script based on apache/arrow-julia, > apache/arrow-adbc and/or apache/arrow-flight-sql-postgresql > > We can proceed this in apache/arrow but it may be difficult > to maintain and release a new version. The apache/arrow-go > approach needs more work at the initial step but we will be > able to release easily after that like apache/arrow-julia. > > We can reuse some release scripts in dev/release/ in > apache/arrow like we did in apache/arrow-adbc. > > Cons of this idea: > > * This is a backward incompatible change > * Users need to change their "import" to > "github.com/apache/arrow-go/arrow" from > "github.com/apache/arrow/go/arrow" > > > What do you think about this? > > > Thanks, > -- > kou -- Xuanwo https://xuanwo.io/