Closed chrisklus closed 1 year ago
All other translations last night were successful: gravity-and-orbits, diffusion, proportion-playground, and bending-light. None of these sims depend on shred though. Looks like shred got missed in the batch maintenance release for https://github.com/phetsims/chipper/issues/1367 perhaps??
Seems like we need to do another batch release, following a process like this:
for each releaseBranch:
for each repo in releaseBranch/{{simRepo}}/dependencies.json:
if {{repo}}/*_strings.json exists
if {{repo}}/package.json does not contain phet.requirejsNamespace
add a phet object and an namespace to {{repo}}/package.json
We can probably identify these automatically, but I'm not sure how to determine what the value for the requirejsNamespace should be.
Hmm, it's been convention for a long time that we have requirejsNamespace (that last maintenance release didn't add it). Looks like the commit landed in https://github.com/phetsims/shred/commit/22b91284b89bc9d2b0d674b04d3764037d27b199, but potentially that doesn't cover all release branches?
@jonathanolson - build-an-atom is using phetsims/shred@fc19ce5e9cb58ccd057c8644795ed70d0745a178, which does not have a phet object at all in its package.json.
Ran the following:
const fs = require( 'fs' );
fs.readdirSync( '../release-branches' ).forEach( releaseBranchDir => {
fs.readdirSync( `../release-branches/${releaseBranchDir}` ).forEach( repo => {
if ( fs.existsSync( `../release-branches/${releaseBranchDir}/${repo}/${repo}-strings_en.json` ) ) {
const packageJSON = JSON.parse( fs.readFileSync( `../release-branches/${releaseBranchDir}/${repo}/package.json`, 'utf-8' ) );
if ( !packageJSON.phet || !packageJSON.phet.requirejsNamespace ) {
console.log( `${releaseBranchDir}/${repo}` );
}
}
} );
} );
Resulted in:
build-an-atom-1.5-phetio/shred
build-an-atom-1.6/shred
@jonathanolson deployed a patch for shred for build-an-atom (1.6 and 1.5-phetio). The production deploy rebuilt the failed translations (se and ee) successfully.
@chrisklus and I retriggered translations for se and ee so that the translator credits are properly added.
This issue is fixed, closing.
This build originated from a translation submission for build-an-atom 1.6.
Build server log:
build-server/getRepoStringMap.js:31:
The problem is happening because the build server is trying to get the
requirejsNamespace
name of shred, but the shred checked out inbuild-an-atom-1.6
has a package.json with norequirejsNamespace
property. The problem is new because until commits from yesterday in https://github.com/phetsims/perennial/issues/330, thisrequirejsNamespace
request from dependencies was using master branch checkouts, and shred's package.json does have that property.I'm not sure if this problem is unique to shred or if there are other repos that were relying on the master branch of the dependency. We know that the dependencies of phet-io-test-sim 2.12 and area-builder 1.1 do not have the problem.
I'll check in with @jonathanolson and @mattpen tomorrow about the way to proceed. If it's best to use the master branch checkout, then we can just change the checkoutDir for getting the namespace to the new directory of master branch checkouts and clone/pull the dependency repo.