-
Notifications
You must be signed in to change notification settings - Fork 4.2k
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
Build Workflow: Avoid double zip for plugin files #32780
Conversation
Just wanted to note that we should compare performance here and consider any difference as a trade off. I've found that uploading individual files drastically increases the time it takes to upload artifacts. |
Ah, wasn't aware, thanks! According to https://github.com/WordPress/gutenberg/pull/32780/checks?check_run_id=2849536885:
(for this PR) I had a look at a few other recent PRs. I see that the build workflow takes around 3.5 minutes for quite a few of them, but I also see 4.5 minutes, and even 7.5 minutes. I wonder if maybe the npm cache is the dominant factor here 🤔 Anyway, I'll optimize a bit more: I'll add an option to |
We could probably squeeze out a bit more performance if we moved the |
To compare speed, look specifically at the upload step. It looks like the workflow run linked above took ~25s to upload. On other workflow runs, it looks like a zipped file takes ~1 second before this change. Some examples:
Not saying the difference disqualifies this suggestion, but it's something to consider. Regarding |
Ah, I forgot that we get timings for individual steps! Thanks for pointing that out. That's a rather significant difference indeed 😕 |
7fb8dc2
to
ddd66f8
Compare
29 seconds now on this PR: https://github.com/WordPress/gutenberg/runs/4761132221?check_suite_focus=true 😕 Doesn't seem worth it. I'll close. |
Ah, forgot to try updating |
9dc4077
to
cfc886e
Compare
Size Change: -594 B (0%) Total Size: 1.13 MB
ℹ️ View Unchanged
|
35 seconds now 🙄 https://github.com/WordPress/gutenberg/runs/4790668381?check_suite_focus=true |
Description
When uploading files as an artifact to a GHA workflow, GH automatically creates a zip file that includes the files. If the artifact file in question is a zip file itself (such as
gutenberg.zip
), this results in a double zip (in this case:gutenberg-plugin.zip
, which includesgutenberg.zip
). This is a frequent source of confusion.This PR fixes this issue by uploading the collection of Gutenberg plugin files that are normally included in
gutenberg.zip
, and by relying on GHA to create the zip.The downside is that any GH job that downloads the artifact will get that collection of files. For our release-draft-creation step, this means that it'll have to "manually" create the zip asset (to be attached to the release draft) itself.
How has this been tested?
TBD