From bfb2871b412e9c4ad7f2def6d10dce6f05639df0 Mon Sep 17 00:00:00 2001 From: Gonzalo Casas Date: Wed, 19 Aug 2026 16:55:34 +0200 Subject: [PATCH 1/2] feat: let a release gather assets from several jobs github-release downloads one named artifact, so a repository whose release assets come from more than one job had nowhere to put the second set. compas_eve hits this: it already uploads Grasshopper components, and now needs to publish its protobuf schemas alongside them. release-assets-artifact-pattern takes a glob and merges everything matching it, so each job uploads under its own name. The existing name input is untouched and still takes effect when no pattern is given. Co-Authored-By: Claude Opus 5 --- README.md | 9 +++++++++ github-release/action.yml | 15 ++++++++++++++- 2 files changed, 23 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index de26a23..2d6a10e 100644 --- a/README.md +++ b/README.md @@ -82,6 +82,15 @@ Use it instead of `prepare-release`'s `release-assets` input when the build is slow or needs tools the wheel build does not, since that input ties asset generation to `invoke pre-build` on every matrix job. +When a release collects assets from more than one job, have each upload under +its own name and let `github-release` gather them: + +```yaml +- uses: compas-dev/compas-actions/github-release@v1 + with: + release-assets-artifact-pattern: github-release-assets-* +``` + The trusted publisher remains explicit in the caller: ```yaml diff --git a/github-release/action.yml b/github-release/action.yml index e33daff..3f22ee6 100644 --- a/github-release/action.yml +++ b/github-release/action.yml @@ -26,6 +26,11 @@ inputs: release-assets-artifact-name: description: Workflow artifact containing additional release assets; leave empty for none default: "" + release-assets-artifact-pattern: + description: >- + Glob matching several artifacts of release assets, for a release whose assets are + produced by more than one job. Takes precedence over release-assets-artifact-name. + default: "" generate-release-notes: description: Ask GitHub to generate release notes instead of reading the changelog default: "false" @@ -67,12 +72,20 @@ runs: path: release-assets - name: Download additional release assets - if: inputs.release-assets-artifact-name != '' + if: inputs.release-assets-artifact-name != '' && inputs.release-assets-artifact-pattern == '' uses: actions/download-artifact@v8.0.1 with: name: ${{ inputs.release-assets-artifact-name }} path: release-assets + - name: Download additional release assets from several artifacts + if: inputs.release-assets-artifact-pattern != '' + uses: actions/download-artifact@v8.0.1 + with: + pattern: ${{ inputs.release-assets-artifact-pattern }} + merge-multiple: true + path: release-assets + - name: Read changelog entry if: inputs.generate-release-notes != 'true' id: changelog From 79f95b575a5b35e13e0344a54cb3cffe9d6e9264 Mon Sep 17 00:00:00 2001 From: Gonzalo Casas Date: Fri, 28 Aug 2026 10:36:52 +0200 Subject: [PATCH 2/2] Potential fix for pull request finding Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 2d6a10e..27590f3 100644 --- a/README.md +++ b/README.md @@ -82,7 +82,7 @@ Use it instead of `prepare-release`'s `release-assets` input when the build is slow or needs tools the wheel build does not, since that input ties asset generation to `invoke pre-build` on every matrix job. -When a release collects assets from more than one job, have each upload under +When a release collects assets from more than one job, have each job upload under its own name and let `github-release` gather them: ```yaml