This is an automated email from the ASF dual-hosted git repository.

lidavidm pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/arrow-adbc.git


The following commit(s) were added to refs/heads/main by this push:
     new 00f15269a docs: update release management guide with new versioning 
scheme (#1917)
00f15269a is described below

commit 00f15269ae3d04d5c018c04202663b9caba0baf7
Author: David Li <[email protected]>
AuthorDate: Mon Jun 17 09:12:55 2024 +0900

    docs: update release management guide with new versioning scheme (#1917)
    
    Fixes #1831.
---
 docs/source/development/releasing.rst  | 62 ++++++++++++++++------------------
 docs/source/development/versioning.rst | 30 ++++++++++++++++
 docs/source/index.rst                  |  1 +
 3 files changed, 61 insertions(+), 32 deletions(-)

diff --git a/docs/source/development/releasing.rst 
b/docs/source/development/releasing.rst
index 3b930ee79..90aed4a19 100644
--- a/docs/source/development/releasing.rst
+++ b/docs/source/development/releasing.rst
@@ -126,7 +126,7 @@ Create or update the corresponding maintenance branch
 
          git switch maint-X.Y.Z
          # Remove the commits that created the changelog and bumped the
-         # versions, since 01-source.sh will redo those steps
+         # versions, since 01-prepare.sh will redo those steps
          git reset --hard HEAD~2
          # Cherry-pick any commits by hand.
          git cherry-pick ...
@@ -146,11 +146,11 @@ Create the Release Candidate tag from the updated 
maintenance branch
    # on OSX use gnu-sed with homebrew: brew install gnu-sed (and export to 
$PATH)
    #
    # <rc-number> starts at 0 and increments every time the Release Candidate 
is burned
-   # so for the first RC this would be: dev/release/01-prepare.sh 3.0.0 4.0.0 
5.0.0 0
+   # so for the first RC this would be: dev/release/01-prepare.sh 1.0.0 0
 
-   dev/release/01-prepare.sh <arrow-dir> <prev-version> <version> 
<next-version> <rc-number>
+   dev/release/01-prepare.sh <arrow-dir> <rc-number>
 
-   git push -u apache apache-arrow-adbc-<version>-rc<rc-number> maint-<version>
+   git push -u apache apache-arrow-adbc-<release>-rc<rc-number> maint-<release>
 
 Build source and binaries and submit them
 -----------------------------------------
@@ -163,27 +163,27 @@ Build source and binaries and submit them
     # On macOS the only way I could get this to work was running "echo
     # "UPDATESTARTUPTTY" | gpg-connect-agent" before running this
     # comment otherwise I got errors referencing "ioctl" errors.
-    dev/release/02-sign.sh <prev-version> <version> <rc-number>
+    dev/release/02-sign.sh <rc-number>
 
     # Upload the source release tarball and signs to
     # https://dist.apache.org/repos/dist/dev/arrow .
-    dev/release/03-source.sh <version> <rc-number>
+    dev/release/03-source.sh <rc-number>
 
     # Upload the Java artifacts
     #
     # Note that you need to press the "Close" button manually by Web interface
     # after you complete the script:
     #   https://repository.apache.org/#stagingRepositories
-    dev/release/04-java-upload.sh <arrow-dir> <version> <rc-number>
+    dev/release/04-java-upload.sh <arrow-dir> <rc-number>
 
     # Sign and upload the deb/rpm packages and APT/Yum repositories
     #
     # This reuses release scripts in apache/arrow. So you need to
     # specify cloned apache/arrow directory.
-    dev/release/05-linux-upload.sh <arrow-dir> <version> <rc-number>
+    dev/release/05-linux-upload.sh <arrow-dir> <rc-number>
 
     # Start verifications for binaries and wheels
-    dev/release/06-binary-verify.sh <version> <rc-number>
+    dev/release/06-binary-verify.sh <rc-number>
 
 Verify the Release
 ------------------
@@ -233,7 +233,7 @@ How to Verify Release Candidates
 #. Run the verification script::
 
      $ cd arrow-adbc
-     # Pass the version and the RC number
+     # Pass the release and the RC number
      $ ./dev/release/verify-release-candidate.sh 0.1.0 6
 
    These environment variables may be helpful:
@@ -280,9 +280,9 @@ Be sure to go through on the following checklist:
 
    .. code-block:: Bash
 
-      # dev/release/post-01-upload.sh 0.1.0 0
-      dev/release/post-01-upload.sh <version> <rc-number>
-      git push apache apache-arrow-adbc-<version>
+      # dev/release/post-01-upload.sh 0
+      dev/release/post-01-upload.sh <rc-number>
+      git push apache apache-arrow-adbc-<release>
 
 .. dropdown:: Create the final GitHub release
    :class-title: sd-fs-5
@@ -292,8 +292,8 @@ Be sure to go through on the following checklist:
 
    .. code-block:: Bash
 
-      # dev/release/post-02-binary.sh 0.1.0 0
-      dev/release/post-02-binary.sh <version> <rc-number>
+      # dev/release/post-02-binary.sh 0
+      dev/release/post-02-binary.sh <rc-number>
 
 .. dropdown:: Update website
    :class-title: sd-fs-5
@@ -310,8 +310,8 @@ Be sure to go through on the following checklist:
 
    .. code-block:: Bash
 
-      # dev/release/post-03-python.sh 0.1.0 0
-      dev/release/post-03-python.sh <version> <rc-number>
+      # dev/release/post-03-python.sh 0
+      dev/release/post-03-python.sh <rc-number>
 
 .. dropdown:: Publish Maven packages
    :class-title: sd-fs-5
@@ -327,8 +327,8 @@ Be sure to go through on the following checklist:
 
    .. code-block:: Bash
 
-      # dev/release/post-04-go.sh 10.0.0
-      dev/release/post-04-go.sh <version>
+      # dev/release/post-04-go.sh
+      dev/release/post-04-go.sh
 
 .. dropdown:: Deploy APT/Yum repositories
    :class-title: sd-fs-5
@@ -339,8 +339,8 @@ Be sure to go through on the following checklist:
       # This reuses release scripts in apache/arrow. So you need to
       # specify cloned apache/arrow directory.
       #
-      # dev/release/post-05-linux.sh ../arrow 10.0.0 0
-      dev/release/post-05-linux.sh <arrow-dir> <version> <rc-number>
+      # dev/release/post-05-linux.sh ../arrow 0
+      dev/release/post-05-linux.sh <arrow-dir> <rc-number>
 
 .. dropdown:: Update R packages
    :class-title: sd-fs-5
@@ -365,8 +365,8 @@ Be sure to go through on the following checklist:
 
    .. code-block:: Bash
 
-      # dev/release/post-06-ruby.sh 1.0.0
-      dev/release/post-06-ruby.sh <version>
+      # dev/release/post-06-ruby.sh
+      dev/release/post-06-ruby.sh
 
 .. dropdown:: Upload C#/.NET packages to NuGet
    :class-title: sd-fs-5
@@ -384,8 +384,8 @@ Be sure to go through on the following checklist:
 
       export NUGET_API_KEY=<your API key here>
 
-      # dev/release/post-07-csharp.sh 1.0.0
-      dev/release/post-07-csharp.sh <version>
+      # dev/release/post-07-csharp.sh
+      dev/release/post-07-csharp.sh
 
 .. dropdown:: Update conda-forge packages
    :class-title: sd-fs-5
@@ -418,14 +418,12 @@ Be sure to go through on the following checklist:
    :class-title: sd-fs-5
    :class-container: sd-shadow-md
 
-   This will bump version numbers embedded in files and filenames.
-
-   It will also update the changelog to the newly released changelog.
+   First, update the version numbers in ``dev/release/versions.env``.  Then, 
run this script to apply those version numbers to the versions embedded in 
files and filenames.  The script will also update the changelog to the newly 
released changelog.
 
    .. code-block:: Bash
 
-      # dev/release/post-09-bump-versions.sh ../arrow 0.1.0 0.2.0
-      dev/release/post-09-bump-versions.sh <arrow-dir> <version> <next_version>
+      # dev/release/post-09-bump-versions.sh ../arrow
+      dev/release/post-09-bump-versions.sh <arrow-dir>
 
 .. dropdown:: Publish release blog post
    :class-title: sd-fs-5
@@ -437,7 +435,7 @@ Be sure to go through on the following checklist:
 
    .. code-block:: Bash
 
-      # dev/release/post-10-website.sh ../arrow-site 0.0.0 0.1.0
-      dev/release/post-10-website.sh <arrow-site-dir> <prev_version> <version>
+      # dev/release/post-10-website.sh ../arrow-site
+      dev/release/post-10-website.sh <arrow-site-dir>
 
 .. _nightly-website.yml: 
https://github.com/apache/arrow-adbc/actions/workflows/nightly-website.yml
diff --git a/docs/source/development/versioning.rst 
b/docs/source/development/versioning.rst
new file mode 100644
index 000000000..f068ed251
--- /dev/null
+++ b/docs/source/development/versioning.rst
@@ -0,0 +1,30 @@
+.. Licensed to the Apache Software Foundation (ASF) under one
+.. or more contributor license agreements.  See the NOTICE file
+.. distributed with this work for additional information
+.. regarding copyright ownership.  The ASF licenses this file
+.. to you under the Apache License, Version 2.0 (the
+.. "License"); you may not use this file except in compliance
+.. with the License.  You may obtain a copy of the License at
+..
+..   http://www.apache.org/licenses/LICENSE-2.0
+..
+.. Unless required by applicable law or agreed to in writing,
+.. software distributed under the License is distributed on an
+.. "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+.. KIND, either express or implied.  See the License for the
+.. specific language governing permissions and limitations
+.. under the License.
+
+==========
+Versioning
+==========
+
+ADBC has multiple subcomponents with independent version numbers all on the
+same release cycle.
+
+When a new release is made, the overall release is assigned a release number
+(e.g. ADBC Release 12).  The various components, like the C# packages, Java
+packages, C/C++/Go packages, and so on, are tagged individually with their own
+version numbers, which will show up in package indices like PyPI or Maven
+Central.  Common resources like documentation, verification script, and the
+GitHub release use the release number.
diff --git a/docs/source/index.rst b/docs/source/index.rst
index 651d54232..7065e58d4 100644
--- a/docs/source/index.rst
+++ b/docs/source/index.rst
@@ -254,4 +254,5 @@ Why ADBC?
 
    development/contributing
    development/nightly
+   development/versioning
    development/releasing

Reply via email to