Skip to content
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

Support Windows and OS X #216

Closed
steveklabnik opened this issue Aug 17, 2011 · 208 comments
Closed

Support Windows and OS X #216

steveklabnik opened this issue Aug 17, 2011 · 208 comments

Comments

@steveklabnik
Copy link
Contributor

This will have to be done in steps, so I might break this issue down as support gets closer. Eventually, I'd like to make it such that the yaml file has something like:

os:
  :windowsxp
  :osx
  :linux

Or whatever. So you can build on multiple operating systems as well as just Linux.

This has some interesting issues:

  1. licensing
  2. availablility
  3. combinatorial explosion of rubies and platforms
@thibaudgg
Copy link

This is something in the pipe? it would be great to test stuff like Guard.

@steveklabnik
Copy link
Contributor Author

Yep, it'll be happening at some point.

@thibaudgg
Copy link

Awesome :)

@arturadib
Copy link

Major +1 here!

Perhaps that can be added to the "Future plans (with your help)" section of https://love.travis-ci.org/ ? :)

@thbar
Copy link

thbar commented Mar 2, 2012

This would be awesome to test out SQLServer related stuff (like what I have on adapter_extensions).

Raw thoughts: maybe a partnership with Microsoft could help provide Windows licenses for open-source projects, while the pro version pricing would include an add-on to support Windows worker?

For SQLServer specifically: there's a Express version which is installed by the sqlserver chef cookbook by default - I believe it would be free to use for that kind of use.

@Adron
Copy link

Adron commented Mar 3, 2012

I'd bet Microsoft... if the right person could be found, would actually be up for this. They've got a ton of software/services they'll provide for startups and open source related companies for free.

@TooTallNate
Copy link

👍

@michaelklishin
Copy link
Contributor

Both OS X and Windows will be supported one day. We have contacts at both Apple and Microsoft to help make this happen. But it is a non-trivial undertaking. For example, all of our cookbooks will have to be seriously revisited. Doing this in upcoming months means a lot of other features and infrastructure improvements (growing at 40 repos/day does not come effortlessly) that benefit everybody will be seriously affected.

So, 2nd half of the year. No need to +1 more, we hear questions about more OSes and CPU architectures every few days.

@mrdavidlaing
Copy link

When you guys need extra hands for this one, please ping me.

@sarahhodne
Copy link
Contributor

@michaelklishin Any progress on this? Looks like @mrdavidlaing would like to help out.

@Adron
Copy link

Adron commented May 22, 2012

Count me in too. I'd love to be able to bring Travis to the OS-X part of the dev world. :) (and the MS side too I'll admit)

@michaelklishin
Copy link
Contributor

You should @joshk about who to talk to about figuring out a blank OS X image that runs in VirtualBox. And then we can discuss what to do about the cookbooks.

@sarahhodne
Copy link
Contributor

@michaelklishin I can get OS X running in VirtualBox all right, the problem I think is licensing. OS X is after all a proprietary, commercial OS.

@joshk
Copy link
Contributor

joshk commented May 22, 2012

I can't get OS X in Vbox, especially in a simple headless way.

Any and all help would be welcome :)

On 22/05/2012, at 11:44 PM, Henrik Hodne wrote:

@michaelklishin I can get OS X running in VirtualBox all right, the problem I think is licensing. OS X is after all a proprietary, commercial OS.


Reply to this email directly or view it on GitHub:
#216 (comment)

@bootstraponline
Copy link

@joshk You should figure out licensing first before using OS X in VirtualBox.

@joshk
Copy link
Contributor

joshk commented May 23, 2012

We have a contact at Apple in the Netherlands, we want to show him it working first as licensing can always be figured out later.

None the less, you are allowed to run 2 or 3 Lion VMs within Lion.

On 23/05/2012, at 8:33 AM, bootstraponline wrote:

@joshk You should figure out licensing first before using OS X in VirtualBox.


Reply to this email directly or view it on GitHub:
#216 (comment)

@kykim
Copy link

kykim commented May 24, 2012

so, i've spent a good bit of time with this. VirtualBox for OSX does not "behave" as well as VB for Linux. As a result it's difficult to get some of the cookbooks to work properly. i'm not 100% sure we'll ever get to work without a serious investment of development to make OSX a first class citizen of VB.

@joshk
Copy link
Contributor

joshk commented May 24, 2012

What cookbooks are you trying to run?

What are the behavior issue you experience?

On 24/05/2012, at 5:10 PM, kykim wrote:

so, i've spent a good bit of time with this. VirtualBox for OSX does not "behave" as well as VB for Linux. As a result it's difficult to get some of the cookbooks to work properly. i'm not 100% sure we'll ever get to work without a serious investment of development to make OSX a first class citizen of VB.


Reply to this email directly or view it on GitHub:
#216 (comment)

@sarahhodne
Copy link
Contributor

I tried working on it yesterday. OS X Snow Leopard Server is supported, but experimental, on VirtualBox. I haven't actually tried it yet, but I will later today.

@kykim
Copy link

kykim commented May 25, 2012

I can't recall the specific cookbook - but the guest additions for OSX are non-existant, and the mapping of SSH ports from the host env to the guest env seems to "disappear"

@michaelklishin
Copy link
Contributor

@kykim guest additions have nothing to do with the cookbooks. So Vagrant was unable to access the VM over SSH? How did you run provisioning in that case?

@kykim
Copy link

kykim commented May 25, 2012

sorry - wasn't too clear about the real issues.

i was manually stepping through the provisioning steps to get a box that i could start.
then I tried stepping through what the cookbooks would do via vagrant.
neither of each really "worked" well.

