xref: /aosp_15_r20/external/google-fruit/extras/dockerfiles/rebuild_all.sh (revision a65addddcf69f38db5b288d787b6b7571a57bb8f)
1*a65addddSAndroid Build Coastguard Worker#!/bin/bash
2*a65addddSAndroid Build Coastguard Worker
3*a65addddSAndroid Build Coastguard Workercd extras/dockerfiles/ || exit 1
4*a65addddSAndroid Build Coastguard Worker
5*a65addddSAndroid Build Coastguard Worker# Setup for ARM
6*a65addddSAndroid Build Coastguard Workerdocker run --rm --privileged multiarch/qemu-user-static:register --reset
7*a65addddSAndroid Build Coastguard Worker
8*a65addddSAndroid Build Coastguard WorkerCOMMANDS=()
9*a65addddSAndroid Build Coastguard Worker
10*a65addddSAndroid Build Coastguard Workerfor V in 20.04 22.04 22.10 23.10 24.04
11*a65addddSAndroid Build Coastguard Workerdo
12*a65addddSAndroid Build Coastguard Worker  C="docker build --squash -t polettimarco/fruit-basesystem:ubuntu-$V -f Dockerfile.ubuntu-$V ."
13*a65addddSAndroid Build Coastguard Worker  COMMANDS+=("$C || { echo; echo FAILED: '$C'; echo; exit 1; }")
14*a65addddSAndroid Build Coastguard Workerdone
15*a65addddSAndroid Build Coastguard Worker
16*a65addddSAndroid Build Coastguard Workerfor V in 18.04 20.04
17*a65addddSAndroid Build Coastguard Workerdo
18*a65addddSAndroid Build Coastguard Worker  C="docker build --squash -t polettimarco/fruit-basesystem:ubuntu_arm-$V -f Dockerfile.ubuntu_arm-$V ."
19*a65addddSAndroid Build Coastguard Worker  COMMANDS+=("$C || { echo; echo FAILED: '$C'; echo; exit 1; }")
20*a65addddSAndroid Build Coastguard Workerdone
21*a65addddSAndroid Build Coastguard Worker
22*a65addddSAndroid Build Coastguard Workerfor C in "${COMMANDS[@]}"
23*a65addddSAndroid Build Coastguard Workerdo
24*a65addddSAndroid Build Coastguard Worker  echo "$C"
25*a65addddSAndroid Build Coastguard Workerdone | xargs -P 0 -L 1 -d '\n' bash -c || {
26*a65addddSAndroid Build Coastguard Worker
27*a65addddSAndroid Build Coastguard Worker  # The successful ones should all be no-ops at this point, the failing ones won't be.
28*a65addddSAndroid Build Coastguard Worker  # This way we get better diagnostics.
29*a65addddSAndroid Build Coastguard Worker  for C in "${COMMANDS[@]}"
30*a65addddSAndroid Build Coastguard Worker  do
31*a65addddSAndroid Build Coastguard Worker    bash -c "$C" || exit 1
32*a65addddSAndroid Build Coastguard Worker  done
33*a65addddSAndroid Build Coastguard Worker}
34*a65addddSAndroid Build Coastguard Worker
35*a65addddSAndroid Build Coastguard Workerdocker push -a polettimarco/fruit-basesystem
36