Closed samreid closed 1 year ago
Hmmm I am confused by this. If it has something to do with my changes (commits right below https://github.com/phetsims/perennial/issues/268#issuecomment-1319114110) then (I'm especially confused). This is because I would have thought that the build server would be using the older version of puppeteer, with no trouble (chipper sha:https://github.com/phetsims/gravity-and-orbits/blob/c544ccefac43c2f4b3b01f739ffbb951c493eb46/dependencies.json#L16 puppeteer version: https://github.com/phetsims/chipper/blob/6ce9bf076772c2c7094bfed1a1efc3a2e5fa0325/package.json#L44).
So my best guess is that it has something to do with npm prune/update commands (swapping between different versions), or something unrelated that @jonathanolson has done today. I'm out tomorrow but will check in on this Monday. Good luck!
Perhaps this failed build left the PhET brand in an inconsistent state, the images are not loading:
The relevant part from the build logs is:
Nov 17 17:29:15 phet-server2.int.colorado.edu build-server[2767]: debug: Copy finished
Nov 17 17:29:15 phet-server2.int.colorado.edu build-server[2767]: info: Writing file to path: /data/web/static/phetsims/sims/html/gravity-and-orbits/.htaccess
Nov 17 17:29:16 phet-server2.int.colorado.edu build-server[2767]: debug: Write success.
Nov 17 17:29:16 phet-server2.int.colorado.edu build-server[2767]: error: BUILD ABORTED! Error: Could not find expected browser (chrome) locally. Run `npm install` to download the correct Chromium revision (970485).
Nov 17 17:29:16 phet-server2.int.colorado.edu build-server[2767]: info: build aborted: checking out master for every repo in case build shas are still checked out
The relevant code is in taskWorker.js in this section:
winston.debug( 'Copy finished' );
// Post-copy steps
if ( brand === constants.PHET_BRAND ) {
await writePhetHtaccess( simName, version );
await createTranslationsXML( simName, version );
await notifyServer( {
simName: simName,
email: email,
brand: brand,
locales: locales,
translatorId: isTranslationRequest ? userId : undefined
} );
}
So it seems the writePhetHtaccess
succeeded because it said Write success.
on the .htaccess. But it seems createTranslationsXML
failed because it has winston.log( 'info', 'wrote XML file' );
at the end that never prints.
parseScreenNames
is called from createTranslationsXML
and has this code:
const puppeteer = require( 'puppeteer' );
And it uses puppeteer to load the screen names. So it is probably using the new puppeteer 19.2 introduced in https://github.com/phetsims/perennial/issues/268 in https://github.com/phetsims/binder/commit/ff58030c89dc12eaac796362858cc15bdf984a4c
Using this patch,
I ran (locally)
~/apache-document-root/main/perennial-alias$ npm info puppeteer
puppeteer@19.2.2 | Apache-2.0 | deps: 6 | versions: 780
A high-level API to control headless Chrome over the DevTools Protocol
https://github.com/puppeteer/puppeteer/tree/main#readme
....
at node:internal/main/run_main_module:17:47
~/apache-document-root/main/perennial-alias$ node js/build-server/parseScreenNames.js
{ e: [ 'Model', 'To Scale' ], n: [ 'Model', 'To Scale' ]
So it does not seem to be an inherent problem or incompatibility with 19.2
In the change logs, puppeteer says 19.0.0 introduced a breaking change:
https://github.com/puppeteer/puppeteer/releases/tag/v19.0.0
Others have reported problems like ours: https://github.com/puppeteer/puppeteer/issues/9218
Maybe I should run an experiment by rolling back this change to see how it goes. But we should try to investigate and understand this caching better, since @jonathanolson commented today he was looking into ways to cache the puppeteer chromiums.
I am so very sorry that you ran into this. I didn't know that the build server used puppeteer. I do not believe that this has anything to do with the above breaking changes, but rather, I didn't realize that the build server most likely needs to be restarted to accommodate the new puppeteer version that was installed. I'll work with @mattpen on this next week.
Looks like this is being addressed in https://github.com/phetsims/perennial/issues/268
@zepumph - is this ok to close?
Yes thanks. This worked great over in https://github.com/phetsims/perennial/issues/268. We just needed to restart the build server to get the new puppeteer npm version into memory. Closing
While deploying 1.6 via
grunt production --brands=phet,phet-io --branch=1.6
, I received this email:It appears the 1.6 phet brand version was built correctly, I can see it at: https://phet.colorado.edu/sims/html/gravity-and-orbits/1.6.0/gravity-and-orbits_all.html
Maybe something went wrong with the chromium puppeteer step on the build server? Could it be related to changes in https://github.com/phetsims/perennial/issues/268 or an associated maintenance release? Assigning @jonathanolson and @zepumph since they were working on puppeteer today, and assigning @mattpen in case it's more related to the build server.
This is the last step before publication of the sim.