summaryrefslogtreecommitdiffstats
path: root/src/ci/docker/host-x86_64/x86_64-gnu-integration/build-fuchsia.sh
blob: 4a246f591d717bb410c36db766633a37a1a03dbf (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
#!/usr/bin/env bash

# Downloads and builds the Fuchsia operating system using a toolchain installed
# in $RUST_INSTALL_DIR.

set -euf -o pipefail

INTEGRATION_SHA=66793c4894bf6204579bbee3b79956335f31c768
PICK_REFS=()

checkout=fuchsia
jiri=.jiri_root/bin/jiri

set -x

# This script will:
# - create a directory named "fuchsia" if it does not exist
# - download "jiri" to "fuchsia/.jiri_root/bin"
curl -s "https://fuchsia.googlesource.com/jiri/+/HEAD/scripts/bootstrap_jiri?format=TEXT" \
    | base64 --decode \
    | bash -s $checkout

cd $checkout

$jiri init \
    -partial=true \
    -analytics-opt=false \
    .

$jiri import \
    -name=integration \
    -revision=$INTEGRATION_SHA \
    -overwrite=true \
    flower \
    "https://fuchsia.googlesource.com/integration"

if [ -d ".git" ]; then
    # Wipe out any local changes if we're reusing a checkout.
    git checkout --force JIRI_HEAD
fi

$jiri update -autoupdate=false

echo integration commit = $(git -C integration rev-parse HEAD)

for git_ref in "${PICK_REFS[@]}"; do
    git fetch https://fuchsia.googlesource.com/fuchsia $git_ref
    git cherry-pick --no-commit FETCH_HEAD
done

bash scripts/rust/build_fuchsia_from_rust_ci.sh