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

Comments

Projects
None yet
@steveklabnik
Contributor

steveklabnik commented Aug 17, 2011

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

This comment has been minimized.

Show comment
Hide comment
@thibaudgg

thibaudgg Feb 2, 2012

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

thibaudgg commented Feb 2, 2012

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

@steveklabnik

This comment has been minimized.

Show comment
Hide comment
@steveklabnik

steveklabnik Feb 3, 2012

Contributor

Yep, it'll be happening at some point.

Contributor

steveklabnik commented Feb 3, 2012

Yep, it'll be happening at some point.

@thibaudgg

This comment has been minimized.

Show comment
Hide comment
@thibaudgg

thibaudgg Feb 3, 2012

Awesome :)

thibaudgg commented Feb 3, 2012

Awesome :)

@arturadib

This comment has been minimized.

Show comment
Hide comment
@arturadib

arturadib Feb 23, 2012

Major +1 here!

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

arturadib commented Feb 23, 2012

Major +1 here!

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

@thbar

This comment has been minimized.

Show comment
Hide comment
@thbar

thbar 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.

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

This comment has been minimized.

Show comment
Hide comment
@Adron

Adron 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.

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

This comment has been minimized.

Show comment
Hide comment
@TooTallNate

TooTallNate commented Mar 3, 2012

👍

@michaelklishin

This comment has been minimized.

Show comment
Hide comment
@michaelklishin

michaelklishin Mar 3, 2012

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.

Contributor

michaelklishin commented Mar 3, 2012

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

This comment has been minimized.

Show comment
Hide comment
@mrdavidlaing

mrdavidlaing Apr 27, 2012

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

mrdavidlaing commented Apr 27, 2012

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

@sarahhodne

This comment has been minimized.

Show comment
Hide comment
@sarahhodne

sarahhodne May 22, 2012

Contributor

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

Contributor

sarahhodne commented May 22, 2012

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

@Adron

This comment has been minimized.

Show comment
Hide comment
@Adron

Adron 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)

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

This comment has been minimized.

Show comment
Hide comment
@michaelklishin

michaelklishin May 22, 2012

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.

Contributor

michaelklishin commented May 22, 2012

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

This comment has been minimized.

Show comment
Hide comment
@sarahhodne

sarahhodne May 22, 2012

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.

Contributor

sarahhodne commented May 22, 2012

@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

This comment has been minimized.

Show comment
Hide comment
@joshk

joshk May 22, 2012

Member

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)

Member

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

This comment has been minimized.

Show comment
Hide comment
@bootstraponline

bootstraponline May 23, 2012

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

bootstraponline commented May 23, 2012

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

@joshk

This comment has been minimized.

Show comment
Hide comment
@joshk

joshk May 23, 2012

Member

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)

Member

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

This comment has been minimized.

Show comment
Hide comment
@kykim

kykim 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.

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

This comment has been minimized.

Show comment
Hide comment
@joshk

joshk May 24, 2012

Member

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)

Member

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

This comment has been minimized.

Show comment
Hide comment
@sarahhodne

sarahhodne May 24, 2012

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.

Contributor

sarahhodne commented May 24, 2012

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

This comment has been minimized.

Show comment
Hide comment
@kykim

kykim 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"

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

This comment has been minimized.

Show comment
Hide comment
@michaelklishin

michaelklishin May 25, 2012

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?

Contributor

michaelklishin commented May 25, 2012

@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

This comment has been minimized.

Show comment
Hide comment
@kykim

kykim 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.

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

This comment has been minimized.

Show comment
Hide comment
@nickmccurdy

nickmccurdy commented Jul 26, 2012

👍

@dscape

This comment has been minimized.

Show comment
Hide comment
@dscape

dscape 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

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

This comment has been minimized.

Show comment
Hide comment
@michaelklishin

michaelklishin Jul 30, 2012

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".

Contributor

michaelklishin commented Jul 30, 2012

@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

This comment has been minimized.

Show comment
Hide comment
@joshk

joshk Jul 30, 2012

Member

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)

Member

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

This comment has been minimized.

Show comment
Hide comment
@ncb000gt

ncb000gt commented Aug 3, 2012

👍

@EhevuTov

This comment has been minimized.

Show comment
Hide comment
@EhevuTov

EhevuTov Aug 20, 2012

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

EhevuTov commented Aug 20, 2012

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

@fxlb

This comment has been minimized.

Show comment
Hide comment
@fxlb

fxlb 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.

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

This comment has been minimized.

Show comment
Hide comment
@rkh

rkh May 15, 2014

Member

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

Member

rkh commented May 15, 2014

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

@simi

This comment has been minimized.

Show comment
Hide comment
@simi

simi May 15, 2014

Contributor

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

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

This comment has been minimized.

Show comment
Hide comment
@rkh

rkh May 15, 2014

Member

👍 @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.

Member

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

This comment has been minimized.

Show comment
Hide comment
@fxlb

fxlb 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 ......)

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

This comment has been minimized.

Show comment
Hide comment
@rkh

rkh May 15, 2014

Member

As a work around, you can use uname.

Member

rkh commented May 15, 2014

As a work around, you can use uname.

@fxlb

This comment has been minimized.

Show comment
Hide comment
@fxlb

fxlb May 15, 2014

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

fxlb commented May 15, 2014

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

@BanzaiMan

This comment has been minimized.

Show comment
Hide comment
@BanzaiMan

BanzaiMan May 15, 2014

Member

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.

Member

BanzaiMan commented May 15, 2014

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

This comment has been minimized.

Show comment
Hide comment
@stormbrew

stormbrew May 15, 2014

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.

stormbrew commented May 15, 2014

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

This comment has been minimized.

Show comment
Hide comment
@fxlb

fxlb 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 ?

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

This comment has been minimized.

Show comment
Hide comment
@roidrage

roidrage May 16, 2014

Member

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

Member

roidrage commented May 16, 2014

@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

This comment has been minimized.

Show comment
Hide comment
@fxlb

fxlb 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 ?

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

This comment has been minimized.

Show comment
Hide comment
@roidrage

roidrage May 16, 2014

Member

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

Member

roidrage commented May 16, 2014

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

@roidrage

This comment has been minimized.

Show comment
Hide comment
@roidrage

roidrage May 16, 2014

Member

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

Member

roidrage commented May 16, 2014

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

@robrich

This comment has been minimized.

Show comment
Hide comment
@robrich

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

marutosi added a commit to marutosi/openproject that referenced this issue Nov 17, 2014

marutosi added a commit to marutosi/openproject that referenced this issue Apr 28, 2015

@roidrage

This comment has been minimized.

Show comment
Hide comment
@roidrage

roidrage Jul 23, 2015

Member

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.

Member

roidrage commented Jul 23, 2015

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.

@roidrage roidrage closed this Jul 23, 2015

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