summaryrefslogtreecommitdiff
path: root/scripts/bst-cross-build-or-show
blob: 3be2b48276715687b8c2c2d2651bb962778af2f8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#!/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 --target-arch=$bst_target_arch show $bst_target --deps none --format '%{state}')" == 'cached' ]; then
    bst --colors --target-arch="$bst_target_arch" show $bst_target
else
    bst --colors --target-arch="$bst_target_arch" build $bst_target
fi