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

swebb2066 pushed a commit to branch improve_release_process
in repository https://gitbox.apache.org/repos/asf/logging-log4cxx.git

commit fdb06670aca93a34bb7fea7386c5cfc2e858f12f
Author: Stephen Webb <[email protected]>
AuthorDate: Sat Aug 22 15:44:33 2026 +1000

    Simplfy releasing a Log4cxx version
---
 .github/workflows/package_code.yml | 14 ++++++-------
 admin/generate_and_download.sh     | 40 ++++++++++++++++++++++++++++++++++++++
 admin/releasing.md                 | 32 +++++++++++-------------------
 3 files changed, 57 insertions(+), 29 deletions(-)

diff --git a/.github/workflows/package_code.yml 
b/.github/workflows/package_code.yml
index 7857c74b..2c8141fe 100644
--- a/.github/workflows/package_code.yml
+++ b/.github/workflows/package_code.yml
@@ -16,17 +16,11 @@ name: Generate release files
 
 on:
   workflow_dispatch:
-  push:
-    branches:
-      - master
-#  pull_request:
-#    branches:
-#      - master
 
 permissions: read-all
 
 jobs:
-  job1:
+  generate_signed_archives:
     name: 'Package code for release'
     runs-on: ubuntu-latest
 
@@ -72,12 +66,16 @@ jobs:
         fi
 
     - uses: actions/upload-artifact@v7
-      if: always()
       with:
         name: 'release_files'
         path: |
           apache-log4cxx-*
 
+  test_one_archive:
+    name: 'Check by building and testing'
+    runs-on: ubuntu-latest
+
+    steps:
     - name: 'Configure Dependencies'
       run: |
         sudo apt-get install -y libapr1-dev libaprutil1-dev
diff --git a/admin/generate_and_download.sh b/admin/generate_and_download.sh
new file mode 100644
index 00000000..7bec9819
--- /dev/null
+++ b/admin/generate_and_download.sh
@@ -0,0 +1,40 @@
+#!/bin/sh
+
+set -e
+
+VERSION=$1
+if [ -z "$VERSION" ] ; then
+  VERSION=1.8.1
+fi
+
+BRANCH=$2
+if [ -z "$BRANCH" ] ; then
+  BRANCH=master
+fi
+
+ARTEFACT_DIRECTORY=$3
+if [ -z "$ARTEFACT_DIRECTORY" ] ; then
+  if [ "$BRANCH" == master ] ; then
+    ARTEFACT_DIRECTORY="$HOME/apache-dist-logging-dev"
+  else
+    ARTEFACT_DIRECTORY="/tmp"
+  fi
+fi
+
+WORKFLOW="package_code.yml"
+echo "Triggering workflow..."
+gh workflow run "$WORKFLOW" --ref $BRANCH
+
+# Give GitHub a few seconds to register and start the run
+sleep 8
+
+# Get the latest Run ID
+RUN_ID=$(gh run list --workflow="$WORKFLOW" --limit 1 --json databaseId --jq 
'.[0].databaseId')
+echo "Tracked Run ID: $RUN_ID"
+
+# Watch the progress in the console until it finishes
+gh run watch "$RUN_ID"
+
+# Download the artifacts
+echo "Downloading artifacts into '$ARTEFACT_DIRECTORY/log4cxx' ..."
+gh run download "$RUN_ID" --dir "$ARTEFACT_DIRECTORY/log4cxx"
diff --git a/admin/releasing.md b/admin/releasing.md
index f977d736..076da385 100644
--- a/admin/releasing.md
+++ b/admin/releasing.md
@@ -16,34 +16,24 @@ Prerequisites
 Steps
 -----
 
-1. Tag HEAD as the release candidate
-    - `git checkout master`
-    - `git pull`
-    - `git tag v1.8.1-RC1`
-    - `git push origin tag v1.8.1-RC1`
 1. Remove the old artifacts from svn
+    - `cd $HOME`
     - `svn co https://dist.apache.org/repos/dist/dev/logging -N 
apache-dist-logging-dev`
     - `cd apache-dist-logging-dev`
     - `svn up log4cxx`
     - `cd log4cxx`
     - `svn delete *`
-    - `mkdir 1.8.1`
+1. Tag HEAD as the release candidate (with the 'logging-log4cxx' source code 
tree root as the working directory)
+    - `git checkout master`
+    - `git pull`
+    - `git tag v1.8.1-RC1`
+    - `git push origin tag v1.8.1-RC1`
+1. Download the packaged release files from Github (with the 'logging-log4cxx' 
source code tree root as the working directory)
+    - `sh admin/generate_and_download.sh 1.8.1 master 
"$HOME/apache-dist-logging-dev"`
+1. Send the 8 new artifacts to svn
+    - `cd $HOME/apache-dist-logging-dev/log4cxx`
+    - `mv release_files 1.8.1`
     - `svn add 1.8.1`
-    - `cd 1.8.1`
-1. Download the packaged release files from Github
-    - Open https://github.com/apache/logging-log4cxx/commits/v1.8.1-RC1 in 
your web browser
-    - Click the green tick mark on the top commit
-        - The `All checks have passed` pop-up window will display
-    - Click the "Details" link on the row next to `Generate release files / 
Package code for release`
-        - The `Package for release` log window will display
-    - Click the `>` to the left of `Run action/upload-artifact`
-        - The numbered steps will display
-    - Click the link next to `Artifact download URL:`
-        - The browser will download the file `release_files.zip` onto your 
system
-1. Unpack the release files using these commands (with 
`apache-dist-logging-dev/log4cxx/1.8.1` as the working directory)
-    - `unzip "$HOME/Downloads/release_files.zip"`
-1. Send the 8 new artifacts to svn (with 
`apache-dist-logging-dev/log4cxx/1.8.1` as the working directory)
-    - `svn add *`
     - `svn commit -m 'log4cxx 1.8.1'`
     - check https://dist.apache.org/repos/dist/dev/logging/log4cxx
 1. Raise a vote on the mailing list ([email protected])

Reply via email to