1
0
mirror of https://github.com/facebook/proxygen.git synced 2025-09-18 10:41:02 +03:00

952 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
e16bbbd4f2 use find_package(c-ares) instead of FindCares.cmake
Summary:
clearly made a mistake here, lack of cmake experience (thanks mingtaoy):

c-ares ships a CMake package (c-ares-config.cmake) that we should use instead of our bespoke FindCares.cmake

Reviewed By: afrind

Differential Revision: D81248145

fbshipit-source-id: 15b5595bac25f08dcf5faa7c3fb2efb10da3fc7b
2025-08-29 21:45:33 -07:00
Qiye Tan
432e32f4ab Add CMake option to prefer static deps rather than dynamic deps
Summary:
We would like to build a version of torchcomms that has minimal dependencies on dynamic libraries. I saw that there is an option `USE_STATIC_DEPS_ON_UNIX` introduced in D17228181. However, currently when we enable `USE_STATIC_DEPS_ON_UNIX=ON` to build folly, it will fail by
```
-- Could NOT find LIBUNWIND (missing: LIBUNWIND_LIBRARY)
CMake Error at build/fbcode_builder/CMake/FindLibEvent.cmake:68 (message):
  Could NOT find libevent.
Call Stack (most recent call first):
  CMake/folly-deps.cmake:73 (find_package)
  CMakeLists.txt:145 (include)

-- Configuring incomplete, errors occurred!
```

That is because we only set ".a" to `CMAKE_FIND_LIBRARY_SUFFIXES` and there exists a special library libunwind that does not provide static linking library.

To set `CMAKE_FIND_LIBRARY_SUFFIXES = ".a" ".so"`, we can let cmake first look for `libname.a` and then `libname.so` if `.a` is not found.

Reviewed By: d4l3k

Differential Revision: D81062853

fbshipit-source-id: ce901b03473c82032c75742302ee3ed875d6af49
2025-08-27 03:42:37 -07:00
generatedunixname89002005307016
4a3c6524a7 Add missing Pyre mode headers] [batch:12/N] [shard:8/N]
Differential Revision: D80923940

fbshipit-source-id: 7ccd404d845fa161953e55ca5ab84a4ca99c0180
2025-08-26 01:13:28 -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
Alan Frindell
82a35c9db6 Make include rewriting a build option using existing shipit.pathmap
Summary:
Refactor the include rewriter feature to be a build option rather than a separate builder type, and use the existing `shipit.pathmap` section instead of creating a new `include.pathmap` section.

**Before:**
```
[build]
builder = include_rewriting_cmake

[include.pathmap]
fbcode/your/project = your_project
```

**After:**
```
[build]
builder = cmake
rewrite_includes = true

[shipit.pathmap]
fbcode/your/project = your_project
```

This approach is more flexible and reuses the existing pathmap functionality rather than creating a duplicate configuration section.

**Changes made:**
- Added `rewrite_includes` as optional field in build section schema
- Modified `CMakeBuilder._build()` to check for `rewrite_includes = true` and run include rewriter when enabled
- Updated include rewriter to use existing `shipit.pathmap` section instead of new `include.pathmap`
- Removed `include.pathmap` configuration option from manifest schema
- Removed `IncludeRewritingCMakeBuilder` class entirely
- Removed `include_rewriting_cmake` builder mapping
- Removed non-existent `has_section` check that was causing issues
- Added logic to strip `fbcode/` and `xplat/` prefixes from shipit.pathmap source paths since these prefixes don't appear in `#include` statements

**Prefix Handling:**
The shipit.pathmap may contain entries like:
```
[shipit.pathmap]
fbcode/proxygen/lib = proxygen
xplat/folly = folly
```

But `#include` statements don't use these prefixes:
```cpp
#include "proxygen/HTTPMessage.h"  // not "fbcode/proxygen/HTTPMessage.h"
#include "folly/String.h"          // not "xplat/folly/String.h"
```

The include rewriter now automatically strips these prefixes before pattern matching.

The include rewriting functionality remains unchanged - it still uses the same `include_rewriter.py` module but now uses the existing `shipit.pathmap` configuration with proper prefix handling.

Reviewed By: bigfootjon

Differential Revision: D79846033

fbshipit-source-id: c8a70c44198119a2195c66f3d676b8268e3ed9ed
2025-08-13 12:29:29 -07:00
Victor Zverovich
1ae8f7a465 Fix the add_fbthrift_cpp_library CMake function
Summary: `${service}_processmap_serialization.cpp` was mistakenly added to source files in D80006546 while we do not generate this file. Fix it to unbreak fboss and other users of `add_fbthrift_cpp_library`.

