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 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82
|
#!/bin/bash
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
set -vex
. ./updatebot-version.sh # Get UPDATEBOT_REVISION
export DEBIAN_FRONTEND=noninteractive
# Update apt-get lists
apt-get update -y
# Install dependencies
apt-get install -y --no-install-recommends \
ca-certificates \
cloudsql-proxy \
curl \
ed \
golang-go \
gcc \
libc6-dev \
meson \
php-cli \
php-curl \
python3-minimal \
python3-wheel \
python3-pip \
python3-venv \
python3-requests \
python3-requests-unixsocket \
python3-setuptools \
openssh-client \
rsync \
wget
mkdir -p /builds/worker/.mozbuild
chown -R worker:worker /builds/worker/
export GOPATH=/builds/worker/go
# Install specific version of Arcanist
pushd /builds/worker/.mozbuild/
git clone https://github.com/phacility/arcanist.git
cd arcanist
git checkout e50d1bc4eabac9c37e3220e9f3fb8e37ae20b957
ln -s /builds/worker/.mozbuild/arcanist/bin/arc /usr/local/bin/arc
popd
. install-node-for-pdfjs.sh
# pdf.js setup
# We want to aviod downloading a ton of packages all the time, so
# we will preload the pdf.js repo (and packages) in the Docker image
# and only update it at runtime. This means that the `./mach vendor`
# behavior for pdf.js will also be kind of custom
npm install -g gulp-cli
cd /builds/worker/
git clone https://github.com/mozilla/pdf.js.git
cd /builds/worker/pdf.js
npm ci --legacy-peer-deps
# seed a v8 repository because it's large, and doing an update will
# be much faster than a new clone each time.
cd /builds/worker/
git clone https://github.com/v8/v8.git
# Check out source code
cd /builds/worker/
git clone https://github.com/mozilla-services/updatebot.git
cd updatebot
git checkout "$UPDATEBOT_REVISION"
# Set up dependencies
cd /builds/worker/
chown -R worker:worker .
chown -R worker:worker .*
python3 -m pip install --break-system-packages -U pip
python3 -m pip install --break-system-packages poetry==2.1.1
rm -rf /setup
|