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

{folly,fizz,mvfst,wangle,fbthrift,fb303,edencommon,watchman}: 2024.11.18.00 -> 2024.12.09.00 #362234

Merged
merged 8 commits into from
Dec 23, 2024

Conversation

techknowlogick
Copy link
Member

@techknowlogick techknowlogick commented Dec 5, 2024

Folly Diff: facebook/folly@refs/tags/v2024.11.18.00...v2024.12.09.00
Fizz Diff: facebookincubator/fizz@refs/tags/v2024.11.18.00...v2024.12.09.00
Fizz Changelog: https://github.com/facebookincubator/fizz/releases/tag/v2024.12.09.00
MVFST Diff: facebook/mvfst@refs/tags/v2024.11.18.00...v2024.12.09.00
Wangle Diff: facebook/wangle@refs/tags/v2024.11.18.00...v2024.12.09.00
FBThrift Diff: facebook/fbthrift@refs/tags/v2024.11.18.00...v2024.12.09.00
FB303 Diff: facebook/fb303@refs/tags/v2024.11.18.00...v2024.12.09.00
EdenCommon Diff: facebookexperimental/edencommon@refs/tags/v2024.11.18.00...v2024.12.09.00
Watchman Diff: facebook/watchman@refs/tags/v2024.11.18.00...v2024.12.09.00

Things done

  • Built on platform(s)
    • x86_64-linux
    • aarch64-linux
    • x86_64-darwin
    • aarch64-darwin
  • For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)
    • sandbox = relaxed
    • sandbox = true
  • Tested, as applicable:
  • Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
  • Tested basic functionality of all binary files (usually in ./result/bin/)
  • 25.05 Release Notes (or backporting 24.11 and 25.05 Release notes)
    • (Package updates) Added a release notes entry if the change is major or breaking
    • (Module updates) Added a release notes entry if the change is significant
    • (Module addition) Added a release notes entry if adding a new NixOS module
  • Fits CONTRIBUTING.md.

Add a 👍 reaction to pull requests you find important.

@ofborg ofborg bot added 11.by: package-maintainer This PR was created by the maintainer of the package it changes 10.rebuild-linux: 501+ labels Dec 6, 2024
@techknowlogick techknowlogick changed the title {folly,fizz,mvfst,wangle,fbthrift,fb303,edencommon,watchman}: 2024.11.18.00 -> 2024.12.02.00 {folly,fizz,mvfst,wangle,fbthrift,fb303,edencommon,watchman}: 2024.11.18.00 -> 2024.12.09.00 Dec 12, 2024
@techknowlogick techknowlogick marked this pull request as ready for review December 13, 2024 08:59
@techknowlogick
Copy link
Member Author

Marking as "ready-for-review" as it passes on darwin, now I'm just running it through linux to see what's up, and I'd hopefully like to get some feedback before I need to rebase and build this all again (if time doesn't permit for others that's ok, as this is just a standard update).

@paparodeo
Copy link
Contributor

signed char and unsigned char have been removed in llvm-18 thus requiring patches to, at the very least, folly

this is from libcxx-19, part of llvm-19.
https://releases.llvm.org/19.1.0/projects/libcxx/docs/ReleaseNotes.html

The base template for std::char_traits has been removed in LLVM 19. If you are using std::char_traits with types other than char, wchar_t, char8_t, char16_t, char32_t or a custom character type for which you specialized std::char_traits, your code will stop working. The Standard does not mandate that a base template is provided, and such a base template is bound to be incorrect for some types, which could currently cause unexpected behavior while going undetected.

what we've done for other issues is report the compile error and fix it.

it looks like a bad char_trait only snuck into folly/memory/test/UninitializedMemoryHacksTest.cpp and can be made to compile by just changing the signed char to a char