in the end, i couldn't automate the provisioning, nor get vagrant to work well (which i suspect is a guest additions issue).

i have some ideas on how to tackle this, which i'll happily discuss offline.

@nickmccurdy
Copy link

👍

@dscape
Copy link

dscape commented Jul 30, 2012

Any progress here?

This makes it super hard to test windows environments, which normally break based on assumptions developers do about things that exist.

Would be super helpful to know some estimates!

Nuno

@michaelklishin
Copy link
Contributor

@dscape no progress. We are up to other things, people who tried running OS X in a VM ran into problems. Porting the entire CI environment to Windows is several months of work.

The estimate is still "some day".

@joshk
Copy link
Contributor

joshk commented Jul 30, 2012

Although Michael is right, I would be happy to work on this with someone.

We might have to make some tradeoffs, like how we create the VMs, but I would love to offer .net support, and cocoa support.

Ping me if you are interested.

On 30/07/2012, at 4:04 PM, Michael Klishin wrote:

@dscape no progress. We are up to other things, people who tried supporting even OS X ran into problems. Porting the entire CI environment to Windows is several months of work.

The estimate is still "some day".


Reply to this email directly or view it on GitHub:
#216 (comment)

@ncb000gt
Copy link

ncb000gt commented Aug 3, 2012

👍

@EhevuTov
Copy link

Combinatorial explosion is a big reason why I use Travis. I'm really looking forward to Windows support.

OS:
  :windows
    :64bit
    :32bit

...would be ideal

@BanzaiMan
Copy link
Contributor

@tedivm @roidrage

matrix:
  allow_failures:
    - os: osx

should categorically allow failures on any job on OS X workers.

@tedivm
Copy link

tedivm commented May 14, 2014

Awesome 👍

I'm really excited about this, particularly for one of my projects which has to deal with a lot of cross compatibility issues.

@myint
Copy link

myint commented May 15, 2014

OS X testing isn't working for me. It looks like Travis just ignores my os block.

https://travis-ci.org/myint-test-org/test-osx

So I tried forking an existing project that Travis does test on OS X and Linux.

https://travis-ci.org/pyca/cryptography

But when I run my fork on Travis using their exact .travis.yml, Travis still does not run on OS X. See how my build matrix compares. It is missing the "OS" coolumn.

https://travis-ci.org/myint/cryptography/builds/25239850

@fxlb
Copy link

fxlb commented May 15, 2014

If you want the feature turned on for your repository, get in touch with the Travis support via email at support@travis-ci.com.

@rkh
Copy link
Contributor

rkh commented May 15, 2014

@BanzaiMan Maybe we should output a warning if you specify OS but aren't feature flagged.

@simi
Copy link
Contributor

simi commented May 15, 2014

👍 @rkh. Any ideas how to implement it? Output it in build log as a warning similar to projects, where .travis.yml is not present?

@rkh
Copy link
Contributor

rkh commented May 15, 2014

👍 @rkh. Any ideas how to implement it? Output it in build log as a warning similar to projects, where .travis.yml is not present?

Yes, something like that. I'm not sure if we remove the os section from the payload if the repo is not feature flagged or if we silently hand it on to travis-build.

@fxlb
Copy link

fxlb commented May 15, 2014

At present, when the feature is 'off', the TRAVIS_OS_NAME env variable is void.
Anyway to have it set to 'linux' to have same script usable with feature 'on' and feature 'off' ?
(e.g. - if [ "$TRAVIS_OS_NAME" = linux ]; then ......)

@rkh
Copy link
Contributor

rkh commented May 15, 2014

As a work around, you can use uname.

@fxlb
Copy link

fxlb commented May 15, 2014

Thanks, uname is OK for now.
But for future, I think TRAVIS_OS_NAME is better.

@BanzaiMan
Copy link
Contributor

We should retain everything in the payload, including os. We just ignore it when expanding the build matrix if the feature is not available to the repository.

@stormbrew
Copy link

For a slightly less noisy version of @nulltoken's approach to using having differing pre-install steps on osx vs. linux, this is how I'm doing it: stormbrew/channel9@9bab83e

This probably won't work when windows support comes along, though.

@fxlb
Copy link

fxlb commented May 16, 2014

Now gcc command is not the GNU gcc:

$ gcc --version
Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/usr/include/c++/4.2.1
Apple LLVM version 5.1 (clang-503.0.38) (based on LLVM 3.4svn)
Target: x86_64-apple-darwin13.1.0
Thread model: posix

Is there a plan to have GNU gcc native in builder ?

@roidrage
Copy link
Contributor

@fxlb gcc is installed via Xcode, which now defaults to clang. You'll find gcc in /usr/local/bin by way of the gcc-4.2 package.

@fxlb
Copy link

fxlb commented May 16, 2014

thanks, but gcc 4.2 is rather old.
brew install gcc give gcc 4.8.2.
Could we have this version in the builder ?

@roidrage
Copy link
Contributor

You can install it yourself by way of brew update && brew install gcc

@roidrage
Copy link
Contributor

As this thread is already quite large, please file any support requests as separate tickets.

@robrich
Copy link

robrich commented Jun 12, 2014

+1

@travis-ci travis-ci locked and limited conversation to collaborators Jun 12, 2014
meeh420 added a commit to PurpleI2P/i2pd that referenced this issue Jul 14, 2014
meeh420 pushed a commit to Anoncoin/oldrepo-backup that referenced this issue Jul 14, 2014
@roidrage
Copy link
Contributor

I'm closing this issue as we do have Mac support available. As for Windows, we do have ideas on it, and once we know more, we'll update this ticket.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests