-
Notifications
You must be signed in to change notification settings - Fork 726
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[bug] v4: multiple artifacts with the same name #480
Comments
👋 @Borda you have a mix of v3 and v4 Artifacts in your job (they are not compatible with each other per the breaking changes). I'd suggest checking any composite workflows that might be creating additional Artifacts. |
I have fixed the download version before opening this issue but did not expect that dependabot does not bump all occurrences... :( |
Ok, now I got the existence error, which is progress, but how can I overwrite it with a new version or delete it and create a new one?
|
Please see this reply: #481 (comment) As part of v4, you are not able to upload to the same Artifact multiple times. If you must recreate the Artifact, I have an example here: #471 (comment) |
Thank you. This is close, but I am afraid it will not work as you can't pass |
I'm having a similar issue with matrix'd jobs creating duplicate artifacts, or being unable to use the name because it's got invalid values (ie, the parent container name, etc) how are we supposed to name things given the really limited templating capabilities? |
There is an enumeration in - uses: actions/upload-artifact@v4
with:
name: my-artifacts-${{ strategy.job-index }}
path: ...
...
- uses: actions/download-artifact@v4
with:
pattern: my-artifacts-*
merge-multiple: true Even with a workaround though, I still think this was a change for the worse. The only motivation I could find for it was that people pushing to the same file (but not the same artifact name) concurrently would end up with broken artifacts which is a totally self inflicted, self explanatory and easily workaround-able problem whereas collecting artifacts from multiple jobs is a pretty key reason for this action's existence. Unless perhaps it would allow you to remove the restriction that artifacts can't be downloaded via the UI or the REST API whilst the workflow is still running, it feels like you've just made an intuitive common thing much harder for everyone in favour of making an invalid thing marginally less confusing for a very small group of people. |
…me to an artifact The error was: Error: Failed to CreateArtifact: Received non-retryable error: Failed request: (409) Conflict: an artifact with this name already exists on the workflow run See also: actions/upload-artifact#480 (comment) Part of #13
@bwoodsend thanks for the tips, ill just add it also gets a little more complicated when you then use the action within composite actions and using those composite actions multiple times inaa workflow So you end up needing to do something like the following
|
i had to remove my matrixed job since i got this error, i dont really understand why this even exists in the first place, why cant the api do atomic operations? |
…ing conflicting artifacts actions/upload-artifact#480
* refactor repo configs/readme * add codegen module * add common module * remove stale subgraphs/core modules * add contracts module * add order_book module * add order posting example * add generated api model * add python-dotenv package * refactor importing sort * refactor .env usage and variables requested * codegen: update reference openapi file for orderbook api codegen * add E2E_SEPOLIA_TESTING_EOA_PRIVATE_KEY to .env.example * codegen: regenerate order book models * api: refactor api base code to handle errors from orderbook api * orderbook: fix issue with type in order cancellation * tests(e2e): add e2e order posting test backed by vcr * ignore .env* files * api(orderbook): refactor data serialization/deserialization * tests(e2e): use gnosis mainnet for e2e test * ci: stop using deprecated version of actions/upload-artifact * chore: ignore pyright error when instantiating model with string positional param * chore: remove TODO/WIP comments from README * ci: ensure E2E_GNOSIS_MAINNET_TESTING_EOA_PRIVATE_KEY is available when running pytest * chore(ci): revert actions/upload-artifact to v3 to avoid bug when saving conflicting artifacts actions/upload-artifact#480 --------- Co-authored-by: José Ribeiro <me@joseribeiro.dev>
We're seeing the following error when building multi-platform images during upload artifact step: """ Failed to CreateArtifact: Received non-retryable error: Failed request: (409) Conflict: an artifact with this name already exists on the workflow run """ This PR fixes the issue by adding a built-in matrix enumeration to the artifact name. Context: actions/upload-artifact#480
What happened?
It seems the action created multiple artifacts with the same name within one workflow.
The reason why we build such workflows is to be able to aggregate outputs from several jobs as GH does not offer any other way of communication among distanced jobs...
What did you expect to happen?
it will overwrite the past artifact or raise an error...
How can we reproduce it?
See the linked workflow - https://github.com/Lightning-AI/utilities/actions/runs/7253160143?pr=209
Anything else we need to know?
These actions are wrapped in composite action; I'm not sure if it may have any impact...
What version of the action are you using?
4.0.0
What are your runner environments?
linux
Are you on GitHub Enterprise Server? If so, what version?
No response
The text was updated successfully, but these errors were encountered: