Open brandonpayton opened 7 months ago
This is blocking memory out-of-bounds repro for #1332 and likely affects others. I am looking into it.
It turns out that the artifact in the example case has expired. The CI job is re-running to hopefully create a new, unexpired artifact.
Artifact expiry is likely what I have seen when trying to test plugin-proxy.php with other old pull requests. It would be good for us to detect this and reflect it in the UI rather than failing a blueprint step and ending up in a strange limbo state.
The biggest aspect of this issue has been addressed by @bgrgicak in #1336. Now there is at least a message showing that the download failed:
But plugin-proxy.php could communicate the actual issue better if only in a way we can observe via the Network tab of dev tools.
Currently, it responds with "400 Bad request" when GitHub is responding with "410 Gone" which is more helpful than 400. Let's update plugin-proxy.php to communicate that info and update Playground to relay it in the error message.
Blueprint links like the following that use plugin proxy are not working: https://playground.wordpress.net/#%7B%22landingPage%22:%22/wp-admin/admin.php?page=wc-admin%22,%22preferredVersions%22:%7B%22php%22:%228.0%22,%22wp%22:%22latest%22%7D,%22phpExtensionBundles%22:%5B%22kitchen-sink%22%5D,%22features%22:%7B%22networking%22:true%7D,%22steps%22:%5B%7B%22step%22:%22installPlugin%22,%22pluginZipFile%22:%7B%22resource%22:%22url%22,%22url%22:%22https://playground.wordpress.net/plugin-proxy.php?org=woocommerce&repo=woocommerce&workflow=Build%20Live%20Branch&artifact=plugins-8797272447&pr=46761%22%7D,%22options%22:%7B%22activate%22:true%7D%7D,%7B%22step%22:%22login%22,%22username%22:%22admin%22,%22password%22:%22password%22%7D%5D,%22plugins%22:%5B%5D%7D (from #1332)
The plugin proxy URL is: https://playground.wordpress.net/plugin-proxy.php?org=woocommerce&repo=woocommerce&workflow=Build%20Live%20Branch&artifact=plugins-8797272447&pr=46761
And the error message for that request is:
~Perhaps a GitHub token expired, something changed in the API, artifacts expire, or something else.~ Update: The artifact was expired.