-
Notifications
You must be signed in to change notification settings - Fork 960
Description
What happened?
When I upload artifacts at the end of a build on a mac runner (macos-13-xl-arm64), about 1 time in 3, the upload stalls part way through and never completes. The job is eventually cancelled by GHA and my entire workflow is marked cancelled. I cannot restart that job as it is not marked as a failure.
What did you expect to happen?
The artifacts upload to completion and the job finishes without error.
How can we reproduce it?
It is not easily reproducible. The workflows are private and cannot be shared here. I will open a support ticket to share more.
Anything else we need to know?
I have updated multiple workflows from v3 to v4 - all jobs in the workflow are using v4. I have 6 linux build jobs that all upload artifacts at the end. None of them have failed. For the mac builds, two jobs do architecture-specific builds and upload their artifacts. This has never failed. The final mac job takes the architecture-specific binaries and produces universal binaries. It is this job that has failed about 1 time in 3 when uploading the artifacts at the end. This failing job is typically always the last of the jobs to run. It necessarily runs after the two previous mac jobs, and the 6 previous linux jobs are quicker that the mac jobs and complete before.
The size of the failing artifacts is about 1.4G but on one run at least, it hung after logging the first 8MiB chunk.
All uploads for all the above-described jobs have:
compression: 0
retention-days: 1
The path: setting for the linux jobs is a single directory. The path: setting for the working mac jobs is a single directory and a single exclude pattern. The path: setting for the failing jobs is a single directory and three exclude patterns. Prior to uploading the chunks, the count of files to be uploaded is correct.
The overwrite: setting is false for all jobs.
Output from one of the failed/stalled runs:
Run actions/upload-artifact@v4
with:
name: release-mac
compression-level: 0
retention-days: 1
path: build/artifacts
!**/*-unsigned*
!**/*-arm64*
!**/*-amd64*
if-no-files-found: warn
overwrite: false
env:
GOMODCACHE: /tmp/gomodcache
GOCACHE: /tmp/gocache
NODE_VERSION: 18.19.1
pythonLocation: /Users/runner/hostedtoolcache/Python/3.11.7/arm64
PKG_CONFIG_PATH: /Users/runner/hostedtoolcache/Python/3.11.7/arm64/lib/pkgconfig
Python_ROOT_DIR: /Users/runner/hostedtoolcache/Python/3.11.7/arm64
Python2_ROOT_DIR: /Users/runner/hostedtoolcache/Python/3.11.7/arm64
Python3_ROOT_DIR: /Users/runner/hostedtoolcache/Python/3.11.7/arm64
With the provided path, there will be 12 files uploaded
Artifact name is valid!
Root directory input is valid!
Beginning upload of artifact content to blob storage
Uploaded bytes 8388608
That is the end of the output for the step.
What version of the action are you using?
v4.3.1
What are your runner environments?
macos
Are you on GitHub Enterprise Server? If so, what version?
No response