From 0bd2a49b85fdd264978eaab7a0732a6a33cf4f90 Mon Sep 17 00:00:00 2001 From: Mohammed Ehab Elsaeed <33024315+M-Elsaeed@users.noreply.github.com> Date: Thu, 25 Jun 2026 12:52:45 +0000 Subject: [PATCH 1/2] chore(release): 4.0.1 Bump version to 4.0.1 and update changelog for the Alpine Linux 3.17+ (musl) build fix (#204). --- RELEASE.CHANGELOG.md | 5 +++++ awslambdaric/__init__.py | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/RELEASE.CHANGELOG.md b/RELEASE.CHANGELOG.md index d46101c..b832ba0 100644 --- a/RELEASE.CHANGELOG.md +++ b/RELEASE.CHANGELOG.md @@ -1,3 +1,8 @@ +### June 25, 2026 +`4.0.1` +- Support building on Alpine Linux 3.17+ (musl) without `libexecinfo-dev` ([#204](https://github.com/aws/aws-lambda-python-runtime-interface-client/pull/204)) +- Lazy load `multi_concurrent_utils` ([#211](https://github.com/aws/aws-lambda-python-runtime-interface-client/pull/211)) + ### Feb 20, 2026 `4.0.0` - Add Lambda Managed Instances (LMI) / Multi-Concurrent Support ([#200](https://github.com/aws/aws-lambda-python-runtime-interface-client/pull/200)) diff --git a/awslambdaric/__init__.py b/awslambdaric/__init__.py index 0d6f729..45877d8 100644 --- a/awslambdaric/__init__.py +++ b/awslambdaric/__init__.py @@ -2,4 +2,4 @@ Copyright 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. """ -__version__ = "4.0.0" +__version__ = "4.0.1" From ab25e6e109b4a56632da5ff1e4731905a796d213 Mon Sep 17 00:00:00 2001 From: Mohammed Ehab Elsaeed <33024315+M-Elsaeed@users.noreply.github.com> Date: Thu, 25 Jun 2026 12:52:45 +0000 Subject: [PATCH 2/2] ci: auto-create GitHub Release on version bump to main Adds a workflow that detects a change to __version__ in awslambdaric/__init__.py on main, then creates a tag and GitHub Release using notes from RELEASE.CHANGELOG.md. Skips if the release already exists. --- .../workflows/release-on-version-change.yml | 76 +++++++++++++++++++ 1 file changed, 76 insertions(+) create mode 100644 .github/workflows/release-on-version-change.yml diff --git a/.github/workflows/release-on-version-change.yml b/.github/workflows/release-on-version-change.yml new file mode 100644 index 0000000..4c90066 --- /dev/null +++ b/.github/workflows/release-on-version-change.yml @@ -0,0 +1,76 @@ +name: release-on-version-change + +# Creates a GitHub Release automatically whenever the package version in +# awslambdaric/__init__.py changes on main. The release notes are taken from +# the matching section of RELEASE.CHANGELOG.md. +on: + push: + branches: [ main ] + paths: + - 'awslambdaric/__init__.py' + +permissions: + contents: write + +jobs: + release: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + + - name: Read version + id: version + run: | + VERSION="$(grep -Po '__version__\s*=\s*"\K[^"]+' awslambdaric/__init__.py)" + if [ -z "$VERSION" ]; then + echo "Could not determine version from awslambdaric/__init__.py" >&2 + exit 1 + fi + echo "version=$VERSION" >> "$GITHUB_OUTPUT" + echo "Detected version: $VERSION" + + - name: Check if release already exists + id: check + env: + GH_TOKEN: ${{ github.token }} + VERSION: ${{ steps.version.outputs.version }} + run: | + if gh release view "$VERSION" >/dev/null 2>&1; then + echo "exists=true" >> "$GITHUB_OUTPUT" + echo "Release $VERSION already exists; skipping." + else + echo "exists=false" >> "$GITHUB_OUTPUT" + fi + + - name: Extract changelog notes + if: steps.check.outputs.exists == 'false' + env: + VERSION: ${{ steps.version.outputs.version }} + run: | + # Write notes to a file (never interpolated into the shell) so that + # special characters in the changelog (backticks, parentheses, etc.) + # are passed verbatim to gh via --notes-file. + awk -v ver="$VERSION" ' + index($0, "`" ver "`") == 1 { capture = 1; next } + capture && /^### / { exit } + capture { print } + ' RELEASE.CHANGELOG.md > release-notes.md + # Trim leading/trailing blank lines. + sed -i -e '/./,$!d' release-notes.md + if [ ! -s release-notes.md ]; then + echo "Release $VERSION" > release-notes.md + fi + echo "----- release notes -----" + cat release-notes.md + + - name: Create GitHub Release + if: steps.check.outputs.exists == 'false' + env: + GH_TOKEN: ${{ github.token }} + VERSION: ${{ steps.version.outputs.version }} + run: | + gh release create "$VERSION" \ + --target "$GITHUB_SHA" \ + --title "AWS Lambda Runtime Interface Client for Python v$VERSION" \ + --notes-file release-notes.md \ + --latest