Skip to content

Build on xcode9 #18134

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 14 commits into from
Aug 2, 2020
Merged

Build on xcode9 #18134

merged 14 commits into from
Aug 2, 2020

Conversation

jkseppan
Copy link
Member

@jkseppan jkseppan commented Jul 31, 2020

PR Summary

This sets up Travis so that the Mac tests use XCode 9 on MacOS 10.12.

Homebrew doesn't support this configuration, so we install the library dependencies without it. Tests requiring Qt5 are skipped because Qt5 requires 10.13 or later. We do install Qt4 and at least PySide seems to work, so it is possible to write tests for Qt4.

PR Checklist

  • Has Pytest style unit tests
  • Code is Flake 8 compliant
  • New features are documented, with examples if plot related
  • Documentation is sphinx and numpydoc compliant
  • Added an entry to doc/users/next_whats_new/ if major new feature (follow instructions in README.rst there)
  • Documented in doc/api/next_api_changes/* if API changed in a backward-incompatible way

@jkseppan
Copy link
Member Author

The CI run fails when installing sqlite from Homebrew. Homebrew prints out a warning that macOS 10.12 is unsupported by them and that pull requests are welcome but requests for help are not.

Homebrew doesn't support 10.12 any more, so build the dependencies
without homebrew.
@jkseppan
Copy link
Member Author

Qt5 supports MacOS 10.13 and up, and XCode 11: https://doc.qt.io/qt-5/macos.html

@jkseppan jkseppan marked this pull request as ready for review July 31, 2020 16:46
@tacaswell tacaswell added this to the v3.4.0 milestone Jul 31, 2020
@tacaswell
Copy link
Member

We have deprecated qt4 support so I don''t think it is worth writing tests. If we get the pyqt5 coverage on azure that seems OK.


set -euo pipefail

fold_start() {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🤯

@jkseppan
Copy link
Member Author

jkseppan commented Aug 1, 2020

We have deprecated qt4 support so I don''t think it is worth writing tests. If we get the pyqt5 coverage on azure that seems OK.

In that case we can speed up the build a little by not installing qt4.

ci/osx-deps Outdated
fold_end libpng

fold_start freetype 'Install freetype (just unpack into the build directory)'
curl -O -L https://download.savannah.gnu.org/releases/freetype/freetype-2.6.1.tar.gz
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why can't we just rely on what's already going on in setupext.py?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm sure I added this because of some reason, but the details are lost in the rebases... I'll see if and how the build fails without this step.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The build ends with the error message

error: Failed to download FreeType. Please download one of ['https://downloads.sourceforge.net/project/freetype/freetype2/2.6.1/freetype-2.6.1.tar.gz', 'https://download.savannah.gnu.org/releases/freetype/freetype-2.6.1.tar.gz'] and extract it into build/freetype-2.6.1 at the top-level of the source repository.

I don't know how it is trying to download the file, but perhaps the older MacOS version doesn't support it?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's just using standard library urllib. Two possibilities, the SSL certificates are old/not found, or the cache location is not writable.

and put that directory in the Travis cache, for perhaps an additional
speedup and to reduce the traffic we cause to the download sites
and use two processes for ccache compilation
$HOME/Downloads did not get cached, .cache/matplotlib already is
@jkseppan
Copy link
Member Author

jkseppan commented Aug 2, 2020

The build is now also faster than any of the Linux builds (but much of that is because we don't run svg or pdf tests on Mac).

@jkseppan jkseppan merged commit 1caf17b into matplotlib:master Aug 2, 2020
@jkseppan jkseppan deleted the ci-macos branch August 2, 2020 09:19
@QuLogic
Copy link
Member

QuLogic commented Oct 30, 2020

@meeseeksdev backport to v3.3.x

meeseeksmachine pushed a commit to meeseeksmachine/matplotlib that referenced this pull request Oct 30, 2020
QuLogic pushed a commit to meeseeksmachine/matplotlib that referenced this pull request Oct 30, 2020
@QuLogic QuLogic modified the milestones: v3.4.0, v3.3.3 Oct 30, 2020
@dstansby dstansby mentioned this pull request Jan 24, 2021
7 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants