There’s a separate build-all.sh which allows you to build all of the
packages using their preferred build mechanism

Notes on the two build scripts

build.py

The <version> option is optional, and defaults to the string 'default',
which is useful for recipes that don’t have version specific changes (E.g.
bcftools 1.0 builds identically to 1.2)

Python Wheels

Starforge can build both pure Python and C-extension Python modules into wheels
for Linux under Docker and for Mac OS X under QEMU/KVM. To do this, you’ll want
to install Starforge (preferably in a Python virtualenv) using pip install
starforge (to install from PyPI) or python setup.py install to install
from the source.

Docker (and QEMU) images to use are specified in starforge/config/default.yml.
To modify this file, copy it to
$XDG_CONFIG_HOME/galaxy-starforge/config.yml ($XDG_CONFIG_HOME is, by
default ~/.config). The sample file wheels/build/wheels.yml is used to
determine what wheels can be built and their rules for building. To use this
file, use the --wheels-config argument to starforge wheel or copy
wheels.yml to $XDG_CONFIG_HOME/galaxy-starforge/wheels.yml.

See the output of starforge --help for help using the Starforge command-line interface.

Pull Request wheel builder

Pull requests to the Starforge repository on Github that modify
wheels/build/wheels.yml can automatically be built for all specified
platforms on a dedicated Starforge build server by the Galaxy Jenkins
service. To utilize, modify wheels.yml as appropriate and create a pull
request. Any member of the Galaxy Committers group can then authorize
Jenkins to initiate the build. If it fails, you can modify the pull request and
further builds can be triggered.

Notes on images

Linux

Images used to build wheels on a variety of platforms are uploaded to the
Starforge Docker Hub repo and will be pulled as necessary. Typically you
will only use the base-wheel and base32-wheel images, which are Debian
Squeeze-based images that will usually produce wheels usable on all
Galaxy-supported platforms. The exception is the case when you need to install
non-standard system libraries whose versions or location will differ by Linux
distribution. In this case, a “full” set of images consisting of all
distributions with official images in Docker Hub can be built. This is
controlled in wheels/build/wheels.yml, see psycopg2 for an example.

Mac OS X

Mac OS X mages are not provided due to legal reasons. Consult the osx
documentation for details.

0.2 (2016-05-19)

0.1.1 (2016-01-20)

Only running prebuild during wheel builds (and not sdists) was too naive,
since this prevents changing the version number of sdists in the prebuild
action (a common use of the prebuild action). Instead, allow for separate
wheel, sdist, and all prebuild actions. Reverts the behavior of
9008c57. Issue 64

Install Galaxy pip from Github instead of wheels.galaxyproject.org so that
Starforge images can be built with new versions of Galaxy pip before they are
released. 97b4ba4

0.1 (2016-01-12)

Reimplemented the wheel building scripts as a library and starforge
command line

Wrote some documentation

Older than 0.1

Originally Galaxy docker-build and later renamed Starforge, but as a collection
of disjointed shell scripts, Python, and YAML used to build Galaxy Tool Shed
dependencies, as well as rebuilding Debian and Ubuntu source packages with
modifications (which itself came from a project created to do the same via
Vagrant and Ansible called vadebuildsible).