signed char -> char
diff --git a/folly/memory/test/UninitializedMemoryHacksTest.cpp b/folly/memory/test/UninitializedMemoryHacksTest.cpp
index 38e27c3..17424af 100644
--- a/folly/memory/test/UninitializedMemoryHacksTest.cpp
+++ b/folly/memory/test/UninitializedMemoryHacksTest.cpp
@@ -283,7 +283,7 @@ TEST(UninitializedMemoryHacks, simpleStringWChar) {
 }
 
 TEST(UninitializedMemoryHacks, simpleStringSChar) {
-  testSimple<std::basic_string<signed char>>();
+  testSimple<std::basic_string<char>>();
 }
 
 TEST(UninitializedMemoryHacks, simpleVectorChar) {
@@ -307,7 +307,7 @@ TEST(UninitializedMemoryHacks, randomStringWChar) {
 }
 
 TEST(UninitializedMemoryHacks, randomStringSChar) {
-  testRandom<std::basic_string<signed char>>();
+  testRandom<std::basic_string<char>>();
 }
 
 TEST(UninitializedMemoryHacks, randomVectorChar) {
@@ -323,5 +323,5 @@ TEST(UninitializedMemoryHacks, randomVectorInt) {
 }
 
 // We are deliberately putting this at the bottom to make sure it can follow use
-FOLLY_DECLARE_STRING_RESIZE_WITHOUT_INIT(signed char)
+//FOLLY_DECLARE_STRING_RESIZE_WITHOUT_INIT(char)
 FOLLY_DECLARE_VECTOR_RESIZE_WITHOUT_INIT(int)

or could just comment out the two erroneous tests and the macro at the bottom. or change it to a char8_t but that requires to compile with c++ 20, which seems excessive for just a couple of tests.

@techknowlogick techknowlogick force-pushed the bump-fb-deps branch 3 times, most recently from cab403f to 0bab4b5 Compare December 15, 2024 03:21
@techknowlogick
Copy link
Member Author

@paparodeo ah, thanks! That is much easier than what I was doing. I've updated the PR based on your feedback.

@wegank wegank added the 12.approvals: 1 This PR was reviewed and approved by one reputable person label Dec 15, 2024
@techknowlogick
Copy link
Member Author

techknowlogick commented Dec 15, 2024

Ack, temporarily hold on merging. Need to poke at this one last time.

Edit: I missed the trailing line in the diff and it failed to apply, it's now been added back. All good to go again, ty all <3

@paparodeo
Copy link
Contributor

FWIW the test io_async_hh_wheel_timer_test.HHWheelTimerTest.CancelTimeout seems to fail on hydra occasionally.
https://cache.nixos.org/log/aana8a68z8yd00pkyqj668diwp35phsw-folly-2024.11.18.00.drv
think it is usually on aarch64 linux that I've seen it fail and suspect it is just due to system load.

@doronbehar
Copy link
Contributor

Hey, I noticed that the following fail on staging-next:

  /nix/store/8nvvx9g1rmfvb6vq92hxh92gj30j09b2-wangle-2024.11.18.00.drv
  /nix/store/b3ik8cp0j2srhzp3cbar6p5b2nnc7s4y-fbthrift-2024.11.18.00.drv
  /nix/store/vmpmjasv915qrsgigzdff6fz5x4gi6zi-fb303-2024.11.18.00.drv
  /nix/store/s4bm3k2qibk742rs7j191m0yc36sbphl-edencommon-2024.11.18.00.drv
  /nix/store/4jjx3q9ys3a2pdnmmh1md87smg9dlj8b-watchman-2024.11.18.00.drv

Which is currently being worked on at:

Perhaps we should merge the update to these packages to staging-next, and the rest will wait for the next staging cycle? Or perhaps we can merge them all to staging-next now? CC @vcunat .

@doronbehar
Copy link
Contributor

OK, I just tested the wangle update from here on staging-next, and encountered:

Running phase: unpackPhase
@nix { "action": "setPhase", "phase": "unpackPhase" }
unpacking source archive /nix/store/k9hhrmnspybqbgc1h3ngzxl5kfsgyhwf-source
source root is source
Running phase: patchPhase
@nix { "action": "setPhase", "phase": "patchPhase" }
Running phase: updateAutotoolsGnuConfigScriptsPhase
@nix { "action": "setPhase", "phase": "updateAutotoolsGnuConfigScriptsPhase" }
Running phase: configurePhase
@nix { "action": "setPhase", "phase": "configurePhase" }
fixing cmake files...
cmake flags: -GNinja -DCMAKE_FIND_USE_SYSTEM_PACKAGE_REGISTRY=OFF -DCMAKE_FIND_USE_PACKAGE_REGISTRY=OFF -DCMAKE_EXPORT_NO_PACKAGE_REGISTRY=ON -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_LOCALEDIR=/nix/store/5c0mnfh1f347b20xzqwg4q179fdvdjh5-wangle-2024.12.09.00/share/locale -DCMAKE_INSTALL_LIBEXECDIR=/nix/store/5c0mnfh1f347b20xzqwg4q179fdvdjh5-wangle-2024.12.09.00/libexec -DCMAKE_INSTALL_LIBDIR=/nix/store/5c0mnfh1f347b20xzqwg4q179fdvdjh5-wangle-2024.12.09.00/lib -DCMAKE_INSTALL_DOCDIR=/nix/store/5c0mnfh1f347b20xzqwg4q179fdvdjh5-wangle-2024.12.09.00/share/doc/wangle -DCMAKE_INSTALL_INFODIR=/nix/store/5c0mnfh1f347b20xzqwg4q179fdvdjh5-wangle-2024.12.09.00/share/info -DCMAKE_INSTALL_MANDIR=/nix/store/5c0mnfh1f347b20xzqwg4q179fdvdjh5-wangle-2024.12.09.00/share/man -DCMAKE_INSTALL_OLDINCLUDEDIR=/nix/store/bvlrfzqcnjixgyyzg9s9nqfjywg99ply-wangle-2024.12.09.00-dev/include -DCMAKE_INSTALL_INCLUDEDIR=/nix/store/bvlrfzqcnjixgyyzg9s9nqfjywg99ply-wangle-2024.12.09.00-dev/include -DCMAKE_INSTALL_SBINDIR=/nix/store/5c0mnfh1f347b20xzqwg4q179fdvdjh5-wangle-2024.12.09.00/sbin -DCMAKE_INSTALL_BINDIR=/nix/store/5c0mnfh1f347b20xzqwg4q179fdvdjh5-wangle-2024.12.09.00/bin -DCMAKE_INSTALL_NAME_DIR=/nix/store/5c0mnfh1f347b20xzqwg4q179fdvdjh5-wangle-2024.12.09.00/lib -DCMAKE_POLICY_DEFAULT_CMP0025=NEW -DCMAKE_FIND_FRAMEWORK=LAST -DCMAKE_STRIP=/nix/store/xcn9p4xxfbvlkpah7pwchpav4ab9d135-gcc-wrapper-14-20241116/bin/strip -DCMAKE_RANLIB=/nix/store/xcn9p4xxfbvlkpah7pwchpav4ab9d135-gcc-wrapper-14-20241116/bin/ranlib -DCMAKE_AR=/nix/store/xcn9p4xxfbvlkpah7pwchpav4ab9d135-gcc-wrapper-14-20241116/bin/ar -DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++ -DCMAKE_INSTALL_PREFIX=/nix/store/5c0mnfh1f347b20xzqwg4q179fdvdjh5-wangle-2024.12.09.00 -DBUILD_SHARED_LIBS:BOOL=TRUE -DBUILD_TESTS:BOOL=TRUE -DINCLUDE_INSTALL_DIR:STRING=/nix/store/bvlrfzqcnjixgyyzg9s9nqfjywg99ply-wangle-2024.12.09.00-dev/include -DLIB_INSTALL_DIR:STRING=/nix/store/5c0mnfh1f347b20xzqwg4q179fdvdjh5-wangle-2024.12.09.00/lib -DCMAKE_INSTALL_DIR:STRING=/nix/store/bvlrfzqcnjixgyyzg9s9nqfjywg99ply-wangle-2024.12.09.00-dev/lib/cmake/wangle
CMake Deprecation Warning at CMakeLists.txt:15 (cmake_minimum_required):
  Compatibility with CMake < 3.5 will be removed from a future version of
  CMake.

  Update the VERSION argument <min> value or use a ...<max> suffix to tell
  CMake that the project does not need compatibility with older versions.


-- The CXX compiler identification is GNU 14.2.1
-- The C compiler identification is GNU 14.2.1
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /nix/store/xcn9p4xxfbvlkpah7pwchpav4ab9d135-gcc-wrapper-14-20241116/bin/g++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /nix/store/xcn9p4xxfbvlkpah7pwchpav4ab9d135-gcc-wrapper-14-20241116/bin/gcc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
CMake Warning (dev) at /nix/store/38cffsqqx823crf1i4bcf6zz1qz1hgpd-cmake-3.30.5/share/cmake-3.30/Modules/CMakeFindDependencyMacro.cmake:76 (find_package):
  Policy CMP0167 is not set: The FindBoost module is removed.  Run "cmake
  --help-policy CMP0167" for policy details.  Use the cmake_policy command to
  set the policy and suppress this warning.

Call Stack (most recent call first):
  /nix/store/0c8pawm4gq7y84h5f5zn1v62273mfzza-folly-2024.11.18.00-dev/lib/cmake/folly/folly-config.cmake:59 (find_dependency)
  CMakeLists.txt:64 (find_package)
This warning is for project developers.  Use -Wno-dev to suppress it.

-- Found Boost: /nix/store/f0qbspim8mzycf2df88sqvvmfnd7yxxj-boost-1.86.0-dev/lib/cmake/Boost-1.86.0/BoostConfig.cmake (found suitable version "1.86.0", minimum required is "1.51.0") found components: context filesystem program_options regex system thread
-- Found folly: /nix/store/0c8pawm4gq7y84h5f5zn1v62273mfzza-folly-2024.11.18.00-dev
-- Found Sodium: /nix/store/z6x0gkvc51068cyr1i2182klbsflbkjw-libsodium-1.0.20/lib/libsodium.so
-- Found folly: /nix/store/0c8pawm4gq7y84h5f5zn1v62273mfzza-folly-2024.11.18.00-dev
-- Found ZLIB: /nix/store/cqlaa2xf6lslnizyj9xqa8j0ii1yqw0x-zlib-1.3.1/lib/libz.so (found version "1.3.1")
-- Found fizz: /nix/store/lh0l3kwfm08ims446bywvyprm5nff3il-fizz-2024.11.18.00-dev
-- Found OpenSSL: /nix/store/h1ydpxkw9qhjdxjpic1pdc2nirggyy6f-openssl-3.3.2/lib/libcrypto.so (found version "3.3.2")
-- Found Glog: /nix/store/jx10wih0hr790svp4bnghmlhky35pyk0-glog-0.6.0/lib/libglog.so
-- Found gflags from package config /nix/store/4nh9giwncqvmmkl1mxs1vyv50lwyrxh5-gflags-2.2.2/lib/cmake/gflags/gflags-config.cmake
-- Found gflags as a dependency of glog::glog, include=/nix/store/4nh9giwncqvmmkl1mxs1vyv50lwyrxh5-gflags-2.2.2/include, libs=gflags_shared
CMake Warning (dev) at /nix/store/38cffsqqx823crf1i4bcf6zz1qz1hgpd-cmake-3.30.5/share/cmake-3.30/Modules/FindPackageHandleStandardArgs.cmake:441 (message):
  The package name passed to `find_package_handle_standard_args` (LIBUNWIND)
  does not match the name of the calling package (LibUnwind).  This can lead
  to problems in calling code that expects `find_package` result variables
  (e.g., `_FOUND`) to follow a certain pattern.
Call Stack (most recent call first):
  /build/source/build/fbcode_builder/CMake/FindLibUnwind.cmake:22 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
  /build/source/build/fbcode_builder/CMake/FindGlog.cmake:44 (find_package)
  CMakeLists.txt:69 (find_package)
This warning is for project developers.  Use -Wno-dev to suppress it.

-- Could NOT find LIBUNWIND (missing: LIBUNWIND_LIBRARY LIBUNWIND_INCLUDE_DIR) 
-- Found gflags from package config
-- gflags_CONFIG=/nix/store/4nh9giwncqvmmkl1mxs1vyv50lwyrxh5-gflags-2.2.2/lib/cmake/gflags/gflags-config.cmake
-- Found libevent: /nix/store/pd23v45sv2f7ifcpj8cr0y45xq5vdrji-libevent-2.1.12/lib/libevent.so
-- Found DoubleConversion: /nix/store/v89la64ph3b9m09ccmfqxyi82ra465vl-double-conversion-3.3.0/lib/libdouble-conversion.so
-- Found Threads: TRUE
CMake Warning (dev) at /nix/store/38cffsqqx823crf1i4bcf6zz1qz1hgpd-cmake-3.30.5/share/cmake-3.30/Modules/FindPackageHandleStandardArgs.cmake:441 (message):
  The package name passed to `find_package_handle_standard_args` (librt) does
  not match the name of the calling package (Librt).  This can lead to
  problems in calling code that expects `find_package` result variables
  (e.g., `_FOUND`) to follow a certain pattern.
Call Stack (most recent call first):
  cmake/FindLibrt.cmake:26 (find_package_handle_standard_args)
  CMakeLists.txt:81 (find_package)
This warning is for project developers.  Use -Wno-dev to suppress it.

-- Found librt: /nix/store/65h17wjrrlsj2rj540igylrx7fqcd6vq-glibc-2.40-36/lib/librt.so
-- Performing Test HAVE_CXX_ATOMICS_WITHOUT_LIB
-- Performing Test HAVE_CXX_ATOMICS_WITHOUT_LIB - Success
-- Looking for SSL_SESSION_dup in ssl
-- Looking for SSL_SESSION_dup in ssl - found
-- Found gmock via config, defines=, include=/nix/store/jjk5d24nfk0z87cg78cv5mzy2yj5z2fa-gtest-1.15.2-dev/include, libs=GTest::gmock_main;GTest::gmock;GTest::gtest
-- Configuring done (1.0s)
-- Generating done (0.1s)
CMake Warning:
  Manually-specified variables were not used by the project:

    CMAKE_EXPORT_NO_PACKAGE_REGISTRY
    CMAKE_INSTALL_BINDIR
    CMAKE_INSTALL_DOCDIR
    CMAKE_INSTALL_INCLUDEDIR
    CMAKE_INSTALL_INFODIR
    CMAKE_INSTALL_LIBDIR
    CMAKE_INSTALL_LIBEXECDIR
    CMAKE_INSTALL_LOCALEDIR
    CMAKE_INSTALL_MANDIR
    CMAKE_INSTALL_OLDINCLUDEDIR
    CMAKE_INSTALL_SBINDIR
    CMAKE_POLICY_DEFAULT_CMP0025


-- Build files have been written to: /build/source/build
cmake: enabled parallel building
cmake: enabled parallel installing
Running phase: buildPhase
@nix { "action": "setPhase", "phase": "buildPhase" }
build flags: -j1
[1/80] Building CXX object CMakeFiles/wangle.dir/acceptor/Acceptor.cpp.o
[2/80] Building CXX object CMakeFiles/wangle.dir/acceptor/AcceptorHandshakeManager.cpp.o
[3/80] Building CXX object CMakeFiles/wangle.dir/acceptor/ConnectionManager.cpp.o
[4/80] Building CXX object CMakeFiles/wangle.dir/acceptor/EvbHandshakeHelper.cpp.o
[5/80] Building CXX object CMakeFiles/wangle.dir/acceptor/FizzAcceptorHandshakeHelper.cpp.o
FAILED: CMakeFiles/wangle.dir/acceptor/FizzAcceptorHandshakeHelper.cpp.o 
/nix/store/xcn9p4xxfbvlkpah7pwchpav4ab9d135-gcc-wrapper-14-20241116/bin/g++ -DBOOST_ATOMIC_DYN_LINK -DBOOST_ATOMIC_NO_LIB -DBOOST_CONTEXT_DYN_LINK -DBOOST_CONTEXT_NO_LIB -DBOOST_FILESYSTEM_DYN_LINK -DBOOST_FILESYSTEM_NO_LIB -DBOOST_PROGRAM_OPTIONS_DYN_LINK -DBOOST_PROGRAM_OPTIONS_NO_LIB -DBOOST_REGEX_DYN_LINK -DBOOST_REGEX_NO_LIB -DBOOST_SYSTEM_DYN_LINK -DBOOST_SYSTEM_NO_LIB -DBOOST_THREAD_DYN_LINK -DBOOST_THREAD_NO_LIB -DFMT_SHARED -DGFLAGS_IS_A_DLL=0 -DWANGLE_HAVE_SSL_SESSION_DUP -Dwangle_EXPORTS -I/build/source/wangle/.. -isystem /nix/store/bbdwqad05z85sid6f74482xq9pacrc7p-fast-float-7.0.0/include -isystem /nix/store/26153nk3n2qm4ql1dkldzxcyb46r11as-xz-5.6.3-dev/include -isystem /nix/store/q17r2ngwxzkpdiyxpy8q2dj3c3h0nkj6-lz4-1.10.0-dev/include -isystem /nix/store/v4wsjzlrhzxra6dlzzwcpd6br55z10fd-zstd-1.5.6-dev/include -isystem /nix/store/kf1wnwjxd1j8s5wpglj0vnyjxf7b0n8v-libiberty-14-20241116-dev/include/libiberty -isystem /nix/store/jfl8wq4mm6srlxv2702hvjhw0v6cw0d1-libunwind-1.8.1-dev/include -O3 -DNDEBUG -std=c++17 -fPIC -MD -MT CMakeFiles/wangle.dir/acceptor/FizzAcceptorHandshakeHelper.cpp.o -MF CMakeFiles/wangle.dir/acceptor/FizzAcceptorHandshakeHelper.cpp.o.d -o CMakeFiles/wangle.dir/acceptor/FizzAcceptorHandshakeHelper.cpp.o -c /build/source/wangle/acceptor/FizzAcceptorHandshakeHelper.cpp
/build/source/wangle/acceptor/FizzAcceptorHandshakeHelper.cpp: In member function 'virtual void wangle::FizzAcceptorHandshakeHelper::handshakeSuc(folly::AsyncSSLSocket*)':
/build/source/wangle/acceptor/FizzAcceptorHandshakeHelper.cpp:259:49: error: 'struct fizz::server::AttemptVersionFallback' has no member named 'handshakeLogging'
  259 |   tinfo_.handshakeLogging = std::move(fallback_.handshakeLogging);
      |                                                 ^~~~~~~~~~~~~~~~
/build/source/wangle/acceptor/FizzAcceptorHandshakeHelper.cpp: In member function 'virtual void wangle::FizzAcceptorHandshakeHelper::handshakeErr(folly::AsyncSSLSocket*, const folly::AsyncSocketException&)':
/build/source/wangle/acceptor/FizzAcceptorHandshakeHelper.cpp:279:30: error: 'struct fizz::server::AttemptVersionFallback' has no member named 'handshakeLogging'
  279 |         *sock, ex, fallback_.handshakeLogging.get());
      |                              ^~~~~~~~~~~~~~~~
ninja: build stopped: subcommand failed.

@techknowlogick
Copy link
Member Author

@doronbehar when you tested wangle against staging-next did you bring over the other libraries too? Fb's codebase is rather intertwined and pretty much require each library to always be on the same tag.

I'm not too knowledgeable about the branching rules in the nixpkgs repo (other than "something that causes a large amount of rebuilds go into staging else use master", and also the release branches), so I'll defer to your opinion on if this should go into staging-next. I'm happy to do the work if needed though.

@doronbehar
Copy link
Contributor

@doronbehar when you tested wangle against staging-next did you bring over the other libraries too? Fb's codebase is rather intertwined and pretty much require each library to always be on the same tag.

That's what I imagined, and I didn't do that. I took only the updates to the packages I listed above to be failing on staging-next, because I suspect that updating the other libraries would really cause more then 1000 rebuilds (and not less then that).

I'm not too knowledgeable about the branching rules in the nixpkgs repo (other than "something that causes a large amount of rebuilds go into staging else use master", and also the release branches), so I'll defer to your opinion on if this should go into staging-next.

I'm too not sure what to do here, hence I ask for @vcunat's advice on the idea of merging all of the updates to staging-next, although it will cause many more rebuilds and exhaust Hydra a little bit, because it seems that many packages are subsequently broken by the failures I listed above, although some other packages updated here don't fail.

@techknowlogick
Copy link
Member Author

updating the other libraries would really cause more then 1000 rebuilds (and not less then that)

The thermostat in my place would agree with that 😆

I'm too not sure what to do here, hence I ask for @vcunat's advice on the idea of merging all of the updates to staging-next

Fair enough, I'll await their advice too.

In either case, I've just rebased this on recent commits to staging, including the commits for skipping the timing tests that fail under load, so at least there is one less reason for folly to fail in hydra.

@vcunat
Copy link
Member

vcunat commented Dec 20, 2024

Hey, I noticed that the following fail on staging-next:

/nix/store/8nvvx9g1rmfvb6vq92hxh92gj30j09b2-wangle-2024.11.18.00.drv
/nix/store/b3ik8cp0j2srhzp3cbar6p5b2nnc7s4y-fbthrift-2024.11.18.00.drv
/nix/store/vmpmjasv915qrsgigzdff6fz5x4gi6zi-fb303-2024.11.18.00.drv
/nix/store/s4bm3k2qibk742rs7j191m0yc36sbphl-edencommon-2024.11.18.00.drv
/nix/store/4jjx3q9ys3a2pdnmmh1md87smg9dlj8b-watchman-2024.11.18.00.drv

@doronbehar: all these exact derivations did succeed on Hydra, so your premise seems to be wrong (at least partially).

@wegank wegank removed the 12.approvals: 1 This PR was reviewed and approved by one reputable person label Dec 20, 2024
@vcunat
Copy link
Member

vcunat commented Dec 20, 2024

folly fails on *-darwin, apparently as a regression of master..staging-next, so that might be a concern. (but your derivations above are x86_64-linux) This PR does fix that, but I'm not sure how important these libs are on darwin.

@doronbehar
Copy link
Contributor

@doronbehar: all these exact derivations did succeed on Hydra, so your premise seems to be wrong (at least partially).

Hmm I wonder how come I observed those issues back then, but never mind - indeed after a git pull on staging-next, I see that the following are already available on Hydra:

  /nix/store/534n7wivq8sdz5ic4w4gdraw0kpsvymi-edencommon-2024.11.18.00
  /nix/store/mabgbz26viby4cc56jwlilq0kirp5bmb-fb303-2024.11.18.00
  /nix/store/zjkylz8wi17smirbwrm45n1fwg1pdm4r-fbthrift-2024.11.18.00
  /nix/store/2534q819rdjsa0bnanzvicgg7yxw0b7k-fbthrift-2024.11.18.00-lib
  /nix/store/6alr46yyjqhsk9mzs9cd7i6r2w4nwy9p-wangle-2024.11.18.00
  /nix/store/d46fvdghpiwm1kiqwr3p1vy492qr72cc-watchman-2024.11.18.00

Not exactly the ones I listed above (hashes are different), but the development environment I wanted to test that builds for me on staging-next builds now.

I'll leave to you the decision of whether to target this to staging or staging-next.

@vcunat
Copy link
Member

vcunat commented Dec 21, 2024

You posted .drv hashes first and output hashes now. Of course those differ from each other.

@techknowlogick
Copy link
Member Author

@vcunat The fail on darwin is fixed by this PR (sign chars stuff mentioned above). Should I target staging-next, or can this be left as-is against staging? (I'm happy to do the work if needed, I'm just not familiar enough with the branching scheme to say which is best)

@vcunat vcunat merged commit dd21e38 into NixOS:staging Dec 23, 2024
35 of 40 checks passed
@techknowlogick techknowlogick deleted the bump-fb-deps branch December 23, 2024 17:38
@emilazy
Copy link
Member

emilazy commented Dec 27, 2024

We should probably have merged this one into staging-next – we broke Watchman on Darwin, which breaks Git large repo functionality, Jujutsu large repo functionality, and Django (somehow?). #368576 is a stopgap fix though.

@techknowlogick
Copy link
Member Author

@emilazy apologies. Now that I'm maintaining more packages that have a wider blast radius I should've familiarized myself with exactly what the branching protocols are sooner. I've just taken the time to read through some RFCs to understand them.

@emilazy
Copy link
Member

emilazy commented Dec 27, 2024

No mistake on your end – was just re: @vcunat saying “not sure how important these libs are on darwin”, it’s ultimately a trade‐off of rebuilds vs. fixes :) FWIW the staging cycle is one of the things we actually have exceptional documentation for, in CONTRIBUTING.md.

@wegank wegank mentioned this pull request Jan 3, 2025
13 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants