Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
106 commits
Select commit Hold shift + click to select a range
9cef9e1
Do not generate error for indexing on unknown shape field under dynam…
Nov 13, 2025
3871b3b
Fix CQS signal modernize-use-starts-ends-with in fbcode/proxygen/lib
Nov 13, 2025
386245a
fix logging for unit-parser when extract_facts fails
nt591 Nov 13, 2025
c0ae279
Make exception_shared_string movable & assignable
snarkmaster Nov 13, 2025
03b3c15
Performance Alert: LLC rate - instance_memaccess_profiling/assistant/…
Nov 13, 2025
f683801
Initialize thrift flag luna settings
Nov 13, 2025
e82a70d
demonomorphize catch_exception in folly/logging/
yfeldblum Nov 13, 2025
5967422
Updating submodules
Nov 13, 2025
95828d8
always disable field cache for service args/return
ahilger Nov 13, 2025
7716dc5
Remove outdated functionality from the build system (#9662)
mszabo-wikia Nov 13, 2025
deed555
better build speed for type_pack_find
yfeldblum Nov 13, 2025
b2a2b3e
Fix bug in elvis operator expressions
viratyosin Nov 13, 2025
96fc789
Revert D86888663
uvdn7 Nov 13, 2025
50f3ea8
cinder respects thrift field cache disablement
ahilger Nov 13, 2025
3000977
Reduce binary size by moving some logic from codegen to runtime library
Mizuchi Nov 13, 2025
3cad7e9
benchmark equality, less than, hash, iter
ahilger Nov 13, 2025
a1cae21
Remove xplat/thrift/conformance from dirsync
spikeh Nov 13, 2025
7f53f5b
Check for packedptr when producing output of --version
mdko Nov 13, 2025
6893193
Revert D86352689
Nov 14, 2025
d2864e2
Remove caching from Map._fbthrift_lazy_getitem for lazy conversion
Sunnie912 Nov 14, 2025
c323aab
Allow passing a timeout to unit tests
benoit-nexthop Nov 14, 2025
554db36
Add mvfst and usdt dependencies
mszabo-wikia Dec 28, 2024
457769c
Fix thrift build
mszabo-wikia Dec 28, 2024
02cc514
Fix phph/hhbbc/index.cpp compilation
mszabo-wikia Dec 28, 2024
43a75bb
IWYU: fix boost include in hphp/compiler/systemlib.cpp
mszabo-wikia Dec 28, 2024
b7cf132
Update OCaml stubs
mszabo-wikia Dec 28, 2024
5f33663
Remove nonexistent actions runner label
mszabo-wikia Dec 28, 2024
18bee05
Require the ldap package
mszabo-wikia Dec 28, 2024
472cf5c
Provide OCaml env vars for ocamlrep crate
mszabo-wikia Dec 28, 2024
0caf7ed
Update folly patches
mszabo-wikia Dec 28, 2024
bafe61b
Fix hhbc-unit.h generation
mszabo-wikia Apr 14, 2025
9abf86d
Use system libraries for xxhash, lz4 and double-conversion
mszabo-wikia Dec 28, 2024
224a03c
Use vendored fast_float library for folly
mszabo-wikia Dec 28, 2024
b79943c
Don't build squangle and mcrouter for OSS for now
mszabo-wikia Dec 28, 2024
69437b9
Add missing extension dependencies
mszabo-wikia Dec 28, 2024
b105a08
hack: skip building blake3 hash for now
mszabo-wikia Dec 28, 2024
95cf871
Disable more broken extensions
mszabo-wikia Dec 28, 2024
e4e2501
Allow building with system lz4
mszabo-wikia Dec 28, 2024
e1cb072
Fix spammy -Winconsistent-override in transport.h
mszabo-wikia Dec 28, 2024
0d2f351
Fix TBB clang patch
mszabo-wikia Dec 28, 2024
dfee1e5
Attempt to workaround build races
mszabo-wikia Dec 28, 2024
cfb8d56
Install and force libc++ for the OSS build
mszabo-wikia Dec 29, 2024
735434d
Silence spammy 'non-local-definitions' rust lint
mszabo-wikia Dec 29, 2024
1d350df
Use LLVM 17 to satisfy C++20 requirements
mszabo-wikia Dec 29, 2024
6585b0e
Build xed since it's now required
mszabo-wikia Dec 29, 2024
3db7f9d
Parallelize the folly build
mszabo-wikia Dec 29, 2024
79b551c
Update Fizz patches
mszabo-wikia Dec 29, 2024
807bb01
Update third-party GitHub actions
mszabo-wikia Dec 30, 2024
9a57e75
Switch CI from Focal to Jammy
mszabo-wikia Dec 31, 2024
50c2fd8
Use single Rust staticlib for FFI
mszabo-wikia Dec 31, 2024
40d0f9b
Use underlying type for formatting HPHP::jit::Opcode to fix debug build
mszabo-wikia Jan 3, 2025
d2d5b86
Ensure Rust commands execute after OPAM setup
mszabo-wikia Jan 3, 2025
227258a
Generate config headers from configs.specification
mszabo-wikia Dec 28, 2024
0c3f29c
Link fizz against liboqs transitively if it was found
mszabo-wikia Jan 3, 2025
2591829
support new libdwarfp API
mszabo-wikia Jan 5, 2025
84cd082
Fix tc-print link order
mszabo-wikia Jan 5, 2025
079b9e3
Fix compilation error with OpenSSL 3
Atry Nov 2, 2022
471a1d7
Update systemlib generation to support precompiled systemlibs
mszabo-wikia Dec 28, 2024
afa11eb
Use an Ubuntu 24.04 CI
mszabo-wikia Jan 5, 2025
8d650a2
Fix ocamlrep_marshal dune lock
mszabo-wikia Jan 5, 2025
3f5e137
Use Opensource Team-approved runner label
mszabo-wikia Jan 6, 2025
2a03638
Fix tc-print subdirectory load order
mszabo-wikia Jan 6, 2025
83646ca
Switch back to RelWithDebInfo builds after stabilizing CI
mszabo-wikia Jan 7, 2025
b78da07
Stabilize ocaml build
mszabo-wikia Feb 1, 2025
96b9278
Lowercase fizz reference
mszabo-wikia Feb 2, 2025
a639170
Undefine a MySQL constant until the client is updated
mszabo-wikia Feb 10, 2025
0f4dbcf
Add sandcastle module dependency
mszabo-wikia Mar 13, 2025
024dfe5
Add diagnostics stub
mszabo-wikia Mar 18, 2025
83b5935
Stub DeclarationsRewriter.rename_decls
mszabo-wikia Apr 14, 2025
fbf4c18
Include cxxabi and libunwind headers in unique-stubs.cpp
mszabo-wikia Apr 15, 2025
af4838d
Fix OCaml stubs
mszabo-wikia May 15, 2025
4f2bdb9
Add libbpf dependency
mszabo-wikia May 16, 2025
7dd32ab
Silence noisy nontrivial-memcall diagnostic on clang 20
mszabo-wikia May 16, 2025
9cb9e0a
Try to include the MySQL extension
hershel-theodore-layton Jun 1, 2025
df0a5a8
Only containerize the actual package build
mszabo-wikia Jun 5, 2025
d68bad1
Use separate build directories for Rust libraries in dune
mszabo-wikia Jun 6, 2025
31f6c7a
Remove use of deprecated boost/filesystem/string_file
mszabo-wikia Jun 6, 2025
5ad5dc5
Build the mcrouter extension
mszabo-wikia Jun 6, 2025
5c1bf8d
Consistently check connection validity in AsyncMysqlConnection
mszabo-wikia Jun 25, 2025
d79e304
Disable push builds for now
mszabo-wikia Jun 25, 2025
18588c5
Update OPAM deps with too old versions
mszabo-wikia Jun 25, 2025
72a5912
dpkg-buildpackage: error: unknown option or argument --no-lintian
hershel-theodore-layton May 31, 2025
e3fb06f
Fix glog vendoring
mszabo-wikia Sep 23, 2025
bbda2b8
Update references to generate-ptr-def.sh
mszabo-wikia Sep 24, 2025
ea99e47
Update bundled glog to match Ubuntu Noble
mszabo-wikia Sep 24, 2025
24fdae1
Add dependency on libc-ares-dev
mszabo-wikia Sep 24, 2025
de35c0e
Fix OSS Hack build on Arm
mszabo-wikia Sep 23, 2025
9d949cf
arm64: require armv8.2-a
mszabo-wikia Sep 4, 2025
1689ca0
Make libheif an optional dependency for ext_gd
mszabo-wikia Sep 24, 2025
901c2b2
Disable PIE without ENABLE_SSP
mszabo-wikia Oct 6, 2025
c3861a6
Increase workflow timeout
mszabo-wikia Oct 10, 2025
e071a89
Update to Rust 1.91
mszabo-wikia Apr 14, 2025
7400623
Fix system gflags
mszabo-wikia Jul 29, 2025
cf2065e
Consolidate security-related compiler flags
mszabo-wikia Oct 10, 2025
b9eb9f1
Rename watcher extension in OSS
mszabo-wikia Nov 11, 2025
c4a5e0e
Update fmt to 12.1.0 to fix libc++ 21 compat
mszabo-wikia Nov 11, 2025
3d992a1
Fix jemalloc PIE builds
mszabo-wikia Nov 11, 2025
b9c93f7
Fix watcher extension
mszabo-wikia Nov 11, 2025
f44aa7b
Add missing thrift include for newer libstdc++
mszabo-wikia Nov 13, 2025
45efb29
Fix using an incomplete type with libstdc++
mszabo-wikia Nov 13, 2025
b374dea
Build on a custom runner with libstdc++
mszabo-wikia Nov 13, 2025
34f5750
Update HackEventLogger stubs
mszabo-wikia Nov 13, 2025
f2388be
Use LLVM 20
mszabo-wikia Nov 13, 2025
c8e0d79
Introduce helper function for loading LowTCA
mszabo-wikia Nov 13, 2025
07c0662
Fix build dir perms
mszabo-wikia Nov 14, 2025
33c7f5b
Update mvfst submodule ref
mszabo-wikia Feb 1, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
73 changes: 25 additions & 48 deletions .github/workflows/ubuntu.yml
Original file line number Diff line number Diff line change
@@ -1,11 +1,6 @@
name: Ubuntu CI

on:
push:
branches-ignore:
# Exclude the push event for exported diffs, because the CI for export
# should have been covered by GitHub Actions triggered by pull requests.
- 'export-D+'
pull_request:

concurrency:
Expand All @@ -25,47 +20,29 @@ env:
DEBIAN_FRONTEND: "noninteractive"

jobs:
build_ubuntu_focal_nightly:
runs-on: 16-core
container:
image: ubuntu:focal
env:
DISTRO: ubuntu-20.04-focal
IS_NIGHTLY: 1
CLANG_VERSION: 12
build_ubuntu_noble_nightly:
timeout-minutes: 660 # 12 hours
runs-on: hhvm-builder
steps:
- name: Installing dependencies to bootstrap env
run: apt update -y && apt install -y git wget lsb-release software-properties-common gpg
- name: Installing llvm
run: |
wget https://apt.llvm.org/llvm.sh
chmod +x llvm.sh
# Note: Keep this version in sync with the one in the Debian control file.
./llvm.sh ${CLANG_VERSION}
- name: Making LLVM the default compiler
run: |
if [ -f /etc/alternatives/cc ]
then
update-alternatives --remove-all cc
fi

if [ -f /etc/alternatives/c++ ]
then
update-alternatives --remove-all c++
fi

update-alternatives --install /usr/bin/cc cc /usr/bin/clang++-${CLANG_VERSION} 500
update-alternatives --set cc /usr/bin/clang++-${CLANG_VERSION}
update-alternatives --install /usr/bin/c++ c++ /usr/bin/clang++-${CLANG_VERSION} 500
update-alternatives --set c++ /usr/bin/clang++-${CLANG_VERSION}
- name: Fetching HHVM and its submodules
uses: actions/checkout@v3
with:
submodules: 'recursive'
- name: Installing HHVM deps and building HHVM
run: ci/bin/make-debianish-package
- name: Uploading artifacts
uses: actions/upload-artifact@v3
with:
name: out-directory
path: ${{ env.OUT }}
# The HHVM build requires more disk space than what is available
# on a default Actions runner, so remove some cruft.
#- name: Free up disk space
# uses: jlumbroso/[email protected]
- name: Fetching HHVM and its submodules
uses: actions/checkout@v4
with:
submodules: "recursive"
- name: Installing HHVM deps and building HHVM
uses: docker://ubuntu:noble
env:
DISTRO: ubuntu-24.04-noble
IS_NIGHTLY: 1
CLANG_VERSION: 20
with:
entrypoint: /bin/bash
args: ci/bin/make-debianish-package
- name: Uploading artifacts
uses: actions/upload-artifact@v4
with:
name: out-directory
path: ${{ env.OUT }}
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -86,6 +86,9 @@ install_manifest.txt
/hphp/hack/test/.mypy_cache
/hphp/util/generated-hhjs-babel-transform.txt

# Generated core systemlib
/hphp/runtime/ext/core/ext_core.php

# CPack
CPackConfig.cmake
CPackSourceConfig.cmake
Expand Down
3 changes: 3 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
Expand Up @@ -19,3 +19,6 @@
[submodule "xed-xed"]
path = third-party/xed/xed
url = https://github.com/intelxed/xed.git
[submodule "third-party/mvfst/src"]
path = third-party/mvfst/src
url = https://github.com/facebook/mvfst.git
15 changes: 15 additions & 0 deletions CMake/FindBpf.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
find_path(BPF_INCLUDE_DIR bpf/bpf.h)
find_library(BPF_LIBRARY NAMES bpf)

include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(BPF DEFAULT_MSG BPF_LIBRARY BPF_INCLUDE_DIR)

if(BPF_FOUND)
set(BPF_LIBRARIES ${BPF_LIBRARY})
set(BPF_INCLUDE_DIRS ${BPF_INCLUDE_DIR})
else()
set(BPF_LIBRARIES)
set(BPF_INCLUDE_DIRS)
endif()

mark_as_advanced(BPF_LIBRARIES BPF_INCLUDE_DIRS)
69 changes: 53 additions & 16 deletions CMake/FindLibDwarf.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -25,36 +25,72 @@ endif (LIBDWARF_LIBRARIES AND LIBDWARF_INCLUDE_DIRS)
find_package(PkgConfig)
pkg_check_modules(PkgConfig_LibDwarf QUIET libdwarf)

set(
LIBDWARF_INCLUDE_PATHS
${PkgConfig_LibDwarf_INCLUDE_DIRS}
/usr/include
/usr/include/libdwarf
/usr/local/include
/usr/local/include/libdwarf
/opt/local/include
/sw/include
)

find_path (DWARF_INCLUDE_DIR
NAMES
libdwarf.h dwarf.h
PATHS
${PkgConfig_LibDwarf_INCLUDE_DIRS}
/usr/include
/usr/include/libdwarf
/usr/local/include
/usr/local/include/libdwarf
/opt/local/include
/sw/include
${LIBDWARF_INCLUDE_PATHS}
ENV CPATH) # PATH and INCLUDE will also work

if (DWARF_INCLUDE_DIR)
set (LIBDWARF_INCLUDE_DIRS ${DWARF_INCLUDE_DIR})
endif ()

set(LIBDWARF_LIBRARY_NAMES dwarf libdwarf)

find_path (LIBDWARF_PRODUCER_PATHS
NAMES
libdwarfp.h
PATHS
${LIBDWARF_INCLUDE_PATHS}
ENV CPATH
)

set(
LIBDWARF_LIBRARY_PATHS
/usr/lib
/usr/local/lib
/opt/local/lib
/sw/lib
${PkgConfig_LibDwarf_LIBRARY_DIRS}
ENV LIBRARY_PATH # PATH and LIB will also work
ENV LD_LIBRARY_PATH
)

if (LIBDWARF_PRODUCER_PATHS)
set(LIBDWARF_USE_NEW_PRODUCER_API 1)
else()
set(LIBDWARF_USE_NEW_PRODUCER_API 0)
endif()

find_library (LIBDWARF_LIBRARIES
NAMES
dwarf libdwarf
PATHS
/usr/lib
/usr/local/lib
/opt/local/lib
/sw/lib
${PkgConfig_LibDwarf_LIBRARY_DIRS}
ENV LIBRARY_PATH # PATH and LIB will also work
ENV LD_LIBRARY_PATH)
include (FindPackageHandleStandardArgs)
${LIBDWARF_LIBRARY_PATHS})

