Ticket #3738 (closed defect: fixed)

Opened 8 years ago

Last modified 3 weeks ago

travis builder should also target osx in addition to linux

Reported by: sorin Owned by: zaytsev
Priority: major Milestone: 4.8.33
Component: adm Version: master
Keywords: Cc:
Blocked By: #4170 Blocking:
Branch state: no branch Votes for changeset:

Description

Travis supports building for multiple platforms and can be configured to build both in parallel.

Unless someone has a strong reason for not doing this I will raise a PR that will also enable OSX builds.

Change History

comment:1 Changed 8 years ago by zaytsev

As macOS is supported on a best-effort basis, I've channeled all my spare time to get Linux to work instead. I agree that having CI on macOS is a good thing, this would probably have helped us to catch BSD build failures.

If you want to add support for macOS, please keep in mind the following:

  1. You need to migrate to addons / apt first.
  2. You'll probably need to find equivalents of build dependencies using brew.
  3. You need to set up a matrix to get both Linux and macOS at the same time.
  4. I'd suggest to include only Precise and latest macOS at first to keep builds fast.
  5. You probably won't need -Wno-error=shadow, this is to avoid false positives on old GCC / Precise.
  6. Deployment should be done only once (that is on Linux, and only one Linux).
  7. I think that after_success should be probably moved to before_deploy.
  8. Check which macOS specific compiler warning flags are needed, hopefully none, but who knows; patches for those should be submitted in advance, if no way to workaround, then disable like I did for Linux.

Also, unfortunately, I can't tell when I'll manage to find time to have a look at the PR.

comment:2 Changed 8 years ago by and

Hi Zaytsev
how can I support?

Currently I have knowledge about Open Build Support Environment only.
https://build.opensuse.org/project/show/home:andreasmohr:mc

Some effort was made to create a full-feature RPM spec to support different Linux distributions like SuSE, Redhat, Debian and Arch.

Nice to see build errors at early stage but for Linux based distributions only.
So Travis support further OS build Environments like macOS and *BSD?

comment:3 Changed 8 years ago by zaytsev

So Travis support further OS build Environments like macOS and *BSD?

Only macOS in addition to Linux at the moment. The reason why I mentioned BSD is that macOS userland is similar, so, hopefully, it will help with BSDs as well.

how can I support?

Make it work and hope it will get committed one day :-) or let sorin do it and review his patches.

Some effort was made to create a full-feature RPM spec to support different Linux distributions like SuSE, Redhat, Debian and Arch.

Unfortunately, I still haven't got a chance to check your SPEC out. From a cursory look all builds are failing now, because of unpackaged files. I would suggest to implement a simple one-liner to generate a hints.lang file like %find_lang does for localizations and include it as -f in %files.

comment:4 Changed 7 years ago by andrew_b

  • Component changed from mc-core to adm

comment:5 Changed 23 months ago by zaytsev

  • Blocked By 4170 added

Is only possible to implement after migrating to GitHub? Actions.

comment:6 Changed 5 weeks ago by zaytsev

  • Status changed from new to accepted
  • Owner set to zaytsev
  • Milestone changed from Future Releases to 4.8.33

comment:7 Changed 5 weeks ago by zaytsev

I have fixed the build on macOS in 4.8.32 and tests in #4584. CI will be added in #4170. FreeBSD is next up... I wish someone could take this up. Testing is now possible with vmactions, same as Solaris.

comment:8 Changed 3 weeks ago by zaytsev

  • Status changed from accepted to testing
  • Resolution set to fixed

comment:9 Changed 3 weeks ago by zaytsev

  • Status changed from testing to closed
Note: See TracTickets for help on using tickets.