mirror of
https://github.com/servo/servo.git
synced 2025-08-04 13:10:20 +01:00
Build Servo
This commit is contained in:
parent
e50662bd80
commit
aba63d4651
3 changed files with 88 additions and 17 deletions
|
@ -4,6 +4,18 @@ import os.path
|
||||||
from decisionlib import DecisionTask
|
from decisionlib import DecisionTask
|
||||||
|
|
||||||
|
|
||||||
|
# https://docs.taskcluster.net/docs/reference/workers/docker-worker/docs/caches
|
||||||
|
CARGO_CACHE_SCOPES = [
|
||||||
|
"docker-worker:cache:cargo-registry-cache",
|
||||||
|
"docker-worker:cache:cargo-git-cache",
|
||||||
|
]
|
||||||
|
|
||||||
|
CARGO_CACHE = {
|
||||||
|
"cargo-registry-cache": "/root/.cargo/registry",
|
||||||
|
"cargo-git-cache": "/root/.cargo/git",
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
def main():
|
def main():
|
||||||
decision = DecisionTask(
|
decision = DecisionTask(
|
||||||
project_name="Taskcluster experimenfts for Servo", # Used in task names
|
project_name="Taskcluster experimenfts for Servo", # Used in task names
|
||||||
|
@ -12,25 +24,26 @@ def main():
|
||||||
worker_type="servo-docker-worker",
|
worker_type="servo-docker-worker",
|
||||||
)
|
)
|
||||||
|
|
||||||
|
decision.create_task_with_in_tree_dockerfile(
|
||||||
|
task_name="servo build task",
|
||||||
|
command="./servo-build-task.sh",
|
||||||
|
dockerfile=dockerfile("servo-x86_64-linux"),
|
||||||
|
max_run_time_minutes=60,
|
||||||
|
scopes=CARGO_CACHE_SCOPES,
|
||||||
|
cache=CARGO_CACHE,
|
||||||
|
)
|
||||||
|
|
||||||
build_task = decision.create_task_with_in_tree_dockerfile(
|
build_task = decision.create_task_with_in_tree_dockerfile(
|
||||||
task_name="build task",
|
task_name="build task",
|
||||||
command="./build-task.sh",
|
command="./build-task.sh",
|
||||||
dockerfile=dockerfile("servo-x86_64-linux"),
|
dockerfile=dockerfile("servo-x86_64-linux"),
|
||||||
max_run_time_minutes=20,
|
max_run_time_minutes=20,
|
||||||
|
scopes=CARGO_CACHE_SCOPES,
|
||||||
|
cache=CARGO_CACHE,
|
||||||
|
|
||||||
artifacts=[
|
artifacts=[
|
||||||
("/repo/something-rust/executable.gz", "1 week"),
|
("/repo/something-rust/executable.gz", "1 week"),
|
||||||
],
|
],
|
||||||
|
|
||||||
# https://docs.taskcluster.net/docs/reference/workers/docker-worker/docs/caches
|
|
||||||
scopes=[
|
|
||||||
"docker-worker:cache:cargo-registry-cache",
|
|
||||||
"docker-worker:cache:cargo-git-cache",
|
|
||||||
],
|
|
||||||
cache={
|
|
||||||
"cargo-registry-cache": "/root/.cargo/registry",
|
|
||||||
"cargo-git-cache": "/root/.cargo/git",
|
|
||||||
},
|
|
||||||
)
|
)
|
||||||
|
|
||||||
decision.create_task(
|
decision.create_task(
|
||||||
|
|
9
servo-build-task.sh
Executable file
9
servo-build-task.sh
Executable file
|
@ -0,0 +1,9 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
set -e
|
||||||
|
set -x
|
||||||
|
|
||||||
|
git clone https://github.com/servo/servo/
|
||||||
|
cd servo
|
||||||
|
git checkout 0a2c61da91e77102ae774075ec4126937a79f038
|
||||||
|
./mach build -d
|
|
@ -1,13 +1,62 @@
|
||||||
FROM ubuntu:bionic-20180821
|
FROM ubuntu:bionic-20180821
|
||||||
|
|
||||||
|
ENV \
|
||||||
|
#
|
||||||
|
# Use rustup’s 'cargo' and 'rustc'
|
||||||
|
PATH="/root/.cargo/bin:${PATH}" \
|
||||||
|
#
|
||||||
|
# SpiderMonkey’s build system fails if $SHELL is unset
|
||||||
|
SHELL=/bin/dash \
|
||||||
|
#
|
||||||
|
# The 'tzdata' APT package waits for user input on install by default
|
||||||
|
# https://stackoverflow.com/questions/44331836/apt-get-install-tzdata-noninteractive
|
||||||
|
DEBIAN_FRONTEND=noninteractive
|
||||||
|
|
||||||
RUN apt-get update -q && apt-get install -qy --no-install-recommends \
|
RUN apt-get update -q && apt-get install -qy --no-install-recommends \
|
||||||
|
#
|
||||||
|
# Cloning the repository
|
||||||
git \
|
git \
|
||||||
curl \
|
|
||||||
ca-certificates \
|
ca-certificates \
|
||||||
|
#
|
||||||
|
# Installing rustup
|
||||||
|
curl \
|
||||||
|
#
|
||||||
|
# Running mach
|
||||||
python2.7 \
|
python2.7 \
|
||||||
|
python-virtualenv \
|
||||||
|
virtualenv \
|
||||||
|
#
|
||||||
|
# Multiple C/C++ dependencies built from source
|
||||||
g++ \
|
g++ \
|
||||||
|
make \
|
||||||
|
cmake \
|
||||||
|
#
|
||||||
|
# ANGLE
|
||||||
|
xorg-dev \
|
||||||
|
#
|
||||||
|
# mozjs (SpiderMonkey)
|
||||||
|
autoconf2.13 \
|
||||||
|
#
|
||||||
|
# Bindgen (for SpiderMonkey bindings)
|
||||||
|
clang \
|
||||||
|
#
|
||||||
|
# gstreamer
|
||||||
|
libglib2.0-dev \
|
||||||
|
libgstreamer-plugins-base1.0-dev \
|
||||||
|
libgstreamer-plugins-bad1.0-dev \
|
||||||
|
libgstreamer1.0-dev \
|
||||||
|
#
|
||||||
|
# OpenSSL
|
||||||
|
libssl1.0-dev \
|
||||||
|
#
|
||||||
|
# blurz
|
||||||
|
libdbus-1-dev \
|
||||||
|
#
|
||||||
|
# Skia
|
||||||
|
libglu1-mesa-dev \
|
||||||
|
libbz2-dev \
|
||||||
|
#
|
||||||
|
#
|
||||||
&& \
|
&& \
|
||||||
rm -rf /var/lib/apt/lists/* && \
|
|
||||||
curl https://sh.rustup.rs -sSf | sh -s -- --default-toolchain none -y
|
curl https://sh.rustup.rs -sSf | sh -s -- --default-toolchain none -y
|
||||||
|
|
||||||
ENV PATH="/root/.cargo/bin:${PATH}"
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue