1
0
mirror of https://github.com/facebook/proxygen.git synced 2025-09-14 01:01:48 +03:00

456 Commits

Author SHA1 Message Date
Kevin Yakar
1aef618c44 Prevent on-diff getdeps jobs from running when files in fboss/oss change
Summary: The files in `fboss/oss` are mainly just config files, docker files, and other things that our on diff jobs don't test anyway. By preventing them from running on changes made in this directory, we can save hours of test time on each relevant diff, as the on-diff jobs always have to wait in long queues.

Reviewed By: joseph5wu

Differential Revision: D81816095

fbshipit-source-id: d3c7e9dee96328c9364e69bc9111c610890fd7f2
2025-09-08 12:31:38 -07:00
Kevin Yakar
3ee29ee875 Prevent on-diff from running for docs changes
Summary: When making changes to docs, target determinator still spawns the on-diff jobs which makes getting changes in take hours. This adds a shipit.strip section to the fboss manifest so that the determinator will ignore changes made in the docs directory.

Reviewed By: shiva-menta

Differential Revision: D81794034

fbshipit-source-id: 1bdb068a665f93f33800044248f161b9e0fcd2d5
2025-09-05 11:28:49 -07:00
Kevin Yakar
a62aa2c01e Add gcc12.2 as an FBOSS dependency for getdeps.py
Summary: We want getdeps to be able to use gcc12 without having to build it from source. This adds it as a manifest file and depndency of the fboss project, instructing getdeps.py to fetch the rpm and then point to the path containing gcc12.2.

Reviewed By: huruinan

Differential Revision: D81594108

fbshipit-source-id: 7406524beb5a1fa8d2f452712f13cce77b30fa35
2025-09-03 22:06:03 -07:00
Hani Damlaj
f8c0d80a41 add manifest for c-ares
Summary: We're working on open sourcing our new `proxygen::coro` library. `proxygen::coro` has a dependency on c-ares, so this diff adds the c-ares manifest file to support oss builds

Reviewed By: mjoras

Differential Revision: D80456516

fbshipit-source-id: 66542834ae41553d875017aaf40238d53715af32
2025-08-20 12:58:44 -07:00
Manikandan Somasundaram
1ef26f6b69 Include more details in sensor_service_client output
Reviewed By: Scott8440

Differential Revision: D79850463

fbshipit-source-id: 7e80e238d2537da5f5c094dc4ed47ae8a9cc790f
2025-08-18 11:37:04 -07:00
Manikandan Somasundaram
983ea4f813 Add tabulate as a library for oss build
Reviewed By: Scott8440

Differential Revision: D79866807

fbshipit-source-id: cf238fbcccc4388604520b0b9e538f8af091409f
2025-08-18 11:37:04 -07:00
Alan Frindell
fb5e82555b getdeps manifest for moxygen
Summary: Now moxygen can be built using getdeps

Reviewed By: jordicenzano

Differential Revision: D67601759

fbshipit-source-id: 808cb95f3f968b3948429f3fbcc9c2c096b25fcb
2025-08-13 12:29:29 -07:00
Jacob Bower
86dd6e0694 Add ability to clone Git repo branches
Summary:
Unfortunately we can't just use `git.rev` in manifests to specify branches as we clone using `--depth`. This means `rev-parse` on a remote branch name will fail.

This diff adds `git.branch` which allows us to be explicit when we want a branch and so check this out in the first place. By doing this future uses of `rev-parse` will also understand the branch name.

Reviewed By: martindemello

Differential Revision: D79660472

fbshipit-source-id: 6b04158bdd72c28864322be28d88ee4e41f54bc8
2025-08-06 00:20:40 -07:00
Harsh Chokshi
c05a99fd50 Update CMake from 3.20.2 to 3.20.4
Summary:
getdeps has been using CMake 3.20.2 since December 2021 (D32805140).

CMake 3.20.2 maps `CMAKE_CXX_STANDARD 20` on MSVC to `/std:c++latest`.

CMake 3.20.4 includes [this change](3aaf1d91bf), which maps `CMAKE_CXX_STANDARD 20` on newer versions of MSVC to `/std:c++20`.

This change allows OSS builds to build with `CMAKE_CXX_STANDARD 20` without getting dumped into `/std:c++latest`, which may jump to even newer versions than desired.

 ---

