Weekly Virtual Machine /Stack update 2019.12.14

Android/Linux stacks

No significant change

Xcode stacks

Bitrise CLI updated to 1.37.0

Due to OpenSSL 1.0 deprecation, we had to update numerous tools on Xcode stacks retroactivly. This affects OpenSSL itselfs, Ruby and a couple other tool, see changelog for details.

Visual Studio for Mac stacks

This week’s changes (diffs)

Stack System Reports

You can find the full system report of all of the available Stacks on GitHub: https://github.com/bitrise-io/bitrise.io/tree/master/system_reports.

If you’d like to add additional tools to be pre-installed you can find the instructions on GitHub, for both the Linux and for the macOS stacks.

Information about Stack types & update schedules can be found here: Stack update and removal policy | Bitrise DevCenter

All stacks passed our tests and scheduled to be deployed on Saturday.

Happy Building!

1 Like

Upgrade to openssl 1.1.0 from 1.0.0 breaks pip in python 2.7. Possibly other things.

https://github.com/bitrise-io/bitrise.io/commit/f9a4dc4b1adb90f7a45ecbecda587e0c9cf55e95#diff-a51295fd66a374f42baa6a402f66fcf8L315

Its likely because python@2 needs to be reinstalled to link with the new openssl.
I would suggest anything in brew that depends on openssl needs to be reinstalled.

See errors here: https://app.bitrise.io/build/82d4aff05a7cccd0#?tab=log

Hi akshetpandey,

We checked your error, the build fails at the pip install. Python 2 support ends in January 1, 2020, which means the pip will be deprecated in 14 days. please try the pip3 install ... command, that is the official way to install anything for python v3.

Thanks for your suggestion, we already reinstalled in brew what depends on openssl.

Happy building! :slight_smile:

1 Like

Python 2 support may be ending on 1st Jan, but python 2 is disappearing.
Are you implying the bitrise has practically stopped supporting python 2? Because, if that’s the case, that will be news to a lot of bitrise users.
Its fairly trivial for me to make the change, but I am not sure if that will be the case for others.
I would have expected at least a warning and deprecation notice that python2/pip will stop working on bitrise machines.

Python 2 isn’t disappearing, the macos system default python 2 will be available.

Pip is the component which was previously available due to the brew python@2 package, it’s not available by default on macOS and so when we remove the python@2 package (brew uninstall) pip “disappears”.

We’ll definitely do better next time when we identify a change like this, but there thing is, this was a hidden dependency (python@2) which came as a dependency of another brew installed tool. Python@2 was never specifically installed by us and so we didn’t have regression tests for it either. (The complete provisioning repo is open source https://github.com/bitrise-io/osx-box-bootstrap )

Breaking anything wasn’t our intention, what we discovered was that certain tools that depended on python@2 were crashing so we brew reinstalled those tools, which also means that python@2 isn’t referenced by any tool anymore (as the tools’ python dependency is getting updated in brew due to their python@2 removal), and that’s what’s causing the issues (triggered by openssl 1.0 removal from brew which somehow broke python@2).

We’ll work on detecting these “hidden” dependency changes better in the future as well as adding more regression tests to our stack testing suite.

@viktorbenei FYI, not only pip but also easy_install was broken due to python-related changes.
I haven’t analysed deeply the reason but e.g. flutter step stopped working on MacOS stack.

Likely some another tools may be also affected.

1 Like

In all cases so far we found the issue to be related to the broken python@2 package, that’s why we plan to remove that from all stacks.

But it’s certainly possible that something else also broke due to brew’s changes, so if you have any other example we should look into please let us know @koral and we’ll make sure to test it along with the python@2 removal.

Here is the issue I mentioned: https://github.com/DroidsOnRoids/bitrise-step-flutter/issues/14
and my quick fix: https://github.com/DroidsOnRoids/bitrise-step-flutter/commit/ac289e80c4f7414984335fb7a1b8bfa3b9b51293

1 Like

Thanks @koral , I’ll make sure we include these in the fix ticket!

I checked the issue and it seems that’s also related to the lingering python@2 package issue - the path in the reported issue also matches that, File "/usr/local/Cellar/python@2/2.7.16/...

I did a quick test, and indeed removing python@2 seems to work.

Issue reproduction build: https://app.bitrise.io/build/9bc7ac860d88d051#?tab=log
Build which includes brew uninstall python@2: https://app.bitrise.io/build/ebafb498e53d0908#?tab=log

This topic was automatically closed after 90 days. New replies are no longer allowed.