nuno-faria commented on code in PR #26845: URL: https://github.com/apache/datafusion/pull/26845#discussion_r4436491289
########## dev/release/README.md: ########## @@ -79,28 +79,45 @@ We then publish the code in the approved artifacts to crates.io. First create a new release branch from `main` in the `apache` repository. -For example, to create the `branch-55` branch for the `55.x.y` release series: +For example, to create the `branch-56` branch for the `56.x.y` release series: ```shell git fetch apache # make sure we are up to date git checkout apache/main # checkout current latest development branch -git checkout -b branch-55 # create local branch -git push -u apache branch-55 # push branch to apache remote +git checkout -b branch-56 # create local branch +git push -u apache branch-56 # push branch to apache remote ``` -### 2. Prepare PR to Update the Release Version +### 2. Bump Version on main -Update the DataFusion version using the following Python script: +After creating a new major release branch, open a "version bump PR" +against `main` that bumps the version to the next development version. + +For example, after creating `branch-56` from `main`, bump `main` to `57.0.0-dev`: + +```shell +python3 dev/update_datafusion_versions.py 57.0.0-dev +cargo update --workspace # updates Cargo.lock +./dev/update_config_docs.sh # regenerates docs/source/user-guide/configs.md Review Comment: I guess the update config docs is to update the formatting? I think we could also just run prettier to be faster. ########## dev/release/README.md: ########## @@ -464,22 +481,37 @@ Caused by: Note: [`datafusion` formula](https://formulae.brew.sh/formula/datafusion) is [updated automatically](https://github.com/Homebrew/homebrew-core/pulls?q=is%3Apr+datafusion+is%3Aclosed), so no action is needed. -### 11. Sync Changelog and Version to main +### 12. Sync Changelog and Documentation to main + +The crate version is **not** synced back to `main`: `main` already carries the +next development version (such as `57.0.0-dev`) from +[Bump Version on main](#2-bump-version-on-main), and the released version +must never appear on `main`. -To sync changelog version and create PR against `main`: +Instead, create a PR against `main` that syncs the changelog and updates the +user-facing documentation to reference the new release: ```shell -git fetch apache && git checkout -b sync_change_log_version +git fetch apache && git checkout -b sync_change_log apache/main ``` -- Cherry-pick or patch the version updates from step 2 -- Cherry-pick or patch the changelog updates from step 5 -- Commit changes, `git commit -a -m 'Sync changelog and version to main'` -- Push to `origin/sync_change_log_version` +- Cherry-pick or patch the changelog updates from step 6 +- Update the crate version in the user-facing examples to the newly released + version, for example from `55.1.0` to `56.0.0`: + + ```shell + sed -i '' 's/55\.1\.0/56.0.0/' docs/source/download.md docs/source/user-guide/{crate-configuration,example-usage}.md + ``` Review Comment: What if the update versions script had a flag to just update the user facing ones? -- 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] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
