yrnkrn / zapcc

zapcc is a caching C++ compiler based on clang, designed to perform faster compilations
Other
1.25k stars 60 forks source link

prebuild Mac binaries #15

Closed ghost closed 6 years ago

ghost commented 6 years ago

can you set up some CI to provide automated builds please?

yrnkrn commented 6 years ago

This is a great idea. I do not have any resources for the task, and would welcome any help you can provide.

ghost commented 6 years ago

If by resources you mean machines I think you can set up a travis account for free for open source projects

https://docs.travis-ci.com/user/reference/osx/

yrnkrn commented 6 years ago

Both machines and time (see #16).

Did try to use travis CI in 46b4870199fdfac7806b5486f61e91f71f530736 and 8baab1fb3dc85e6819c9e8fcdab1ba7e9c728501 with Linux. Compute was very slow, like an old Dual Core, and the build exceeded maximum time limit for open source projects. Reverted in 5d3778f1226894b4735eae3b09da72acae6e2578.

Since then I've been told that travis CI may provide better compute and/or time limit but does not have the time to look into.

Feel free to setup the whole thing! once it works open a pull request and I'll merge it.

ghost commented 6 years ago

and the build exceeded maximum time limit for open source projects

okay that is a pity thanks for looking into it though !

(see #16).

what should I see in https://github.com/yrnkrn/zapcc/issues/16 ?

ghost commented 6 years ago

we could ask https://github.com/Homebrew/brew because they already provide prebuild llvm5 and llvm6 binaries as well as clang gcc etc.

yrnkrn commented 6 years ago

Referenced #16 before answering, I meant the spare time. Homebrew idea sounds great - I won't have time to pursue it - if you can please do.

ghost commented 6 years ago

if you can please do.

made an attempt

https://discourse.brew.sh/t/zapcc-formula-help-wanted/2492

ghost commented 6 years ago

I think a basic requirement for homebrew would be to start tagging releases though. But maybe see what they have to say first.

yrnkrn commented 6 years ago

Thanks! I'll with help tags as required

SMillerDev commented 6 years ago

Release tags are one part. Another is that homebrew is a package manager not a CI tool. If you were to propose a formula to homebrew-core there would be macOS package builds whenever an update is submitted, but those are not normal binaries. Nor would they really be available outside homebrew.

ghost commented 6 years ago

Another is that homebrew is a package manager not a CI tool.

sure

but given that he already tests the project on linux (which is the only thing he can do) I think it is reasonable to expect it to build on Mac as well given that it does not have a crazy amount of dependencies or anything.

Nor would they really be available outside homebrew.

they would not actually need to be because every Mac user just should use homebrew

yrnkrn commented 6 years ago

There had been fixes for MacOS in #5 and #7, but no definitive "it works" answer yet. I test zapcc on Windows (x86_64-w64-mingw32 target) and Ubuntu 18.04 x64, but not MacOS.

ghost commented 6 years ago

ok I will try to test later if possible but maybe it will take some days depending on when I get enough time.

ghost commented 6 years ago

https://azure.microsoft.com/en-us/blog/announcing-azure-pipelines-with-unlimited-ci-cd-minutes-for-open-source/

- no timeouts

yrnkrn commented 6 years ago

Thanks! I'll have a look time permitting

ghost commented 6 years ago

I'm sorry to have to report back that I read wrong in the announcement, you only get unlimited CI minutes but not unlimited minutes per build, bummer, sorry for the noise/ confusion.

news from the news https://www.reddit.com/r/programming/comments/9enz31/announcing_azure_pipelines_with_unlimited_cicd/e5sda7y/

you can specify up to 360min runtime in the yaml file