-
Notifications
You must be signed in to change notification settings - Fork 59
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
Add support for all cross targets #72
base: master
Are you sure you want to change the base?
Conversation
@Susurrus thanks for the PR. I don't think it makes sense to add the thumb targets here. They are very different from the other "std" targets. Pretty much no binary crate will compile for the thumb targets and for the std targets so deploys don't make sense for them. I think it would be better to remove them or strongly note that they don't support std. Could you look into the errors. I think there's one target which is not currently supported by cross (it needs to be removed) and some targets for which cross is not installing std (that needs to be fixed in cross) |
@japaric I've commented out the thumb targets with a clear explanation. This should prevent people (like I did) try to add them in future PRs because they saw cross supported them. I've corrected those 2 platforms that didn't actually exist and I've also added Android targets that I didn't add the first time and not running tests, which I think is appropriate. This is still WIP as I need to wait and see how Travis shakes out with this revision. |
The two ARM/musl targets are both failing because of a bug in musl (see here). Windows is failing with a really weird bug that may be a bug in glibc in msys. And Mac is failing because it couldn't download necessary files from GitHub I think. Maybe need to through a retry into the code there. And dragonfly is failing because it's unsupported, so I'm going to remove it. |
Hmm, those targets were working before and I think we haven't change their docker images in a while. So maybe the problem originates in the libc or gcc crate? As in a new release of one of those crates broke these targets. |
It has to do with missing |
We want to support android and some of these other targets with |
So I'm assuming the mac build that's stalled right now will finish successfully like the rest of them, so then it's just the musl builds that are failing. Should I just remove them and post issues about them in the issue tracker or leave them in but commented out with a |
iOS could be added too. Here's all the ones I was able to get running with trust / cross: https://travis-ci.org/CryZe/livesplit-core/builds/248531278 |
@CryZe Awesome, thanks for the heads up. Added those to the list as well. |
Also, it's interesting that you are able to get |
@CryZe Did you have any problems getting |
Yeah I did, so I hacked this in: https://github.com/CryZe/livesplit-core/blob/master/ci/install.sh#L13-L29 There's probably a cleaner solution. |
@CryZe Do you think that's the right way to support those targets? Seems weird the other targets don't need similar code. |
I don't think that's the right way. I would try to figure out why cross' iOS targets are different. I assume the docker images just have core or something. |
I think iOS builds are just done on Mac directly, they aren't done on iOS or in a docker image. So these might end up needing to be special-cased because of that. |
Adds Android, iOS, Linux/ARM, and Windows. Bare-metal thumb targets are listed, because they are supported by cross, but they aren't enabled by default as they don't support std and will likely not but used by most projects. I've left off the *linux-musleabi* targets as they are failing with an odd error that is likely due to musl itself.
@CryZe I noticed that you aren't testing on |
As |
I can't find any reason as to why I have turned them off. So I guess I just assumed they wouldn't work. |
Well I'm getting the following error. I'd be curious if you're getting the same (I'd expect you would).
|
@japaric Just wanted to ping you on this? Shouldn't require too much review to get this merged. |
@Susurrus sorry, this PR fell off my radar. It LGTM in principle. I'm actually surprised that the ios targets seem to work. Could we add the Has anyone tested the ios binaries? I'd rather not do deploys / binary releases of targets that are unknown to actually work ... I know that the android targets work fine in Termux, at least. |
@japaric This was merged into cross in cross-rs/cross#89. I don't have an iOS system to test on, so I guess this is stalled until someone steps up for that? |
This also consolidates platform targets so it's easier to see what's what (copies from cross' .travis.yml).
The one thing that really needs to be investigated here is which targets should have
DISABLE_TESTS
set. I figureddragonfly
should because all the BSDs do, and I would think that thewindows
andbare-metal
targets should as well, but I didn't set that initially.