Skip to content
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

Don't upload multiple times to same artifact in sketch compilation workflow #8

Merged

Conversation

per1234
Copy link
Contributor

@per1234 per1234 commented Mar 11, 2025

The "Compile Examples" GitHub Actions workflow is configured to compile the example sketches for each of the supported boards. This is done by using a job matrix in the GitHub Actions workflow to generate a parallel job for each board.

A GitHub Actions workflow artifact is used to transfer the sketches report files generated by the arduino/compile-sketches action between the compilation job and the "report-size-deltas" job that uses the arduino/report-size-deltas action to publish the data. The actions/upload-artifact GitHub Actions action action is used to upload the sketches report files to the workflow artifact.

Previously, the sketches reports from all the boards were uploaded to a single artifact. However, support for uploading multiple times to a single artifact was dropped in version 4.0.0 of the actions/upload-artifact action. Previously, the workflow did that, and so when the action was bumped (5423dc9), it caused the workflow runs to fail spuriously:

https://github.com/arduino-libraries/Arduino_NiclaSenseEnv/actions/runs/13783108129

Failed to CreateArtifact: Received non-retryable error: Failed request: (409) Conflict: an artifact with this name already exists on the workflow run

So it is now necessary for each of the compilation jobs to use a separate artifact.

These multiple artifacts are downloaded in aggregate in the "report-size-deltas" job by the "actions/download-artifact" action, which downloads all artifacts by default.

…rkflow

The "Compile Examples" GitHub Actions workflow is configured to compile the example sketches for each of the supported
boards. This is done by using a job matrix in the GitHub Actions workflow to generate a parallel job for each board.

A GitHub Actions workflow artifact is used to transfer the sketches report files generated by the
"arduino/compile-sketches" action between the compilation job and the "report-size-deltas" job that uses the
"arduino/report-size-deltas" action to publish the data. The "actions/upload-artifact" action is used to upload the
sketches report files to the workflow artifact.

Previously, the sketches reports from all the boards were uploaded to a single artifact. However, support for uploading
multiple times to a single artifact was dropped in version 4.0.0 of the "actions/upload-artifact" action. So it is now
necessary for each of the jobs to use a separate artifact.

These multiple artifacts are downloaded in aggregate in the "report-size-deltas" job by the "actions/download-artifact"
action, which downloads all artifacts by default.
@per1234 per1234 added the bug Something isn't working label Mar 11, 2025
@per1234 per1234 self-assigned this Mar 11, 2025
@per1234 per1234 merged commit e72d3f9 into arduino-libraries:main Mar 11, 2025
12 of 13 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant