-
Notifications
You must be signed in to change notification settings - Fork 6
Update release workflows using parallelization #277
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
Conversation
...-templates/dependabot/workflow-template-copies/.github/workflows/publish-go-nightly-task.yml
Outdated
Show resolved
Hide resolved
...-templates/dependabot/workflow-template-copies/.github/workflows/publish-go-nightly-task.yml
Outdated
Show resolved
Hide resolved
...w-templates/dependabot/workflow-template-copies/.github/workflows/publish-go-tester-task.yml
Outdated
Show resolved
Hide resolved
...w-templates/dependabot/workflow-template-copies/.github/workflows/publish-go-tester-task.yml
Outdated
Show resolved
Hide resolved
...w-templates/dependabot/workflow-template-copies/.github/workflows/publish-go-tester-task.yml
Outdated
Show resolved
Hide resolved
...w-templates/dependabot/workflow-template-copies/.github/workflows/publish-go-tester-task.yml
Outdated
Show resolved
Hide resolved
...w-templates/dependabot/workflow-template-copies/.github/workflows/publish-go-tester-task.yml
Outdated
Show resolved
Hide resolved
d92b352
to
d1b4565
Compare
Thanks for the suggestions @per1234! Here is a workflow run in which I tested the changes made to |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Excellent work. Thanks Matteo!
Introducing the use of a matrix, greatly improves time performances during the build making process, since each build task is performed simultaneously. To support this, a check has been added to avoid creating the same changelog more than once. The calculation of the checksums has also been modified. Previously, it was done three (3) times at different stages of the workflow. This is pointless, since the only checksums that matter are the ones calculated when the files are in their final form. For this reason, it is now only done once during the release creation.
Introducing the use of a matrix, greatly improves time performances during the build making process, since each build task is performed simultaneously. The calculation of the checksums has also been modified. Previously, it was done three (3) times at different stages of the workflow. This is pointless, since the only checksums that matter are the ones calculated when the files are in their final form. For this reason, it is now only done once during the release creation.
Introducing the use of a matrix, greatly improves time performances during the build making process, since each build task is performed simultaneously. Furthermore, it allows to directly upload a different artifact for each build. To complete this set of changes, a separate job to calculate the checksums and upload the relative artifact has been added to the workflow.
d1b4565
to
5c9debd
Compare
echo "PACKAGE_FILENAME=$PACKAGE_FILENAME" >> $GITHUB_ENV | ||
echo "::set-output name=checksum-${{ matrix.artifact.name }}::$CHECKSUM_LINE" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Updates:
release-go-task
,publish-go-nigthly-task
andpublish-go-tester-task
now use a matrix to run build tasks simultaneously instead of running them sequencially withdist:all
. This also allows to directly upload a different artifact for each build inpublish-go-tester-task
.DistTasks
no longer has adist:all
task.This changes were originally introduced with PR 1883 in the arduino-cli repository.