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', ) ] image_filter = Filter( name=Matching('go*'), tag='worker', platform=Filter( arch='amd64' ) )
class RustTest(DockerBuilder): tags = ['arrow', 'rust'] env = dict( 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' ) ] image_filter = Filter( name=Matching('rust*'), tag='worker', platform=Filter( arch='amd64' ) )
class PythonDockerTest(PythonTest, DockerBuilder): hostconfig = dict( shm_size='2G', # required for plasma ) image_filter = Filter( name=Matching('python*'), tag='worker', variant=None, # plain linux images, not conda platform=Filter( arch=AnyOf('amd64', 'arm64v8'), distro='ubuntu' ) )
class JavaTest(DockerBuilder): tags = ['arrow', 'java'] steps = [ checkout_arrow, Maven( args=['-B', 'test'], workdir='java', name='Maven Test', ) ] image_filter = Filter( name=Matching('java*'), tag='worker', platform=Filter( arch='amd64' ) )
class PythonCondaTest(CppCondaTest): tags = Extend(['python']) hostconfig = dict( shm_size='2G', # required for plasma ) properties = Merge( ARROW_PYTHON='ON' ) steps = Extend([ python_install, python_test ]) image_filter = Filter( name=Matching('python*'), variant='conda', 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') ] image_filter = Filter( name=Matching('js*'), tag='worker', platform=Filter( arch='amd64' ) )
class PythonCudaTest(PythonTest): tags = Extend(['cuda']) hostconfig = dict( shm_size='2G', # required for plasma runtime='nvidia', # required for cuda ) properties = Merge( ARROW_CUDA='ON', # also sets PYARROW_WITH_CUDA ) worker_filter = Filter( tags=Has('cuda') ) image_filter = Filter( name=Matching('python*'), tag='worker', variant='cuda', platform=Filter( arch='amd64' ) )
class PythonTest(CppTest): tags = Extend(['python']) hostconfig = dict( shm_size='2G', # required for plasma ) properties = Merge( ARROW_PYTHON='ON' ) steps = Extend([ python_install, python_test ]) image_filter = Filter( name=Matching('python*'), tag='worker', variant=None, # plain linux images, not conda platform=Filter( arch=AnyOf('amd64', 'arm64v8'), distro='ubuntu' ) )
class Good2(Builder): name = 'test' steps = [] worker_filter = Filter(name=Matching('worker_*'))