Reviewed By: tanquer

Differential Revision: D80189355

fbshipit-source-id: e24f3d38ca8f1762c2636c6c4e4bc5e80aa0699d
2025-08-13 12:26:39 -07:00
Qiye Tan
0303b3b8b7 Revert D80147769: Fix the OSS build
Differential Revision:
D80147769

Original commit changeset: a16a71c680a0

Original Phabricator Diff: D80147769

fbshipit-source-id: cd86b803466355ba5d4b1817c16a3c864771ac01
2025-08-13 10:28:52 -07:00
Qiye Tan
22b10cd226 Fix the OSS build
Summary: Typo introduced by  D80006546 which fail the ncclx oss build.

Reviewed By: max7255, vitaut

Differential Revision:
D80147769

Privacy Context Container: L1081744

fbshipit-source-id: a16a71c680a04fc346f446d4f7f02c33364128f0
2025-08-13 07:27:10 -07:00
Victor Zverovich
022a948c31 Add support for decoupled serialization to OSS
Summary: Update the OSS configs to use `<module>_types_serialization.cpp` introduced in D79106423 and remove the `__FBTHRIFT_SEPARATE_SERIALIZATION` workaround.

Reviewed By: iahs

Differential Revision: D80006546

fbshipit-source-id: cdffcef00baff6bb2109a10f59e4cc34439669c7
2025-08-12 10:05:01 -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
Jacob Bower
a3a665f7ed Fix handling of -j in autoconf builder
Summary:
The *string* `"false"`, which was being returned by default, will be interpreted as truthy. So we were never getting the `-j` arg on the `make` command.

Should be a nice little speed boost for some builds.

Reviewed By: chadaustin

Differential Revision: D78819581

fbshipit-source-id: a1b57f17185d189df25e913e06bcf71f8f540053
2025-07-24 19:16:03 -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
Alex Hornby
f742c99c11 getdeps: update temp dir used on windows CI
Reviewed By: snarkmaster

Differential Revision: D77940712

fbshipit-source-id: a8c1f6c5802258daafd9319f77fcfe743e80a57e
2025-07-08 18:40:59 -07:00
Alex Hornby
064520b155 getdeps: log more on windows runs
Reviewed By: WallyYang

Differential Revision: D77890305

fbshipit-source-id: 86ecbe6e044ec3846ed895a6711c960259bfc362
2025-07-07 15:40:05 -07:00
ben--
603a3a6686 fix(fbcode_builder): fail the build when cmake build fails
Summary:
This change causes fbcode_builder (getdeps.py) to fail immediately on most non-zero error codes from delegated commands.

While internal tools may be able to surface failures in a build that doesn't fail fast, the debug cycle is difficult externally -- this makes failures pop out more easily and has been instrumental in debugging OSS build issues.

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

Differential Revision: D77608371

Pulled By: quark-zju

fbshipit-source-id: e9fc00a574bc64fbc165a22e51406e85d015e2ae
2025-07-03 14:28:13 -07:00
Ben Rogers
4f0db407cf feat(fbcode_builder): Enable python pex archives to allow native library dependencies
Summary:
Fixes integration test failure due to lack of a functioning
python-psutil (on Linux, this requires the inclusion of native code
which is not permitted in a zipapp).

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

Reviewed By: zzl0

Differential Revision: D77674102

Pulled By: quark-zju

fbshipit-source-id: 11ac197d8c4082eaf16e0e28bc1a45c67f7dbb07
2025-07-03 11:01:44 -07:00
Zeyi (Rice) Fan
8939972728 CMake: remove Python search path configuration
Reviewed By: genevievehelsel

Differential Revision: D77164618

fbshipit-source-id: ee36919d63c672613a5ce375b280f55e00b37c2b
2025-06-30 13:26:04 -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
Alex Hornby
7de0314b74 cachelib: regenerate github actions
Summary:
X-link: https://github.com/facebook/CacheLib/pull/388

Regenerate github actions.  Adds --runs-on arg to pass runs-on: parameter cachelib needs

Reviewed By: pbhandar2

Differential Revision: D75015742

fbshipit-source-id: af5803fa95fd4c2b9f25a7eaa817ffe2d135d23c
2025-05-19 17:05:48 -07:00
TJ Yin
918faae24e Migrate OSS project to handle protocol split
Summary: fbthrift has moved compact/binary protocol instantiation outside _types.cpp (to _types_compact.cpp and _types_binary.cpp). We need to add these two files to the build system.

