#!/bin/bash # This script runs a BuildStream cross-build for a given element, unless there # is a suitable artifact already in the remote cache in which case it just # runs `bst show`. # # It is intended for use by on-demand CI workers. If we just call `bst build` # and there is nothing to build then the CI worker will pull all of the remote # artifacts into a local cache, which will probably then be discarded anyway. set -eu bst_target_arch="$1" bst_target="$2" if [ "$(bst --option arch $bst_target_arch show $bst_target --deps none --format '%{state}')" == 'downloadable' ]; then bst --colors --option arch "$bst_target_arch" show $bst_target else bst --colors --option arch "$bst_target_arch" build $bst_target fi