This will allow us to build `fbthrift` OSS using C++ 20, and avoid OSS build breakages due to the discrepancy in C++ build standards (C++ 20 internally via Buck, C++ 17 in OSS via CMake) - e.g. D79365997.

Reviewed By: chadaustin

Differential Revision: D79590917

fbshipit-source-id: 552a68ae6854ff8482222b2fc164c7d6408e777a
2025-08-05 10:40:38 -07:00
Jacob Bower
01cd610bff Must not have '.' in manifest names as this breaks GitHub actions generation
Summary: There are probably some other rules too, although this is the only one I know of.

Reviewed By: martindemello

Differential Revision: D79474227

fbshipit-source-id: 175f266cb43f671da241e2d2ca289328b9e413d0
2025-08-05 00:38:34 -07:00
Jacob Bower
573aa3b6a1 Use getdeps.py to drive build of OSS CinderX
Summary: Add a "manifest" for CinderX allowing it and its dependencies to be built and tested with `getdeps.py`. There was no pre-existing "builder" that was appropriate for building a Python extension from source, but rather than adding one that's specific to Cinderx I've tried to write a general builder that uses `setup.py` to install the build into the Python install.

Reviewed By: alexmalyshev

Differential Revision: D79287319

fbshipit-source-id: d302bea10c6a79cdedc08cd93b0362259dea522b
2025-08-01 01:53:45 -07:00
Jacob Bower
8c1e7cfbc2 Add manifest for Meta Python 3.12
Summary:
This will be used to support the OSS build of CinderX with getdeps.py in upcoming diffs.

To make this work I had to teach getdeps.py how to pass `--external-branch` to `codesync`.

Reviewed By: alexmalyshev

Differential Revision: D79286425

fbshipit-source-id: f4b1066f8736fdb407f5bd75d3e2cc47b9e7d592
2025-08-01 01:53:45 -07:00
Jacob Bower
bd825eaf55 Bump python-setuptools source version
Summary: We want to make use of this for our OSS build of CinderX (see diffs further up the stack). However, the older version of setuptools seems to break in really weird ways I can't find work arounds for. Upgrading it seems to make most of the problems go away or avoidable so if nobody complains I'd rather fix things by just doing this.

Reviewed By: alexmalyshev

Differential Revision: D79195099

fbshipit-source-id: 2d65e8960e435536dc7dd7e6a142f1bd2df89a41
2025-07-30 13:59:45 -07:00
Mark Juggurnauth-Thomas
dd0ce7ce51 autocargo and getdeps fixes
Summary:
Fix some issues with rust/shed that are causing problems with the getdeps builds.

Specifically:
- Disable autoexamples for `quickcheck_arbitrary_derive` as they clash with the manually defined example.
- Fix the fbcode_builder path for fb303.
- Fix import in `buffered_weight` memory bound code by avoiding use of `anyhow::Ok`.
- Fix unused item warnings in non-linux builds.
- Upgrade the version of proc-macro-crate that non-buck builds use to one that is available in the vendored packages.
- Fix documentation in sampling and bounded_traversal.

Reviewed By: RajivTS

Differential Revision: D78992994

fbshipit-source-id: cc19878b5ae8ed7cbd884805849be797a96d3fba
2025-07-29 21:41:51 -07:00
Ravi Vantipalli
8d2a54a8da Change default SAI version to 1.16.3 for OSS
Summary: as titled

Reviewed By: huruinan

Differential Revision: D78948702

fbshipit-source-id: ecd5176c5964cf8dadd1df1c85f7d33bfec22761
2025-07-26 11:39:12 -07:00
Pepe Iborra
bd0af69cf6 unbreak getdeps build
Summary:
X-link: https://github.com/facebookincubator/hsthrift/pull/160

Make getdeps work again

Reviewed By: kbojarczuk

Differential Revision: D78560675

fbshipit-source-id: 7602f45c02eecda9ec5bda9b32a9b0d5d23766b7
2025-07-25 03:28:18 -07:00
Pepe Iborra
3b0b728210 Fix getdeps script
Summary: D78165684 added a new phony target that needs to be run before everything else

Reviewed By: kbojarczuk

