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

Run some CI tasks on FreeBSD / OS X #1153

Open
andychu opened this issue Jun 1, 2022 · 2 comments
Open

Run some CI tasks on FreeBSD / OS X #1153

andychu opened this issue Jun 1, 2022 · 2 comments
Labels

Comments

@andychu
Copy link
Contributor

andychu commented Jun 1, 2022

dev-minimal should be quite easy.

https://cirrus-ci.org/ -- has FreeBSD I believe

https://circleci.com/docs/2.0/hello-world-macos/ -- has OS X

@andychu andychu added the c-i label Jun 1, 2022
@davidchisnall
Copy link

GitHub Actions and Azure Pipelines both also have free macOS CI. There's also the vm-actions job that runs on the free macOS GitHub Action Runners and runs a FreeBSD / OpenBSD / Solaris VM.

@andychu
Copy link
Contributor Author

andychu commented Jun 2, 2022

OK thanks, didn't realize that https://docs.github.com/en/actions/using-github-hosted-runners/about-github-hosted-runners#about-github-hosted-runners

What I'll do is ensure that a basic bin/osh and bin/oil always works on other OSes.

And type checking with MyPy would be nice as well

Hopefully that will attract contributors and then other tools can be ported


At a high level the large amount of metaprogramming / codegen meant that our tools were constantly in flux. So porting them to other OSes was a big yak shave. It's harder to port the tools than to port the shell!

The tools are settling down, except for mycpp, which may need a rewrite. After they settle down, it should be more economical to ensure they work on other OSes

I also use Oil as an opportunity to try out every tool, e.g.

  • I just upgraded Clang to try out the new-ish -ftime-trace profiling (and parallelized our Ninja build as a result). You can build with both GCC and Clang and there are actually significant differences
  • I tried out uftrace, perf, tcmalloc
  • We have GDB pretty printers for ASDL structures (which basically work in Clion too)

So this large amount of tooling is the stuff that is not portable ... but you really don't need it to make basic modifications, and we should allow that on other OSes

other improvements on deck

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

No branches or pull requests

2 participants