Skip to content

actions/github/run: replace upload-name/upload-path with generic uploads config - #5154

Closed
phlax with Copilot wants to merge 2 commits into
mainfrom
copilot/support-multiple-artifact-uploads
Closed

actions/github/run: replace upload-name/upload-path with generic uploads config#5154
phlax with Copilot wants to merge 2 commits into
mainfrom
copilot/support-multiple-artifact-uploads

Conversation

Copilot AI commented Aug 25, 2026

Copy link
Copy Markdown
Contributor

The scalar upload-name/upload-path inputs didn't scale — adding a second artifact required copy-pasting inputs and steps, and the failure-tracking logic (post-failed/upload-failed/UPLOAD_ERR) was keyed only to those inputs, silently ignoring failures from any additional uploads.

Changes

  • Removed upload-name and upload-path (clean break, no shim)
  • Added single uploads YAML config input, mirroring the existing downloads pattern
  • Object-form values support path and if-no-files-found; bare strings are accepted as shorthand for {path: ...}
  • Path normalisation: absolute paths used as-is; relative paths rooted at ${{ runner.temp }}/
  • foreach iteration: a jq step (upload-config) normalises the config, then actions/foreach drives one actions/upload-artifact call per entry
  • Cancellation guard applied to the upload-config step — no uploads fire if the run was cancelled
  • Failure tracking updated: post-failed and upload-failed now gate on inputs.uploads; UPLOAD_ERR/cleanup logic unchanged

Usage

uploads: |
  build-artifacts:
    path: dist/
  junit-reports:
    path: junit/
    if-no-files-found: warn
  # bare string shorthand also accepted:
  logs: /abs/path/to/logs/

Note: uploads uses object values while downloads uses plain strings — intentionally inconsistent; aligning downloads is a follow-up.

@netlify

netlify Bot commented Aug 25, 2026

Copy link
Copy Markdown

Deploy Preview for nifty-bassi-e26446 ready!

Name Link
🔨 Latest commit 59df814
🔍 Latest deploy log https://app.netlify.com/projects/nifty-bassi-e26446/deploys/6a8d62aabab119000895ed52
😎 Deploy Preview https://deploy-preview-5154--nifty-bassi-e26446.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

Remove scalar upload-name/upload-path inputs and add a single `uploads`
YAML config input. Uploads are now iterated via actions/foreach mirroring
the downloads pattern. Values can be objects with `path` and
`if-no-files-found` keys, or bare strings (shorthand for {path: ...}).

Paths are normalised: absolute paths used as-is, relative paths rooted at
runner.temp.

Cancellation guard preserved on the upload-config jq step.
Failure tracking updated: post-failed and upload-failed now gate on
inputs.uploads instead of the removed inputs.

Co-authored-by: phlax <454682+phlax@users.noreply.github.com>
Copilot AI changed the title [WIP] Support uploading multiple artifacts generically actions/github/run: replace upload-name/upload-path with generic uploads config Aug 25, 2026
Copilot AI requested a review from phlax August 25, 2026 09:39
@phlax phlax closed this Aug 25, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants