facebook / sapling

A Scalable, User-Friendly Source Control System.
https://sapling-scm.com
GNU General Public License v2.0
6.13k stars 280 forks source link

Mononoke binaries aren't actually published #922

Closed thoughtpolice closed 3 weeks ago

thoughtpolice commented 2 months ago

Hi,

I saw the announcement in the README about the Mononoke backend working. That's exciting! I'm happy to dig into it myself and play around, but...

It looks like the binary builds aren't working — for Mononoke, specifically. They do work for EdenFS. Note that none of the runs here have artifacts published and there's even a warning from the upload-artifact action that no paths were found to upload: https://github.com/facebook/sapling/actions/workflows/mononoke_linux.yml

Also: is a new Sapling client required to interface with Mononoke? I assume so, but I know nothing. Should there be a new release done in order to allow testing the two?

Matthew-Benson commented 2 months ago

I was able to follow the same steps for Mononoke's build process that's running in CI and got a mononoke binary, but I'm fairly sure the artifact path in this job step is wrong and that's why nothing gets uploaded. I'm not sure if that's intentional or not.

It has been a while, but I have in my notes that the path for the mononoke binary was /tmp/fbcode_builder_getdeps-ZhomeZrunnerZsaplingZbuildZfbcode_builder/installed/mononoke/bin/mononoke.

There's some detail about it in https://github.com/facebook/sapling/issues/812.

mzr commented 1 month ago

The builds of Mononoke aren't as well supported as builds of Sapling at this time. I don't recall we tried full setup of EdenFS, Monoonke and Sapling together outside of the internal use at Meta, but I might be wrong on this one. As for tinkering at the moment, perhaps @ahornby who has done some work around this might be better positioned to give some advice.

Also: is a new Sapling client required to interface with Mononoke?

The best supported use-case right now is Sapling as client for git repositories. You can read more about this in https://sapling-scm.com/.

thoughtpolice commented 1 month ago

Oh, I've used sl quite a bit for Git! But it was more that this commit that flew by recently in the Jujutsu Discord is what had me interested (as we are interested in our own non-Git backend): https://github.com/facebook/sapling/commit/e2f00faac305433c82075c88d20719e0dd4dac62

I knew that the binaries weren't previously supported, but it at least seemed like there were supposed to be (undocumented) binaries published via actions. Hence the original issue. :) I'm perfectly happy trudging around on my own otherwise, though.

ahornby commented 1 month ago

@thoughtpolice yep, you'll need to build your own binaries, looks like the paths might not be quite right to capture the ones actions builds. I think mononoke is quite likely to start if you manage to decipher the mysql and s3 bucket configs

ahornby commented 3 weeks ago

Sapling thrift client build added in https://github.com/facebook/sapling/pull/950

ahornby commented 3 weeks ago

Mononoke integration tests using it in https://github.com/facebook/sapling/pull/951