mirror of
https://github.com/facebook/proxygen.git
synced 2025-08-16 02:02:14 +03:00
trying out this tool, fbcodeBuilder
Summary: this diff provides ci builds for our two open source projects, openr and fbzmq, by leveraging snarkmaster 's awesome tool, fbcode builder. this will run our external cmake build process on lego-linux sandcastle boxes and also generates scripts for building on travis with docker externally. this diff is modeled on D4441467. it also includes some changes to fbcode builder itself and some minor changes in our cmake files. snarkmaster , please take a look at my fbcode builder changes. I needed to make some modifications in order to build some of our dependencies which have slightly non-standard build steps and to run tests. I split up the configure step, and I addressed an issue around workdir with cmake. the last workdir was just a relative path, `build`, so it was hard to get back to it in a future step to run tests. Reviewed By: saifhhasan Differential Revision: D5141184 fbshipit-source-id: 94cacab807a3a0da4d0d81016d7f36f37656145d
This commit is contained in:
committed by
Facebook Github Bot
parent
ee7928625c
commit
d613fed62f
43
build/fbcode_builder/specs/fbzmq.py
Normal file
43
build/fbcode_builder/specs/fbzmq.py
Normal file
@@ -0,0 +1,43 @@
|
||||
#!/usr/bin/env python
|
||||
from __future__ import absolute_import
|
||||
from __future__ import division
|
||||
from __future__ import print_function
|
||||
from __future__ import unicode_literals
|
||||
|
||||
import specs.fbthrift as fbthrift
|
||||
import specs.folly as folly
|
||||
import specs.gmock as gmock
|
||||
|
||||
from shell_quoting import ShellQuoted
|
||||
|
||||
|
||||
def fbcode_builder_spec(builder):
|
||||
builder.add_option('jedisct1/libsodium:git_hash', 'stable')
|
||||
return {
|
||||
'depends_on': [folly, fbthrift, gmock],
|
||||
'steps': [
|
||||
builder.github_project_workdir('jedisct1/libsodium', '.'),
|
||||
builder.step('Build and install jedisct1/libsodium', [
|
||||
builder.configure(),
|
||||
builder.make_and_install(),
|
||||
]),
|
||||
|
||||
builder.github_project_workdir('zeromq/libzmq', '.'),
|
||||
builder.step('Build and install zeromq/libzmq', [
|
||||
builder.run(ShellQuoted('./autogen.sh')),
|
||||
builder.configure(),
|
||||
builder.make_and_install(),
|
||||
]),
|
||||
|
||||
builder.fb_github_project_workdir('fbzmq/fbzmq/build', 'facebookincubator'),
|
||||
builder.step('Build and install fbzmq/fbzmq/build', [
|
||||
builder.cmake_configure('fbzmq/fbzmq/build'),
|
||||
# we need the pythonpath to find the thrift compiler
|
||||
builder.run(ShellQuoted(
|
||||
'PYTHONPATH="$PYTHONPATH:"{p}/lib/python2.7/site-packages '
|
||||
'make -j {n}'
|
||||
).format(p=builder.option('prefix'), n=builder.option('make_parallelism'))),
|
||||
builder.run(ShellQuoted('make install')),
|
||||
]),
|
||||
],
|
||||
}
|
Reference in New Issue
Block a user