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

Haiku CI #6736

Closed
slouken opened this issue Dec 2, 2022 · 9 comments · Fixed by #6739
Closed

Haiku CI #6736

slouken opened this issue Dec 2, 2022 · 9 comments · Fixed by #6739
Milestone

Comments

@slouken
Copy link
Collaborator

slouken commented Dec 2, 2022

It would be great to have a Haiku CI workflow so we can verify we're not breaking Haiku with sweeping changes

@slouken slouken added this to the 3.x milestone Dec 2, 2022
@madebr madebr mentioned this issue Dec 2, 2022
@icculus
Copy link
Collaborator

icculus commented Dec 5, 2022

Spent a little time with https://github.com/trungnt2910/haiku-cross-compiler to see if we could do this without qemu, and haven't quite gotten there yet:

  • x86_64 built and could compile SDL for Haiku on Linux, but failed to link because it is missing libstdc++.a for some wild reason.
  • gcc2/x86 cross-compiler built, but failed to compile even a "hello world" program: crti.o is missing for some wild reason.
  • None of the other targets could build a cross compiler at the moment.

This was just a quick googling and running a shell script, more research is needed, but I have other things I need to be working on, so I'll fight with this sometime later and try to get better results.

@slouken
Copy link
Collaborator Author

slouken commented Dec 5, 2022

Maybe instead we should spend time moving some of the GitHub workflows to once daily and add this to it?

The ones that should be run every commit are:
Build
Build (Android)
Build (iOS/tvOS)

I think everything else can be moved to once daily

@slime73
Copy link
Contributor

slime73 commented Dec 5, 2022

Should the once-daily builds also run for regular commits and PRs which modify files in relevant platform folders? I took a quick look at Github Actions support for that the other day and it seems fairly straightforward: https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#onpushpull_requestpull_request_targetpathspaths-ignore

@icculus
Copy link
Collaborator

icculus commented Dec 5, 2022

Maybe instead we should spend time moving some of the GitHub workflows to once daily and add this to it?

Yes, and that's the plan, over in #6624 ...even there I'd rather not use qemu, but then again, maybe I also don't care if the daily build finishes at 4:00am instead of 3:05am, if this is either going to be more accurate to real world build setups or less effort from me, or both. :)

So, okay, if the Haiku project at some point has a "click here to download a tarball with a cross-compiler setup you can untar and use on Linux" as a maintained thing, then I think we switch to that in a heartbeat, but for now let's do @madebr's qemu thing in #6739.

Let's just change that to be the first daily-only build before we merge it.

@icculus
Copy link
Collaborator

icculus commented Dec 5, 2022

and PRs which modify files in relevant platform folders?

This is a good idea, too; the Haiku-specific files don't change often.

@slouken
Copy link
Collaborator Author

slouken commented Dec 5, 2022

Yeah, that's a great idea.

@madebr
Copy link
Contributor

madebr commented Dec 5, 2022

The cross compiler thing sounds nice too. We can always combine both by only running the self tests in qemu.

@Wohlstand
Copy link
Contributor

I thinking to craft a cross-toolchain for my needs, but if somebody makes one, please share (I'll share mine if I make it by myself once upon, depending on my mood)

@Wohlstand
Copy link
Contributor

https://github.com/trungnt2910/haiku-cross-compiler

That's a very old toolchain, we need to craft a new one using the latest Haiku stuff.

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

Successfully merging a pull request may close this issue.

5 participants