1b5293d584
Summary: Pull Request resolved: https://github.com/facebookexperimental/eden/pull/67 With this change it will be possible to build dependencies of and run integration tests using getdeps.py. This is the first goal of Q4 as per https://fb.quip.com/v8YzAYNSYgot: "Get Open Source version of integration tests running on Legocastle". Before this diff: The OSS integration tests run now on GitHub by: - Building some test dependencies with getdeps.py - Building some test dependencies with homebrew/apt-get - Running tests via python script The OSS integration tests were not running on Sandcastle. After this diff: The OSS integration tests run on Github by: - Building and executing tests via getdeps.py (execution of tests happens by getdeps.py calling Make calling python script) The OSS integration tests run on Sandcastle using the same getdeps.py setup as Github. Reviewed By: krallin Differential Revision: D24253268 fbshipit-source-id: cae249b72d076222673b8bbe4ec21866dcdbb253 |
||
---|---|---|
.. | ||
CMake | ||
getdeps | ||
manifests | ||
specs | ||
.gitignore | ||
docker_build_with_ccache.sh | ||
docker_builder.py | ||
docker_enable_ipv6.sh | ||
fbcode_builder_config.py | ||
fbcode_builder.py | ||
getdeps.py | ||
LICENSE | ||
make_docker_context.py | ||
parse_args.py | ||
README.docker | ||
README.md | ||
shell_builder.py | ||
shell_quoting.py | ||
travis_docker_build.sh | ||
utils.py |
Easy builds for Facebook projects
This directory contains tools designed to simplify continuous-integration (and other builds) of Facebook open source projects. In particular, this helps manage builds for cross-project dependencies.
The main entry point is the getdeps.py
script. This script has several
subcommands, but the most notable is the build
command. This will download
and build all dependencies for a project, and then build the project itself.
Deployment
This directory is copied literally into a number of different Facebook open
source repositories. Any change made to code in this directory will be
automatically be replicated by our open source tooling into all GitHub hosted
repositories that use fbcode_builder
. Typically this directory is copied
into the open source repositories as build/fbcode_builder/
.
Project Configuration Files
The manifests
subdirectory contains configuration files for many different
projects, describing how to build each project. These files also list
dependencies between projects, enabling getdeps.py
to build all dependencies
for a project before building the project itself.
Shared CMake utilities
Since this directory is copied into many Facebook open source repositories,
it is also used to help share some CMake utility files across projects. The
CMake/
subdirectory contains a number of .cmake
files that are shared by
the CMake-based build systems across several different projects.
Older Build Scripts
This directory also still contains a handful of older build scripts that
pre-date the current getdeps.py
build system. Most of the other .py
files
in this top directory, apart from getdeps.py
itself, are from this older
build system. This older system is only used by a few remaining projects, and
new projects should generally use the newer getdeps.py
script, by adding a
new configuration file in the manifests/
subdirectory.