Пример #1
0
class RCondaTest(CppCondaTest):
    tags = Extend(['r'])
    steps = Extend([
        r_deps,
        r_build,
        r_check
    ])
    image_filter = Filter(
        name='r',
        variant='conda',
        tag='worker'
    )
Пример #2
0
class RTest(CppTest):
    tags = Extend(['r'])
    steps = Extend([
        # runs the C++ tests too
        r_deps,
        r_build,
        r_check
    ])
    image_filter = Filter(
        name='r',
        tag='worker',
        variant=None,  # plain linux images, not conda
        platform=Filter(
            arch='amd64'
        )
    )
Пример #3
0
class CrossbowReport(CrossbowBuilder):
    steps = Extend([
        SetPropertyFromCommand(
            'crossbow_job_id',
            extract_fn=lambda stdout, stderr: stdout.strip(),
            command=Crossbow(args=[
                '--github-token',
                util.Secret('ursabot/github_token'), 'latest-prefix',
                crossbow_prefix
            ]),
            workdir='arrow/dev/tasks'),
        Crossbow(name='Generate and send nightly report',
                 args=util.FlattenList([
                     '--github-token',
                     util.Secret('ursabot/github_token'), 'report', '--send',
                     '--poll', '--poll-max-minutes', 120,
                     '--poll-interval-minutes', 15, '--sender-name',
                     'Crossbow', '--sender-email', '*****@*****.**',
                     '--recipient-email', '*****@*****.**',
                     '--smtp-user',
                     util.Secret('crossbow/smtp_user'), '--smtp-password',
                     util.Secret('crossbow/smtp_password'),
                     util.Property('crossbow_job_id')
                 ]),
                 workdir='arrow/dev/tasks'),
        Crossbow(name="Update Crossbow's Github page",
                 args=util.FlattenList([
                     '--github-token',
                     util.Secret('ursabot/github_token'), 'github-page',
                     'generate', '-n', 20, '--github-push-token',
                     util.Secret('kszucs/github_status_token')
                 ]),
                 workdir='arrow/dev/tasks')
    ])
Пример #4
0
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'
    )
Пример #5
0
class CGLibTest(CppTest):
    tags = Extend(['c-glib'])
    steps = Extend([
        # runs the C++ tests too
        c_glib_meson,
        c_glib_compile,
        c_glib_install,
        c_glib_install_test_dependencies,
        c_glib_test,
    ])
    image_filter = Filter(
        name='c-glib',
        tag='worker',
        variant=None,
        platform=Filter(
            arch=AnyOf('amd64', 'arm64v8'),
            distro='ubuntu'
        )
    )
Пример #6
0
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'
        )
    )
Пример #7
0
class CppCudaTest(CppTest):
    tags = Extend(['cuda'])
    hostconfig = {
        'runtime': 'nvidia'
    }
    properties = Merge(
        ARROW_CUDA='ON'
    )
    worker_filter = Filter(
        tags=Has('cuda')
    )
    image_filter = Filter(
        name='cpp',
        tag='worker',
        variant='cuda',
        platform=Filter(
            arch='amd64'
        )
    )
Пример #8
0
class CrossbowSubmit(CrossbowBuilder):
    """Submit crossbow jobs

    This builder is driven via buildbot properties, the `crossbow_args`
    property is either set by the github hook which parses the github comments
    like `@ursabot package -g conda` (ror more see commands.py) or by
    explicitly passing by NightlySchedulers.
    """
    steps = Extend([
        Crossbow(args=util.FlattenList([
            '--output-file', 'result.yaml', '--github-token',
            util.Secret('kszucs/github_status_token'), 'submit',
            '--arrow-remote', arrow_repository, '--job-prefix',
            crossbow_prefix,
            util.Property('crossbow_args', [])
        ]),
                 workdir='arrow/dev/tasks',
                 result_file='result.yaml')
    ])
Пример #9
0
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'
        )
    )
Пример #10
0
 class TestMergeExtend(TestChild):
     tags = Extend(['a_', 'b_'])
     env = Merge(e='E_', a='A_', d='D_')
     properties = {'a': 'A_', 'b': 'B_'}