phetsims / perennial

Maintenance tools that won't change with different versions of chipper checked out
MIT License
2 stars 5 forks source link

Grunt RC failed to report unpushed SHAs #340

Open marlitas opened 8 months ago

marlitas commented 8 months ago

For an RC deployment the grunt process did not recognize that a SHA had not been pushed up to the remote and went through to the build process which subsequently failed.

Steps to reproduce:

  1. Checkout RC shas for a sim
  2. Create a new branch in a common repo for the sim's release branch
  3. Cherry pick a commit into the common repo's new release branch
  4. CD into the sim's repo
  5. Run grunt rc --brands=phet --branch={{BRANCH}}

I was able to test the build locally, but received a build failure email after it tried to deploy.

Build failure: Error: Build aborted, Error: git checkout c7f3ab73260898acebe7f0d0c9765f1aa3dcc8a6 in ../release-branches/number-line-integers-1.2/number-line-common failed with exit code 128
stderr:
fatal: reference is not a tree: c7f3ab73260898acebe7f0d0c9765f1aa3dcc8a6
. Sim = number-line-integers Version = 1.2.0-rc.2 Brands = phet Locales = en Shas = {"comment":"# number-line-integers 1.2.0-rc.2 Tue Dec 12 2023 17:12:53 GMT-0800 (Pacific Standard Time)","assert":{"sha":"47dac8ba80fe19cc82ef8453fb68ddf7c05b363f","branch":"HEAD"},"axon":{"sha":"15c7181b222ae6c85b13abfde7775364c010e1e4","branch":"HEAD"},"brand":{"sha":"defd492ab5ee3aae4e085b6c2ea4e475d0662746","branch":"HEAD"},"chipper":{"sha":"22ca86b06b366d3077a85480498922e2bbb32d3b","branch":"HEAD"},"dot":{"sha":"da8f04fb4ba29c460000ffedb9716350896dafa1","branch":"HEAD"},"joist":{"sha":"e3b10a5a3509be35dc3d9b00850129a89d68136d","branch":"HEAD"},"kite":{"sha":"1980d4c60a8d0c0ee9f7e133d0082bfbb9ffb24f","branch":"HEAD"},"number-line-common":{"sha":"c7f3ab73260898acebe7f0d0c9765f1aa3dcc8a6","branch":"HEAD"},"number-line-integers":{"sha":"906f7bcb27ee554abd5e44ba7faed748f034d6e5","branch":"1.2"},"perennial-alias":{"sha":"8f6f05b49e2ae0d8ca60a27db347507c8e90914d","branch":"HEAD"},"phet-core":{"sha":"d24b34031b9b94609613c11a8b5d265dc441c0ea","branch":"HEAD"},"phet-io":{"sha":"1bacc39de890e450b081c63647451153303e1496","branch":"HEAD"},"phet-io-sim-specific":{"sha":"e3bc707ed1251255bae1a19168eeb34003391151","branch":"HEAD"},"phet-io-wrappers":{"sha":"22e934dc8694fb616370eae454d8aebfd8cbc261","branch":"HEAD"},"phetcommon":{"sha":"5a48c7a7f00fe2db85470248c43aa6d4a7597180","branch":"HEAD"},"phetmarks":{"sha":"3350295d37c8b1b51223e60a5c08bef9fe040b1e","branch":"HEAD"},"query-string-machine":{"sha":"ceb14b1e370b7c28eb1d1c867e4dae28dcea1610","branch":"HEAD"},"scenery":{"sha":"7df1efe81a202b628bcd16b7d2771776f7af37e3","branch":"HEAD"},"scenery-phet":{"sha":"35496b8931d21444e70d99d53f007237ddef33f9","branch":"HEAD"},"sherpa":{"sha":"b3de9160066e7844b30e71e91adcc5b90a242db4","branch":"HEAD"},"studio":{"sha":"b8207082b682fa6fddb6fb48b5bd9e72f288620f","branch":"HEAD"},"sun":{"sha":"20b4c237aea470fd7c1453e79324f87ac95040d3","branch":"HEAD"},"tambo":{"sha":"56e3cbf818ad3e923fd3e14b459d7209ae33bf7e","branch":"HEAD"},"tandem":{"sha":"0817e44be43cb83ded42cb725f21ac12c94f2973","branch":"HEAD"},"twixt":{"sha":"db87a714041ea03515fb3fb81889eba34a1711a0","branch":"HEAD"},"utterance-queue":{"sha":"fb67b3880c0d29447d575ef97ab4f14e08b2cb34","branch":"HEAD"}}
zepumph commented 8 months ago

What do you recommend here? This is exactly what I would also expect in this case. It is also a classic gotcha that the new maintenance release tooling helps to prevent.

marlitas commented 8 months ago

@mattpen recommended I open this issue, so I'm not sure... If that's how it's supposed to work, sounds good to me! @mattpen any follow up?

mattpen commented 8 months ago

I would expect that grunt rc would detect that there are unpushed shas and fail before requesting that the build server attempt a build. I thought it was unexpected that the grunt rc would succeed when there are local commits on a dependency that have not been pushed.