The MacOS Intel (x64) build in CI has been failing for a few months now (see logs). After tons of back and forth I finally figured out why. Turns out, Python 3.12 got released in October which removed distutils, a deprecated Python package that node-gyp (used by Electron forge) relied on. It seems the default GitHub runners started defaulting to Python 3.12 shortly after hence why our builds suddenly started failing in Oct.
Pin Python version to 3.11 in CI for the build / publish steps. Also fixed one place we were still using Node 18 instead of Node 20 as we do elsewhere for consistency.
Test Plan
CI (in particular, the MacOS build tests) finally passes yay!
Why
The MacOS Intel (x64) build in CI has been failing for a few months now (see logs). After tons of back and forth I finally figured out why. Turns out, Python 3.12 got released in October which removed
distutils
, a deprecated Python package that node-gyp (used by Electron forge) relied on. It seems the default GitHub runners started defaulting to Python 3.12 shortly after hence why our builds suddenly started failing in Oct.See relevant issue for more detail: https://github.com/nodejs/node-gyp/issues/2869
What changed
Pin Python version to 3.11 in CI for the build / publish steps. Also fixed one place we were still using Node 18 instead of Node 20 as we do elsewhere for consistency.
Test Plan
CI (in particular, the MacOS build tests) finally passes yay!