From 991d2793ccf43f29ef72e4f46d36a65e7f3b06b0 Mon Sep 17 00:00:00 2001 From: Carlos Granados Date: Mon, 3 Aug 2026 13:24:54 +0200 Subject: [PATCH 1/2] Run the docker workflow after release (#104) --- .github/workflows/release.yml | 42 ++++++++++++++++++++++++++++++++++- 1 file changed, 41 insertions(+), 1 deletion(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 60e33b18..07f66728 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -17,8 +17,13 @@ on: description: 'Tag to build and release (e.g. 0.3.0)' required: true +# Least-privilege default: build/validate jobs only ever check out code and +# upload/download workflow artifacts, none of which needs write access. +# `contents: write` and `actions: write` are granted only on the `release` +# job below, which is the one that actually publishes the GitHub release and +# dispatches docker.yml. permissions: - contents: write + contents: read # Serializes runs per tag, so a rerun (or a race between a human tag push and # a prepare-release.yml dispatch for the same version) can't fire two release @@ -784,6 +789,9 @@ jobs: release: needs: [build-macos, build-linux, build-windows, build-php-macos, build-php-linux, build-php-windows] runs-on: ubuntu-latest + permissions: + contents: write + actions: write steps: - uses: actions/checkout@v7 with: @@ -812,3 +820,35 @@ jobs: tag_name: ${{ env.RELEASE_REF }} generate_release_notes: true files: release-assets/* + + - name: Trigger Docker image build + # This step's own release-publish above used GITHUB_TOKEN, and GitHub + # Actions deliberately doesn't let a GITHUB_TOKEN-authored event — + # including the `release: published` event that action just fired — + # trigger other workflows (the same anti-recursion protection that made + # prepare-release.yml's tag push not trigger this workflow). So + # docker.yml's `release: published` trigger never fires here either; + # dispatch it explicitly instead. target=prod is required: without it, + # docker.yml only auto-selects prod for an actual `release` event, and a + # workflow_dispatch run would otherwise default to pushing -dev images. + # + # No tag is passed through: docker.yml resolves "which release to build" + # from `gh release view` (latest published) when dispatched manually. That + # means re-releasing an older tag via this workflow's own workflow_dispatch + # (e.g. rebuilding 0.1.5 while 0.2.3 is latest) will publish Docker images + # for whatever is currently latest, not the tag just released. Fine for the + # normal case (releasing the newest tag) — if you ever need to re-release an + # older tag's Docker images specifically, dispatch docker.yml by hand instead. + # The GitHub release above has already been published by this point — a + # failure here means the docker.yml mirror didn't get kicked off, not that + # the release itself failed. Warn rather than fail the job, so a red X here + # doesn't get misread as "the release failed and needs rerunning". + if: github.repository == 'php-debugger/php-debugger' + env: + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + run: | + for attempt in 1 2 3; do + gh workflow run docker.yml --ref main -f target=prod && exit 0 + [ "$attempt" -lt 3 ] && sleep 5 + done + echo "::warning::Failed to dispatch docker.yml after 3 attempts — the release itself published fine, but rerun docker.yml manually from the Actions UI with target=prod to publish matching Docker images" From 86c6a1c18e2fbf7a4cb37e602eae7d3085bc5e0a Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Mon, 3 Aug 2026 11:26:25 +0000 Subject: [PATCH 2/2] chore: update version number to 0.2.3 --- php_xdebug.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/php_xdebug.h b/php_xdebug.h index bbc43073..2614274f 100644 --- a/php_xdebug.h +++ b/php_xdebug.h @@ -18,7 +18,7 @@ #define PHP_XDEBUG_H #define XDEBUG_NAME "PHP Debugger" -#define XDEBUG_VERSION "0.2.2" +#define XDEBUG_VERSION "0.2.3" #define XDEBUG_AUTHOR "Derick Rethans" #define XDEBUG_COPYRIGHT "Copyright (c) 2002-2026 by Derick Rethans" #define XDEBUG_COPYRIGHT_SHORT "Copyright (c) 2002-2026"