test build on MacOS X
It turns out that bunch of technical people want to use Mac OS to play with Resolver.
We should have at least sanity check that Resolver builds and installs on Mac OS to allow people to play with it easily.
There is no intent to make performance optimizations for Mac OS. Mac OS build is intended for playground usage and nothing else.
No child items are currently assigned. Use child items to break down this issue into smaller parts.
Link issues together to show that they're related. Learn more.
When these merge requests are accepted, this issue will be closed automatically.
Activity
- Owner
If the intended use case is just to play with it, I believe Docker is better suited for that purpose. It's easy to have automation and tests for it, unlike separate MacOS package.
Also, I think it'd be better to invest time into a cross-platform playground-usage container, rather than maintaining and testing specifically for Mac.
It's also my impression that people who just want to try and play with a project usually prefer Docker container, rather using a system package. Thus, improving our kresd container, perhaps adding some documentation and examples might be a better solution.
Edited by Tomas Krizek - Author Contributor
- Guest
I quite don't understand the question.
Is this about running kresd on mac OS? I think people in question will use Homebrew and install Knot Resolver from there. There is an up-to-date package. Docker runs on Mac but that is not usable if you want to use kresd as a local resolver.
Or is this about development? I don't understand what makes mac OS different form Linux in that aspect. I find the custom build system to be an entry barrier for many but that's not platform specific. I can just support finishing !685 (closed) which will improve the situation for everyone. Development in Docker (or VM) is clumsy and can be very uncomfortable, but I don't mind running functional tests in it if that helps.
- Author Contributor
Sorry for confusion, let me clarify: For us it is PITA to test on Mac OS because we simply do not have any developer using it on daily basis.
@tkrizek proposes to not bother with Mac OS and just provide Docker image which can be used for development.
I'm not sure if this is workable solution - what do you think? Would it be okay with you?
- Owner
I wasn't proposing Docker for development, but as a way for people to test and play with Knot Resolver.
However, since there already is a package in homebrew, I can see why people would use that instead. The issue with that is we have no idea whether our code even compiles on Mac by the time we do a release, let alone if the basic functionality works.
Is there any free infrastructure that can be used to test MacOS builds, perhaps something similar to COPR in Fedora? That way we could at least check the code compiles successfully.
- Guest
I'm willing to occasionally assist testing and fixing build on macOS (as far as I still have it) because it would be pity if it didn't run there.
We had been building and unit testing Knot DNS on macOS since forever. I don't know if something changed but one Mac mini was physically located in Brno and available in Jenkins. Travis CI has macOS support. And I remember @vcunat mentioning that NIX has some Mac infrastructure so maybe that could be helpful.
- Owner
Travis isn't bad CI for this, but it's not suitable for the situation when you want to fix a build (i.e. iterate fast). The same goes for hydra.nixos.org.
I see I still have working ssh to one cz.nic mac machine, so I think I can easily fix simple build problems that come up (not sure if I'll use nix for that) – and when something more difficult comes up, open a ticket for real mac users to look at.
Edited by Vladimír Čunát - Owner
Actually, travis still gets automatically ran once a week for master, though apparently I'm not getting e-mails about that (perhaps only the author of the built commit can get them). IIRC most of the errors are about flaky way of pulling dependencies via the script we have, so it's been a bit tedious ATM. E.g. now: https://travis-ci.org/CZ-NIC/knot-resolver/jobs/448252895
It might be a disadvantage of brew, as I can't recall having such a problem with the build farm job. Still, I suspect most users won't want nix, so if we want to support them...
Edited by Vladimír Čunát - Tomas Krizek mentioned in merge request !696 (merged)
mentioned in merge request !696 (merged)
- Vladimír Čunát closed via merge request !696 (merged)
closed via merge request !696 (merged)
- Vladimír Čunát mentioned in commit 2385eddf
mentioned in commit 2385eddf