Differential Revision: D78331749

fbshipit-source-id: d338d0628cc4432a6e02fb97e0f43bbffce70efa
2025-07-16 08:40:49 -07:00
Alex Hornby
26616c4c75 getdeps: update github windows runner and internal CI to VS 2022
Summary:
X-link: https://github.com/facebookincubator/fizz/pull/163

The github [windows-2019 actions image was retired by github](https://github.com/actions/runner-images/issues/12045),  so all jobs on it fail

Update to windows-2022 to get them running again

windows-2022 has [different tools and versions than windows-2019](https://github.com/actions/runner-images/issues/3949).  Notably it moves from Visual Studio 2019 (aka msvc 16.x) to Visual Studio 2022 (aka msvc 17.x), hence the update to buildopts.py discovery

In the course of regenerating the github actions I also fixed a couple of issues that stopped regeneration matching repo contents
  * a few workflows were using workflow_dispatch, added support
  * there were a trailing and double spaces for project_prefix, fixed (use ignore whitespace to remove this from review!)

Reviewed By: bigfootjon, yfeldblum

Differential Revision: D78019509

fbshipit-source-id: f8b0e9438bfc6b481b4207ad82bc1002e496a2d9
2025-07-09 22:23:08 -07:00
аэт
877d806214 Ninja update to avoid build fail on python3.13
Summary:
When building from scratch folly on python 3.13, here is the issue you will encounter:
```
Extract /private/tmp/follyt/downloads/ninja-v1.10.2.tar.gz -> /private/tmp/follyt/extracted/ninja-v1.10.2.tar.gz
Building ninja...
 ---
+ cd /private/tmp/follyt/extracted/ninja-v1.10.2.tar.gz/ninja-1.10.2 && \
+ /opt/homebrew/opt/python@3.13/bin/python3.13 \
+      configure.py \
+      --bootstrap
Traceback (most recent call last):
  File "/private/tmp/follyt/extracted/ninja-v1.10.2.tar.gz/ninja-1.10.2/configure.py", line 26, in <module>
    import pipes
ModuleNotFoundError: No module named 'pipes'
Command '['/opt/homebrew/opt/python@3.13/bin/python3.13', 'configure.py', '--bootstrap']' returned non-zero exit status 1.
!! Failed
```
(`python3.13 ./build/fbcode_builder/getdeps.py build --scratch-path /tmp/follyt`)

This is because the version `1.10.2` of ninja uses `pipes`, which has been deprecated since python 3.11 and removed in python 3.13. [^1]

This PR changes the ninja dependency from 1.10.2 to 1.12.1.

[^1]: https://docs.python.org/3/library/pipes.html

X-link: https://github.com/facebook/folly/pull/2392

Reviewed By: yfeldblum

Differential Revision: D76523565

Pulled By: Orvid

fbshipit-source-id: 8ba5b96b3a01334ab9b04e62c80588868273bb25
2025-06-25 13:48:17 -07:00
Simon Marlow
fc2595ea65 New Haskell Indexer
Summary:
Redesigned the schema and rewrote the indexer. Compared with the previous indexer:

* this captures a lot more xrefs (e.g. local variables)
* it has more information (distinguishes functions/classes/constructors etc.)
* it is much simpler and probably faster, because it doesn't go via hiedb, it reads .hie files directly.
* it is probably more correct, I fixed a lot of things.

The schema is carefully designed so that a Name uniquely identifies an entity and corresponds fairly closely to GHC's Name, including OccName. The main difference is we don't store Uniques, instead we distinguish local Names by including their ByteSpan.

There are a couple of snapshot tests, one for the plain indexer and one for the codemarkup layer, and a Glass regression test.

Not done yet:

* we can extract types from the .hie file too, and provide type hovers in Glass. That wouldn't be too hard.

* extracting more structure so that we can reconstruct data/class decls should be possible but it's not straightforward using .hie. I'm still thinking about how best to do that.

X-link: https://github.com/facebookincubator/Glean/pull/511

Reviewed By: rubmary

Differential Revision: D74400980

Pulled By: jjuliamolin

fbshipit-source-id: 6cb183b96ef1c7030c8b7278434f84a4d72ceb28
2025-05-30 06:27:39 -07:00
Kevin Yakar
1e2559cdbc Download libnl from github instead of infradead.org
Summary:
X-link: https://github.com/facebook/fboss/pull/433

X-link: https://github.com/facebook/fboss/pull/432

We currently download the libnl tarball from infradead.org, but it has had outages of variying timeframes. It interrupts our github workflows for too long, so we should download from the github repo instead.

Reviewed By: srikrishnagopu

Differential Revision: D74664457

fbshipit-source-id: af06c7f83624b88136ac5e133b4d1d34a201783f
2025-05-14 09:37:26 -07:00
Alex Hornby
1ddcc60c59 remove ws_airstore manifest
Reviewed By: fanzeyi

Differential Revision: D72462654

fbshipit-source-id: fae0f723d723c39f6d01b679d45bd0ed776873e7
2025-04-10 02:41:38 -07:00
Victor Zhang
07e9662d06 remove ZStrong as a fbcode_builder user
Summary:
X-link: https://github.com/facebookincubator/zstrong/pull/1266

ZStrong is moving away from fbcode_builder to use vanilla CMake. Removing this manifest so getdeps can stop considering the repo.

Reviewed By: terrelln

Differential Revision: D72397364

fbshipit-source-id: 5cbbd6edebe46a29aeddd93d848ad5a45e8d0aad
2025-04-04 16:46:12 -07:00
Alex Hornby
4b493ec12b fast_float is too old on ubuntu 24.04
Summary:
X-link: https://github.com/facebookincubator/zstrong/pull/1228

ubuntu 24.04 fast float is too old and causes folly build to fail, so exclude it from system packages and build from source.

ubuntu 25.04 plucky is due to get an updated version so not removing the deb mapping entirely: https://launchpad.net/ubuntu/plucky/+source/fast-float

Reviewed By: bigfootjon

Differential Revision: D71213548

fbshipit-source-id: b1fd7c28360a476c766da1099e56fd2aa5df3d55
2025-03-14 13:44:34 -07:00
Pieter De Baets
9003fed8f2 Use updated fast_float::parse_options
Summary:
X-link: https://github.com/facebookincubator/zstrong/pull/1216

`str_to_floating_fast_float_from_chars` can be simplified using the new upstream option `allow_leading_plus`. It does mean that we also support parsing `+nan` and `+infinity` which we previously didn't.

Mapping to `Inf` is also handled by the parsing logic, so this custom branch can be removed.

Reviewed By: Gownta

Differential Revision: D70392258

fbshipit-source-id: 62972a6cadd1547d8ff0a3162510ae5e979d459f
2025-03-03 09:33:30 -08:00
Jon Maltiel Swenson
b65505a389 Remove getdeps dependency on Python 3.8
Summary:
X-link: https://github.com/facebookincubator/zstrong/pull/1175

Instead of having fbthrift download and build Python 3.8 (which is ancient), users should be able to build fbthrift against the target Python environment. (This is consistent with how Python packages would normally be built/installed.)

Note that users can specify their target version of Python via the `PYTHON_LIBRARY` and `PYTHON_INCLUDE_DIR` CMake variables, as demonstrated in the command in the test plan.

Reviewed By: vladmihailescu

Differential Revision: D68510340

fbshipit-source-id: f94805de4220b2c107ed0aa0d57fd23b65b29bd2
2025-02-07 12:19:15 -08:00
Simon Marlow
8ab1a04e36 Add GHC 9.2.8 to github CI
Summary:
X-link: https://github.com/facebookincubator/zstrong/pull/1149

X-link: https://github.com/facebookincubator/Glean/pull/483

Reviewed By: josefs

Differential Revision: D68326850

fbshipit-source-id: 2cde0d2b133781ae7ffdfa59dfe782ba0bf74761
2025-01-21 01:37:32 -08:00
Simon Marlow
e3aa2255eb Support GHC 9.2.8 in the OSS build
Summary:
X-link: https://github.com/facebookincubator/Glean/pull/482

X-link: https://github.com/facebookincubator/zstrong/pull/1147

Reviewed By: josefs

Differential Revision: D68326697

fbshipit-source-id: 4aaebfe64b6b481ae1c8857f850c722507be4ff2
2025-01-20 03:15:03 -08:00
Jon Maltiel Swenson
f2e2414e2a Minor tweaks to xz and libiberty builds
Summary:
X-link: https://github.com/facebookincubator/zstrong/pull/1145

This diff contains a few changes to the xz and libiberty getdeps builds that are required
in order for folly to build as a shared library, which in turn is needed for folly's Python
extensions to build correctly.

Reviewed By: hyuen

Differential Revision: D68252093

fbshipit-source-id: 036bc4a0e7bf9a11f0a4aa6ec0014f7935afbb5b
2025-01-16 16:31:42 -08:00
Victor Zverovich
6c1d916d2f Merge mustache between fbcode and xplat
Summary:
Demonstrate feasibility of merging fbcode and xplat copies of thrift on a single target, `thrift/compiler/detail/mustache:mustache`. To this end:

* Switch fbcode_builder from fbcode to xplat.
* Map dependencies to the correct variants for fbcode.
* Exclude mustache directory from target remapping. Once the merge is complete remapping rules will no longer be necessary at all, further reducing maintenance burden and complexity.
* Remove one copy of mustache (~2.6kLOC).

This also demonstrates that autodeps are working as expected after the fix in D67919546.

Reviewed By: yoney

Differential Revision: D67676056

fbshipit-source-id: ba3854c0997c4dd10f47a5e623381c3dadef4ecc
2025-01-14 10:09:58 -08:00
Yifan Yuan
6d89155168 fixing typo in libunwind
Summary:
X-link: https://github.com/facebookincubator/zstrong/pull/1111

as title

Reviewed By: ahornby

Differential Revision: D68023567

fbshipit-source-id: 388befe8d6a080b7cb912764508fa9daf092082c
2025-01-13 01:54:29 -08:00
Yifan Yuan
88245e64bc update libunwind version to avoid aarch64-related issues
Summary:
X-link: https://github.com/facebookincubator/zstrong/pull/1108

the current libunwind v1.8.1 has compiler issues with aarch64 (https://github.com/libunwind/libunwind/issues/702). This has been fixed in more recent libunwind version.

Reviewed By: chadaustin

Differential Revision: D67800413

fbshipit-source-id: 6e924cf74909063be2319eb2263592f4c074e093
2025-01-10 01:29:14 -08:00
Jolene Tan
02a91d647b Upgrade liboqs to 0.12.0
Summary:
X-link: https://github.com/facebookincubator/zstrong/pull/1099

Fizz requires liboqs, if present, to be version >=0.11.0

Reviewed By: frqiu

Differential Revision: D67806173

fbshipit-source-id: 2480028c023269ae5ff196a1aa102cb32677b2c9
2025-01-09 13:44:45 -08:00
Pranav Bhandari
f9acda3885 Add libaio as a library
Summary:
X-link: https://github.com/facebookincubator/zstrong/pull/1103

CacheLib OSS builds are failing because getdeps assumes libaio is already installed but for navy is a requirement for us to compile folly successfully.

Reviewed By: fanzeyi

Differential Revision: D67814070

fbshipit-source-id: 29d9b7038178bffa459fc7b983bf0eb7f3a86598
2025-01-06 10:49:37 -08:00
Pranav Bhandari
6b2dd9af5d Migrate OSS build from custom to getdeps
Summary:
X-link: https://github.com/facebookincubator/zstrong/pull/1098

We have been manually syncing our builds when there is a change in builds of our dependencies (folly, thrift). This has been one of the major source of work in OSS maintenance. Migrating to getdeps will automatically sync the dependencies which means we only have to manage our own builds.

NOTE: There is a dependency of getdeps on zlib which requires us to first run sudo dnf install -y zlib-devel before we successfully run getdeps. I don't think this should affect the OSS build as it is a getdeps dependency.

Reviewed By: haowu14

Differential Revision: D65844211

fbshipit-source-id: 8e89e670cdec4a21ca7aba48ae58b5b72ddbf832
2024-12-27 13:48:31 -08:00
Alex Hornby
8f72b80c14 jom (parallel nmake) build for openssl windows
Summary:
X-link: https://github.com/facebookincubator/zstrong/pull/1084

openssl build on windows is slow due to nmake being single threaded

fortunately the Qt developers had the same problem and produced jom - a nmake compatible make that adds the /j<parallelism> flag

add a jom manifest and use it for the openssl build on windows

Reviewed By: bigfootjon

Differential Revision: D66818562

fbshipit-source-id: 88938dbc862da18ae7f75df51aa99bb669aae71a
2024-12-05 14:41:06 -08:00
Alex Hornby
1cf2c66666 make openssl install less confusing, align openssl version
Summary:
X-link: https://github.com/facebookincubator/fizz/pull/152

X-link: https://github.com/facebookincubator/zstrong/pull/1073

On linux getdeps uses system openssl,  on macOS we mostly use the homebrew one on github CI. Both of these are openssl3.x,  however the fallback build from source version is still set as openssl1.1.  This can be confusing, giving the impression getdeps based builds need openssl1.1
* Update the openssl manifest source url to openssl-3.0.15,  this version picked to match the ubuntu 22.04 LTS system packages.

The other potentially confusing part was that the openssl source tarball was downloaded even when on on a platform like Linux where openssl is always taken from the system packages.
* Make the download configurable so that does nothing if satisfied from system packages, and no need to check the cache.

Reviewed By: ckwalsh

Differential Revision: D66495352

fbshipit-source-id: 4d24bb82bfabe44c7764b819de7f4a05f80daed1
2024-12-02 01:42:44 -08:00
Alex Hornby
edf45fc40f fix hangs in watchman oss ubuntu tests by excluding liblzma-dev
Summary:
X-link: https://github.com/facebookincubator/zstrong/pull/1072

watchman oss tests on ubuntu are [hanging 2 hours on github and then failing](https://github.com/facebook/watchman/actions/runs/11989130985/job/33425158244), and locally show errors.

One clue was that tests worked locally on centos stream 9 and fedora 40, pointing to one or more of the ubuntu system packages being the trigger.

Turns out that having the ubuntu xz aka liblzma-dev system packages linked is triggering the issue on both ubuntu 22.04 and 24.04.  Disabled system packages for xz and for glog and libunwind that also bring in the xz system packages on ubuntu.

Why ubuntu's liblzma triggers this problem is unknown at this time.  This change seems to be an improvement in that we get test results, with two tests showing intermittent failutes on ubuntu-22.04 runs.

Reviewed By: ckwalsh

Differential Revision: D66446570

fbshipit-source-id: 8a631e51012c7b90e867268451fd023304039589
2024-11-25 09:59:30 -08:00
Paul Cruz
91f6c336c8 Allow systemd libs to be built from source
Summary:
X-link: https://github.com/facebookincubator/zstrong/pull/1066

Changes to enable building systemd libs from source (rather than relying on
system packages i.e. systemd, systemd-devel).

From the FBOSS perspective, this is desirable because statically linking the dependencies into the binaries makes them easier to package without relying on similar state between build and runtime environments.

Reviewed By: somasun

Differential Revision:
D65827936

Privacy Context Container: L1125642

fbshipit-source-id: c0ba2f0690466a969bb4d9a4db664b9a5b3d3d79
2024-11-18 10:53:53 -08:00
Paul Cruz
36da42c390 Workaround build failure for range-v3 example code
Summary:
X-link: https://github.com/facebookincubator/zstrong/pull/1051

In `range-v3`, the calendar example app fails to build. This was not detected when building range-v3 itself because the calendar app is only added as a buildable executable when `boost` is available ([code](https://github.com/ericniebler/range-v3/blob/master/example/CMakeLists.txt#L32)), but `boost` is not marked as a required dependency of `range-v3` in the manifest ([code](https://www.internalfb.com/code/fbsource/fbcode/opensource/fbcode_builder/manifests/range-v3)).

During FBOSS OSS builds however, `boost` is pulled in as an indirect dependency, so the build will fail: P1677307273

This change omits building the example code.

Reviewed By: harshitgulati18

Differential Revision: D65774962

fbshipit-source-id: 7f9f1238f08d6785981a53ae669989b95c63fa43
2024-11-12 07:35:42 -08:00
Justin Kim
689395cf7e SlotPath topology config validation.
Summary:
X-link: https://github.com/facebookincubator/zstrong/pull/1036

X-link: https://github.com/facebook/fboss/pull/285

__Why__
1. This is pre-req for other services to validate "PM generated data". e.g `platform_manager::ConfigValidator().isValidSlotPath(...)`
2. Beefing up SlotPath validation. See T205471819 more details.

__What__
1. Dropped ConfigValidator call in `Utils::parseDevicePath` because we can assume that config paths are valid. If ill-input is provided, unexpected behaviour.
2. Added additional regex for group capturing because it doesn't seem to work with a single regex for some reason...
3. Added topological validation on slot path.

__Next__
1. DeviceName validation. basically does device definition exist in the slot path?
2. Suppose VersionedPmUnit...

Reviewed By: somasun

Differential Revision: D64798493

fbshipit-source-id: 9ca1936bf81250bda1fc6b9d800221055b6b2f48
2024-11-05 00:44:44 -08:00
Paul Cruz
ff274e80ce Add systemd libs in manifests
Summary:
X-link: https://github.com/facebookincubator/zstrong/pull/1034

Add systemd lib as a dependency for fboss via getdeps manifest in preparation for D64922139.

This is just to unblock the above diff. A future fix will be needed to add the build mechanism for systemd libs from source.

Reviewed By: kevin645

Differential Revision: D65299072

fbshipit-source-id: 65c4df639a5119f1af58b3c48b612a9da7999182
2024-11-01 16:14:12 -07:00
Alex Hornby
d76ddb273b getdeps: enable -fcoroutines for GCC in fb303 and eden
Summary:
X-link: https://github.com/facebookincubator/zstrong/pull/1019

Enable coroutines on GCC for fb303 and eden OSS cmake builds to match folly and [fbthrift](197890bbed/CMakeLists.txt (L64-L75)).  This stops the eden tests from immediatedly core dumping when they try to open up the thrift server

So can check if core dumps:
   * fix to eden main.py to stub par_telemetry in OSS where its not available
   * add the missing getdeps dependency from eden to sapling for tests (it needs the sapling binaries for the tests torun)

Reviewed By: jdelliot

Differential Revision: D64911998

fbshipit-source-id: f6316908314bd821dd8c0e5afb5fe4584f5be23e
2024-10-24 13:22:40 -07:00
Alex Hornby
0e8c86a498 get mononoke green in github CI
Summary:
X-link: https://github.com/facebookincubator/zstrong/pull/1018

* test-cross-repo-mononoke-git-sot.t deleted, remove from exclusion list
* exclude flaky integration tests

changes done to make this easier:
 * python-click wasn't found in sapling dir, added package mappings for rpm and deb so that we can pick up the installed version
 * add a bit more info to the "unknown python exception" message from hg
 * reduce paths set by getdeps, no point listing non-existing dir, makes it easier to see what is happening

X-link: https://github.com/facebook/sapling/pull/974

Reviewed By: quark-zju

Differential Revision: D64827811

Pulled By: ahornby

fbshipit-source-id: 82b4fa224d8ce957ef85e5ecf1e220f71c93e6c4
2024-10-24 01:49:45 -07:00
Alex Hornby
62b5ac0219 sapling: disable flaky tests on github getdeps cli
Summary:
X-link: https://github.com/facebook/sapling/pull/973

X-link: https://github.com/facebookincubator/zstrong/pull/1017

* disable flaky tests as per comment in Makefile
* fix Makefiles JOBS sed expression to be macOS make compatible
* remove Makefile comment in multiline shell, macOS make didn't like it
* remove hexdump from deps for macOS where it is a system util

Reviewed By: quark-zju

Differential Revision: D64781284

fbshipit-source-id: a7f52c67d430219dcf7173b8d03cafe32fe41989
2024-10-23 02:56:47 -07:00
Alex Hornby
4d1bbb0be7 getdeps: fix xxhash build on windows
Summary:
X-link: https://github.com/facebookincubator/zstrong/pull/1015

fbthrift needs xxhash but xxhash manifest had no builder defined on windows

Add xxhash windows build support using cmake

X-link: https://github.com/facebook/fbthrift/pull/624

Reviewed By: andreacampi

Differential Revision: D64592635

Pulled By: ahornby

fbshipit-source-id: 5dc558e8786fa1264ba0e89026ca750d1a285dea
2024-10-18 03:30:23 -07:00
Alex Hornby
3860d2e77c getdeps: add xxhash ubuntu and homebrew packages, fix actions generation and regenerate
Summary:
X-link: https://github.com/facebookincubator/zstrong/pull/1010

EdenFS build on github CI was failing with missing xxhash include: https://github.com/facebook/sapling/actions/runs/11311478649/job/31457761727#step:108:3838

Add package mappings to the xxhash manifest

When I went to regenerate the github actions found I'd previously introduced a bug in the actions generation with a mis-merged run_tests check.  Fix it and regenerate

X-link: https://github.com/facebook/sapling/pull/966

Reviewed By: genevievehelsel

Differential Revision: D64302134

Pulled By: ahornby

fbshipit-source-id: 3384dab4f31e202881310e2b5369bb23fb533a1b
2024-10-14 12:17:46 -07:00
Paul Cruz
766cb9b5a7 Add xxhash as a dependency
Summary:
X-link: https://github.com/facebookincubator/zstrong/pull/1008

This doesn't seem to be a new dependency, but build errors only recently started surfacing for OSS:
https://www.internalfb.com/sandcastle/workflow/3098476543635661395

Reviewed By: robertroeser

Differential Revision: D64120664

fbshipit-source-id: 64d6fa130fa41bcbb9a40003b3b02eed38123641
2024-10-11 12:38:48 -07:00
Alex Hornby
f2be75f983 sapling getdeps cli build and test support for python 3.12
Summary:
Ubuntu 24.04 and Fedora 40 are both python 3.12 based.  Update sapling's OSS getdeps build to allow build/run/test on python 3.12 while keeping 3.10 support.

* distutils is deprecated in python 3.12 stdlib, but fortunately setuptools is pretty similar and includes a vendored distutils, so:
  * added a manifest so we get python3-setuptools installed.
  * setup.py: removed deprecated usage like `find_executable` in favor of `shutil.which()`, also removed some super old xcode 4/5.1 detection I found
* util.py makedate():  datetime.utcfromtimestamp is deprecated in 3.12, so updated to use non-deprecated methods. Tested with test-command-template.t which shows tz offset.
* Makefile: disabled test-eager-exchange.t on 3.12 where updating the expectation to run on 3.12 and 3.10 is tricky (debug output differs)
* tests modified to run on 3.12 and 3.10:
  * test-import-eol.t:  updated for invalid escape sequence warnings
  * test-install.t: updated to filter out message that appears in different order on 3.12 vs earlier versions
  * test-merge-driver2.t: match different debug output in 3.12, remove check for mercurial package
  * test-sign-commit.t: updated to add --yes for newer gpg that python 3.12 using distros have
* found some tests needed bunzip2, so update manifest for sapling and bz2 to install it

X-link: https://github.com/facebook/sapling/pull/964
X-link: https://github.com/facebookincubator/zstrong/pull/1005

Reviewed By: quark-zju, singhsrb

Differential Revision: D63958742

Pulled By: ahornby

fbshipit-source-id: 460c42eb1315f2e1631c74d356e4976469104c1b
2024-10-11 03:39:48 -07:00
Alex Hornby
295872b122 run .t tests for getdeps sapling cli build
Summary:
Connect up the sapling *.t tests so that github CI has visible cli test status.

To get them to run:
 * some needed fbpython on path. I included a shim for that in the test makefile target.
 * test-rust-hooks: Command not found message,  added a glob
 * test-identity.t: add a glob for the sapling version
 * test-eolfilename.t: output order was unstable, added sorts to make stable
 * helpers-testrepo.sh: fix assumption that system hg would be able to read test repo, check if its Sapling first.
 * added a manifest for the hexdump utility some of the tests required
 * excluded a few remaining tests (see comments in Makefile for reason)
 * fixed getdeps support for generating actions steps for test only dependencies

NB  the tests run as "hg".  The expectations would need to be updated if we were to run as "sl"

X-link: https://github.com/facebook/sapling/pull/963
X-link: https://github.com/facebookincubator/zstrong/pull/1004

Reviewed By: quark-zju

Differential Revision: D63958737

Pulled By: ahornby

fbshipit-source-id: 75c0d39258c320100d8d02b31390994bc2f3a3ce
2024-10-07 13:46:20 -07:00