if (LIBDWARF_USE_NEW_PRODUCER_API)
find_library (LIBDWARFP_LIBRARIES
NAMES
dwarfp libdwarfp
PATHS
${LIBDWARF_LIBRARY_PATHS})

list(APPEND LIBDWARF_LIBRARIES ${LIBDWARFP_LIBRARIES})
endif()

include (FindPackageHandleStandardArgs)

# handle the QUIETLY and REQUIRED arguments and set LIBDWARF_FOUND to TRUE
# if all listed variables are TRUE
Expand Down Expand Up @@ -106,7 +142,7 @@ if (LIBDWARF_LIBRARIES AND LIBDWARF_INCLUDE_DIRS)

# Order is important, last one is used.
CHECK_LIBDWARF_INIT("dwarf_producer_init"
"0, dwarfCallback, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr" 0)
"0, dwarfCallback, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr" 0)
CHECK_LIBDWARF_INIT("dwarf_producer_init_c" "0, dwarfCallback, nullptr, nullptr, nullptr, nullptr" 1)

set(CMAKE_REQUIRED_INCLUDES)
Expand All @@ -127,3 +163,4 @@ endif()
mark_as_advanced(LIBDW_INCLUDE_DIR DWARF_INCLUDE_DIR)
mark_as_advanced(LIBDWARF_INCLUDE_DIRS LIBDWARF_LIBRARIES)
mark_as_advanced(LIBDWARF_CONST_NAME LIBDWARF_USE_INIT_C)
mark_as_advanced(LIBDWARF_USE_NEW_PRODUCER_API)
28 changes: 7 additions & 21 deletions CMake/HHVMExtensionConfig.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -442,15 +442,7 @@ function (HHVM_EXTENSION_INTERNAL_SORT_OUT_SOURCES rootDir)
elseif (${fileExtension} STREQUAL ".h" OR ${fileExtension} STREQUAL ".hpp")
list(APPEND HEADER_SOURCES "${rootDir}/${fileName}")
elseif (${fileExtension} STREQUAL ".s")
# AT&T syntax, MSVC doesn't like.
if (NOT MSVC)
list(APPEND ASM_SOURCES "${rootDir}/${fileName}")
endif()
elseif (${fileExtension} STREQUAL ".asm")
# MASM syntax. MSVC only.
if (MSVC)
list(APPEND ASM_SOURCES "${rootDir}/${fileName}")
endif()
list(APPEND ASM_SOURCES "${rootDir}/${fileName}")
elseif (${fileExtension} STREQUAL ".php")
list(APPEND PHP_SOURCES "${rootDir}/${fileName}")
elseif (${fileExtension} STREQUAL ".hack")
Expand Down Expand Up @@ -530,10 +522,6 @@ function(HHVM_EXTENSION_INTERNAL_RESOLVE_DEPENDENCIES_OF_EXTENSION resolvedDestV
if (${listIDX} EQUAL 0)
# OS Dependency
if (${currentDependency} STREQUAL "osPosix")
if (MSVC)
HHVM_EXTENSION_INTERNAL_SET_FAILED_DEPENDENCY(${extensionID} ${currentDependency} ON)
break()
endif()
else()
message(FATAL_ERROR "The only OS restriction that is currently valid is 'osPosix', got '${currentDependency}'!")
endif()
Expand Down Expand Up @@ -781,15 +769,13 @@ function (HHVM_EXTENSION_INTERNAL_HANDLE_LIBRARY_DEPENDENCY extensionID dependen
HHVM_EXTENSION_INTERNAL_ADD_DEFINES("-DHAVE_LIBGMP")
endif()
elseif (${libraryName} STREQUAL "heif")
find_package(Libheif ${requiredVersion} REQUIRED)
if (NOT LIBHEIF_INCLUDE_DIR OR NOT LIBHEIF_LIBRARY)
HHVM_EXTENSION_INTERNAL_SET_FAILED_DEPENDENCY(${extensionID} ${dependencyName})
return()
endif()
find_package(libheif 1.19.8 CONFIG)

if (${addPaths})
HHVM_EXTENSION_INTERNAL_ADD_INCLUDE_DIRS(${LIBHEIF_INCLUDE_DIR})
HHVM_EXTENSION_INTERNAL_ADD_LINK_LIBRARIES(${LIBHEIF_LIBRARY})
if (libheif_FOUND AND ${addPaths})
get_target_property(DEPENDENCY_TARGET_INCLUDE_DIR heif INTERFACE_INCLUDE_DIRECTORIES)
HHVM_EXTENSION_INTERNAL_ADD_INCLUDE_DIRS("${DEPENDENCY_TARGET_INCLUDE_DIR}")
HHVM_EXTENSION_INTERNAL_ADD_LINK_LIBRARIES(heif)
HHVM_EXTENSION_INTERNAL_ADD_DEFINES("-DHAVE_LIBHEIF")
endif()
elseif (${libraryName} STREQUAL "iconv")
find_package(Libiconv ${requiredVersion})
Expand Down
17 changes: 1 addition & 16 deletions CMake/HHVMGenerateConfig.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -66,16 +66,6 @@ function(HHVM_GENERATE_CONFIG_FUNCTIONS_FOUND_DEFINE_STRING destVarName)
"utimes"
)

# This is a list of functions that are known to be present under MSVC
# because they are implemented via Folly's portability headers. For an
# item in this list to have any effect, it must first fail to be found
# when checking the item in the main list.
set(HHVM_FUNCTIONS_KNOWN_TO_BE_PRESENT_MSVC)
list(APPEND HHVM_FUNCTIONS_KNOWN_TO_BE_PRESENT_MSVC
"mkstemp"
"mmap"
)

set(builtString "")
list(LENGTH HHVM_FUNCTIONS_TO_CHECK functionCount)
set(i 0)
Expand All @@ -86,12 +76,7 @@ function(HHVM_GENERATE_CONFIG_FUNCTIONS_FOUND_DEFINE_STRING destVarName)
if (${HAVE_${curFuncUpper}})
set(builtString "${builtString}\n#define HAVE_${curFuncUpper} 1")
else()
list(FIND HHVM_FUNCTIONS_KNOWN_TO_BE_PRESENT_MSVC "${curFunc}" curFuncIdx)
if (curFuncIdx EQUAL -1 OR NOT MSVC)
set(builtString "${builtString}\n/* #undef HAVE_${curFuncUpper} */")
else()
set(builtString "${builtString}\n#define HAVE_${curFuncUpper} 1 /* Implemented via Folly Portability header */")
endif()
set(builtString "${builtString}\n/* #undef HAVE_${curFuncUpper} */")
endif()
math(EXPR i "${i} + 1")
endwhile()
Expand Down
Loading