Hi,

I have started to do some work on the Arrow Cookbooks to allow us to build
them for both the stable and development versions of Arrow.

The rationale for doing this is that today we have to wait until the new
version of Arrow is released in order to create Cookbooks for the new
functionality. We also find late when new versions of Arrow break our
existing Cookbooks, having the ability to test against the development
version will help us find these issues earlier.

As an initial step I have created several PRs to document and add the
ability to build the cookbooks using the Nightly packages to both CI and
local development. At the moment we can generate cookbooks for Java and CPP
using both the current stable version 9.0.0 or the latest nightly generated
packages for 10.0.0.

I want to get feedback on the following proposal:

Stable will be hosted as today at https://arrow.apache.org/cookbook and the
development version at https://arrow.apache.org/cookbook/dev.

In order to automate the process my initial idea is that we could have two
branches:
* main branch (dev)
** It is our dev version and CI jobs run against the latest package of
Arrow generated via the Nightly jobs
** Periodic jobs are created to test the dev cookbooks on a daily basis.
** Commits merged to main trigger CI builds and deployment for the dev
version: https://arrow.apache.org/cookbook/dev.

* release/9.0.0 branch (stable)
** CI jobs run against the latest Arrow release.
** New commits to the stable branch deploy the stable cookbooks:
https://arrow.apache.org/cookbook.

I expect work to be done mainly on the development cookbooks but if new
cookbooks are created and we want to deploy them on the stable version we
can cherry-pick the new cookbook to the main branch.

There are some tasks that will be automated as part of the Arrow post
release tasks:
* Update versions on cookbooks repo
* Create new stable branch once a new release of Arrow is available

Thanks,
Raúl

Reply via email to