Core component of the Hive CI runner


License
MIT
Install
gem install hive-runner -v 2.1.28

Documentation

hive-runner

Run automated jobs on devices - see the change log for release notes

Requirements

Quick start

Install the hive-runner gem and set up your hive:

gem install hive-runner
hive_setup my_hive

Follow the configuration instructions. If you want to add diagnostics to your hive when asked, here is an example diagnostics stanza:

diagnostics:
  hive:
    load_warning: 0.7
    load_error: 1.5

Start the Hive daemon:

hived start

Determine the status of the Hive:

hived status

Stop the Hive:

hived stop

Configuration file

Example config file:

test:
  controllers:
    shell:
      max_workers: 5
      name_stub: SHELL_WORKER
      queues:
        - bash

  logging:
    directory: logs
    pids: pids
    main_filename: hive.log

  timings:
    worker_loop_interval: 5

Controllers

The controllers section contains details about the controllers to be used by the hive. The name of each section indicates the controller type. Some of the fields in each controllers section is common to all controller types (see below) while some are defined for each specific controller type.

Fields for all controller types are:

Field Content
max_workers Maximum number of workers to use
port_range_size Number of ports to allocate to the device
name_stub Stub for name of the worker process

Ports

Field Content
minimum Minimum port number
maximum Maximum port number

Logging

Field Content
directory Log file directory
pids PIDs directory
main_filename Name of the main log file

Timings

The worker_loop_interval indicates the number of seconds to wait between each poll of the job queue in the worker loop.

Shell controller

Configuration

The shell controller section contains the following additional field:

Field Content
queues Array of job queues for the shell workers
workers Number of shell workers to run