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])
