Post M1 migration | build time is 15 minutes slower

Hey,

We just migrated our workflow to the M1 architecture and the build time now take 15 minutes more.

part of the migration was the need to upgrade our node version from 14.18.1 to 14.19.2.
due to the change and the to m1, we needed to install python 3.9 ( the OTB python 3.11 doesn’t support node 14).

now the nvm step take 13 minutes which was previously took 10seconds now takes 15 minutes to install.

Is there a way to fix this step to be faster?

Many thanks,
Ronen

1 Like

Have similar kind of similar problem. Unit tests on IOS are execution 40 mins instead of 10, as it was before

1 Like

@ronen.meiri nvm should pick one of preinstalled versions listed in system reports bitrise.io/system_reports/MACOS/M1/osx-xcode-14.3.x-ventura.log at master · bitrise-io/bitrise.io · GitHub . That way you can save build minutes on fetching and compiling and installing non-preinstalled versions. Sadly node 14 isn’t preinstalled, you can make a feature request to preinstall node 14 and Bitrise can happily take it.

Unit test issue is kinda unrelated but it’s not uncommon to see Rosetta stacks to be slower than native Apple Silicon stacks. So if possible you should jump directly to native M1 stacks.

thanks @silvercast.nguyen,

I just figured it out the other day via your attached link !

Many thanks for the help!

1 Like

Hi @mhaidan,

Could you please raise a support ticket with the details(problematic build URL would be helpful)? https://support.bitrise.io/hc/en-us/requests/new

We know about a combination of Xcode and iOS versions that could solve that…

Balazs

We tried using asdf and NVM, but both require building node 14 (including installing python <= 3.10 first) but like you were saying this took too long.

We ended up adding a pre script to our workflow that installs node 14 via brew, since it looks like they already have a prebuilt arm64 ventura bottle. This ended up adding <1 minute to the build time.

HOMEBREW_NO_INSTALLED_DEPENDENTS_CHECK=true brew install node@14
echo 'export PATH="/opt/homebrew/opt/node@14/bin:$PATH"' >> ~/.bashrc

It’s not great, ideally bitrise preinstall node 14 as an available version in NVM, but since there’s only a couple weeks left till the intel machines get removed, we just had to go with it.