class PythonTest(CppTest): tags = ['arrow', 'python', 'parquet', 'plasma'] hostconfig = { 'shm_size': '2G', # required for plasma } properties = { **CppTest.properties, 'ARROW_PYTHON': 'ON', } steps = [ *CppTest.steps[:-1], # excluding the last test step python_install, python_test ] images = ( images.filter( name=startswith('python'), arch='amd64', os=startswith('ubuntu'), variant=None, # plain linux images, not conda tag='worker' ) + images.filter( name=startswith('python'), arch='arm64v8', os='ubuntu-18.04', variant=None, # plain linux images, not conda tag='worker' ) )
class CppBenchmark(DockerBuilder): tags = ['arrow', 'cpp', 'benchmark'] properties = { 'CMAKE_INSTALL_PREFIX': '/usr/local', 'CMAKE_INSTALL_LIBDIR': 'lib' } steps = [ checkout_arrow, Pip(['install', '-e', '.'], workdir='dev/archery'), Archery( args=util.FlattenList([ 'benchmark', 'diff', '--output=diff.json', util.Property('benchmark_options', []), 'WORKSPACE', util.Property('benchmark_baseline', 'master') ]), result_file='diff.json' ) ] images = images.filter( name='cpp-benchmark', os=startswith('ubuntu'), arch='amd64', # until ARROW-5382: SSE on ARM NEON gets resolved variant=None, # plain linux images, not conda tag='worker' )
class JavaTest(DockerBuilder): tags = ['arrow', 'java'] steps = [ checkout_arrow, Maven( args=['-B', 'test'], workdir='java', name='Maven Test', ) ] images = images.filter( name=startswith('java'), arch='amd64', tag='worker' )
class PythonCudaTest(PythonTest): tags = ['arrow', 'python', 'cuda', 'parquet', 'plasma'] hostconfig = { 'shm_size': '2G', # required for plasma 'runtime': 'nvidia', # required for cuda } properties = { **PythonTest.properties, 'ARROW_CUDA': 'ON', # also sets PYARROW_WITH_CUDA } images = images.filter( name=startswith('python'), arch='amd64', variant='cuda', tag='worker' )
class JSTest(DockerBuilder): tags = ['arrow', 'js'] volumes = [ util.Interpolate('%(prop:builddir)s:/root/.npm:rw') ] steps = [ checkout_arrow, Npm(['install', '-g', 'npm@latest'], workdir='js', name='Update NPM'), Npm(['install'], workdir='js', name='Install Dependencies'), Npm(['run', 'lint'], workdir='js', name='Lint'), Npm(['run', 'build'], workdir='js', name='Build'), Npm(['run', 'test'], workdir='js', name='Test') ] images = images.filter( name=startswith('js'), arch='amd64', tag='worker' )
class PythonCondaTest(CppCondaTest): tags = ['arrow', 'cpp', 'flight', 'gandiva', 'parquet', 'plasma', 'python'] hostconfig = { 'shm_size': '2G', # required for plasma } properties = { **CppCondaTest.properties, 'ARROW_PYTHON': 'ON' } steps = [ *CppCondaTest.steps[:-1], python_install, python_test ] images = images.filter( name=startswith('python'), variant='conda', tag='worker' )
class CppTest(DockerBuilder): tags = ['arrow', 'cpp', 'parquet', 'plasma'] volumes = [ util.Interpolate('%(prop:builddir)s:/root/.ccache:rw') ] properties = { 'ARROW_PARQUET': 'ON', 'ARROW_PLASMA': 'ON', 'CMAKE_INSTALL_PREFIX': '/usr/local', 'CMAKE_INSTALL_LIBDIR': 'lib' } env = { 'PARQUET_TEST_DATA': parquet_test_data_path # for parquet } steps = [ checkout_arrow, cpp_mkdir, cpp_cmake, cpp_compile, cpp_install, cpp_test ] images = ( images.filter( name='cpp', arch='amd64', os=startswith('ubuntu'), variant=None, # plain linux images, not conda tag='worker' ) + images.filter( name='cpp', arch='arm64v8', os='ubuntu-18.04', variant=None, # plain linux images, not conda tag='worker' ) )
class GoTest(DockerBuilder): tags = ['arrow', 'go'] env = { 'GO111MODULE': 'on', } steps = [ checkout_arrow, Go( args=['get', '-v', '-t', './...'], workdir='go/arrow', name='Go Build', ), Go( args=['test', './...'], workdir='go/arrow', name='Go Test', ) ] images = images.filter( name=startswith('go'), arch='amd64', tag='worker' )
class RustTest(DockerBuilder): tags = ['arrow', 'rust'] env = { 'ARROW_TEST_DATA': arrow_test_data_path, 'PARQUET_TEST_DATA': parquet_test_data_path } steps = [ checkout_arrow, Cargo( args=['build'], workdir='rust', name='Rust Build' ), Cargo( args=['test'], workdir='rust', name='Rust Test' ) ] images = images.filter( name=startswith('rust'), arch='amd64', tag='worker' )