Skip to content

Build on xcode9 - #18134

Merged
jkseppan merged 14 commits into
matplotlib:masterfrom
jkseppan:ci-macos
Aug 2, 2020
Merged

jkseppan merged 14 commits into
matplotlib:masterfrom
jkseppan:ci-macos

Conversation

@jkseppan

@jkseppan jkseppan commented Jul 31, 2020 •

Copy link
Copy Markdown
Member

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
Copy Markdown
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
Copy Markdown
Member Author

@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
Copy Markdown
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.

Comment thread ci/osx-deps

set -euo pipefail

fold_start() {

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

🤯

@jkseppan

jkseppan commented Aug 1, 2020

Copy link
Copy Markdown
Member Author

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.

Comment thread 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
Copy Markdown
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
Copy Markdown
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
Copy Markdown
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
Copy Markdown
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.

Comment thread ci/osx-deps Resolved
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

jkseppan commented Aug 2, 2020

Copy link
Copy Markdown
Member Author

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

QuLogic commented Oct 30, 2020

Copy link
Copy Markdown
Member

@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