Reviewed By: vitaut

Differential Revision: D74768484

fbshipit-source-id: a45c5893489083f98832ff4eb79aee4f568b2dc2
2025-05-15 11:26:56 -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
Kevin Yakar
e1dc78a2a5 Dynamically determine and copy dependencies in package-fboss.py
Summary:
X-link: https://github.com/facebook/fboss/pull/387

We want to copy libraries identified by ldd rather than the hardcoded mapping we have right now in package-fboss.py. These need to be packaged alongside the binaries as they are dynamically linked.

Reviewed By: paulcruz74

Differential Revision: D72731449

fbshipit-source-id: 79748615b7b0970269a5663b17f2102c6f537ffa
2025-04-23 12:53:51 -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
9d9d269c14 fix cmake xxhash discovery
Summary:
Fix fb303 OSS builds on macOS that failing to find xxhash.h.

Problem was that thrift cpp lib now needs xxhash but it wasn't declared in the cmake rules, which shows up as a problem when system xxhash is not installed.

CustomCompressorRegistry.cpp was also missing from cmake build resulting in link errors once the xxhash.h discovery was fixed.

Reviewed By: markbt

Differential Revision: D72452460

fbshipit-source-id: 6bdb8e0e3961529f04f9d9d29ba0daeff2e7ff2a
2025-04-04 08:58:21 -07:00
Alex Hornby
398745a5fa regenerate github actions, fix cmake 4 failure
Summary:
X-link: https://github.com/facebook/fb303/pull/65

regenerate github actions before making any actual changes

github runners are on cmake 4 now,  update cmake min version to 3.5 to avoid cmake 4 error: https://cmake.org/cmake/help/latest/release/4.0.html#deprecated-and-removed-features

Reviewed By: markbt

Differential Revision: D72323421

fbshipit-source-id: 5ebae9a37dbfa0b95cf75b20c86d396f8d5aa7ab
2025-04-03 07:54:52 -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
Paul Cruz
6bb525691b Add retries to ArchiveFetcher
Summary:
X-link: https://github.com/facebookincubator/zstrong/pull/1227

Add retries to ArchiveFetcher when downloading fails. There will be 4 retries, with backoff and jitter. The max delay is capped at 10 seconds.

Reviewed By: srikrishnagopu

Differential Revision: D71167342

fbshipit-source-id: d927a639cf99185c5a04d063400bdab874dfddfe
2025-03-14 12:10:44 -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
Cullen Walsh
16fc7ab8b1 Unbreak generate-release-yml.rs, update Ubuntu/Fedora Docker bases
Summary:
X-link: https://github.com/facebookincubator/zstrong/pull/1211

* Seems like rust-script is picky with the comment format for cargo dependencies. Switching from /* */ to //! allows is to correctly build the script.
* Remove Ubuntu 20.04 (gcc too old)
* Add Ubuntu 24.04 (latest LTS)
* Remove Fedora 36/37/38 (38 support ended 2024-05-21)
* Add Fedora 40/41/42 (42 to be released 2025-04-22)

X-link: https://github.com/facebook/watchman/pull/1275

Reviewed By: chadaustin

Differential Revision: D70350468

fbshipit-source-id: f5a29743da5b381fadeba2ed35a440b4054ca453
2025-02-27 15:54:29 -08:00
Alex Hornby
a80dc2ea5e fix test execution when building OSS repo with tpx on path
Summary:
X-link: https://github.com/facebookincubator/fizz/pull/160

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

Fix case when testing a github repo checkout, wth tpx on path, where --no-testpilot not specified.

As workaround before this lands, if in this situation pass --no-testpilot

Reviewed By: bigfootjon

Differential Revision: D69852662

fbshipit-source-id: 5065cdf3acae3bc9c90df89ed96eab3fc3e19906
2025-02-19 13:18:31 -08:00
Nadav Rotem
be7df7451a Fix: Correct Zstd capitalization in FindZstd.cmake
Summary:
X-link: https://github.com/facebook/folly/pull/2379

This commit addresses a CMake warning due to inconsistent capitalization of the Zstd package name in FindZstd.cmake. This fixes issues with finding and using the Zstd library.

Tested on Cmake 3.28.3
X-link: https://github.com/facebookincubator/zstrong/pull/1170

Reviewed By: terrelln

Differential Revision: D69284782

fbshipit-source-id: 4acc32705ae937f075e1531cae3449cfae0d84ec
2025-02-08 15:17:06 -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