conda-forge / cfep

conda-forge's Enhancement Proposal
BSD 3-Clause "New" or "Revised" License
18 stars 24 forks source link

Upgrade macOS/Travis default image to xcode6.4 #6

Closed inducer closed 7 years ago

inducer commented 7 years ago

Here's a quick straw man for a CFEP to get the Travis image changed.

cc @jakirkham @conda-forge/core

inducer commented 7 years ago

Pretty version

mwcraig commented 7 years ago

This seems inevitable to me. One reasonable approach to testing (not saying I actually have time to implement it, unfortunately) might be to build a couple test packages on xcode 6.4 that target 10.9, and use the xcode 6.1 while it is still around to try running test suites for those packages.

That won't catch everything, but at some point we are really constrained in what we can do by what the CI services make it easy to do.

inducer commented 7 years ago

Matt Craig notifications@github.com writes:

@inducer -- here is the ref: https://github.com/travis-ci/travis-ci/issues/6765#issuecomment-256703076

Thanks, updated!

inducer commented 7 years ago

jakirkham notifications@github.com writes:

Other relevant references.

Added, thx!

inducer commented 7 years ago

@jakirkham Please feel free to push directly to the text. Added you to the repo.

jakirkham commented 7 years ago

Thanks for writing all of this up, @inducer ! This is very helpful. Hopefully this will help get this important discussion moving.

jakirkham commented 7 years ago

Would also appreciate your feedback on this.

cc @izaid @insertinterestingnamehere @wesm

inducer commented 7 years ago

@jakirkham Thanks for your comments. I think I've got most of the massaged into the text.

wesm commented 7 years ago

+1

inducer commented 7 years ago

jakirkham notifications@github.com writes:

Probably should add this recent one too.

xref: https://blog.travis-ci.com/2016-11-17-retiring-some-osx-images/

Done.

jakirkham commented 7 years ago

Also brought this up at an informal meeting last week. It should come up in the formal meeting this week. I'd recommend anyone interested in this issue to go if they can. Unfortunately it falls on Thanksgiving US. So if people are unable to make it, I completely understand. Sadly I know I won't be able to make it either. Details linked below.

xref: https://conda-forge.hackpad.com/conda-forge-meetings-2YkV96cvxPG#:h=2016-11-24:-General-Discussion

minrk commented 7 years ago

I've started seeing this message on Travis:

screen shot 2016-11-25 at 12 47 53

which suggests that time is of the essence, and Travis' previous messaging about 6.1 being safe until January might no longer be accurate.

I also opened https://github.com/conda-forge/conda-smithy/issues/391, sibling to https://github.com/conda-forge/staged-recipes/pull/1094, which can be merged once this is agreed upon.

And based on the info linked here, I wrote this script for inspecting the deployment target of dylibs, inspired a bit by conda inspect linkages. We can try adding it somewhere so that it can be called during the test phase on Travis, but I'm not 100% sure where the right place would be to open a PR (smithy?, toolchain? conda-build?).

insertinterestingnamehere commented 7 years ago

OSX development isn't my primary area of expertise, but FWIW I think this is a great idea.

jakirkham commented 7 years ago

Also have been seeing that @minrk . It is unclear to me whether this is a warning that they added to all the images being deprecated (of which there are several) or if it has meaning in this case. I think we still get the image until January. However, the date it drops has become a bit fuzzy.

xref: https://github.com/travis-ci/travis-ci/issues/6765#issuecomment-261826869

jakirkham commented 7 years ago

To help ease some concerns, the Travis CI beta-xcode6.1 image will remain until January 20th.

xref: https://github.com/travis-ci/travis-ci/issues/6765#issuecomment-263294723

cc @minrk

minrk commented 7 years ago

@jakirkham thanks for checking!

I think this should be a pretty safe upgrade to make. Any recipe that pulls in toolchain should already be set. The main thing to do is to ensure that, as packages are updated, make sure toolchain is pulled in as a dependency for those that don't have this already. We can do this at the human level (easiest, highest chance of occasional broken package on 10.9-only), or wait until a verification script like the one I linked above can be run automatically on build on OS X. I'm happy to start a PR for that, but I'm not sure yet which is the right repo to do it.

inducer commented 7 years ago

What's the criterion for officially calling this 'accepted'? Is there an official voting process? IMO, this is mostly a no-brainer, since the choice is mainly between "Do we wait a month until Travis forces our hand, or do we do this step-by-step on our own terms?'

wesm commented 7 years ago

What's our timeline to resolve this? January 21 is only a few weeks away

jakirkham commented 7 years ago

I put it on the meeting agenda.

jakirkham commented 7 years ago

Thanks for your work on this, @inducer .

wesm commented 7 years ago

Thanks everyone.

inducer commented 7 years ago

Updated the header to reflect acceptance.

jakirkham commented 7 years ago

Any final thoughts, @conda-forge/core ?

mwcraig commented 7 years ago

Looks great!

jakirkham commented 7 years ago

Alright, given as we have 10 days to get this sorted and I'm not hearing any complaints about this revision, am going to go ahead and merge it. Though if there are corrections, please feel free to raise issues and PRs.

jakirkham commented 7 years ago

Thanks @inducer for putting this together and thanks everyone for the thorough review. 👍