diff --git a/ci/README.md b/ci/README.md new file mode 100644 index 0000000000000000000000000000000000000000..6b19e2f10dac567a1d686174bdec546bb2cf8d6b --- /dev/null +++ b/ci/README.md @@ -0,0 +1 @@ +This directory includes scripts and tools for continuous integration tests. diff --git a/ci/docker/build/Dockerfile b/ci/docker/build/Dockerfile new file mode 100644 index 0000000000000000000000000000000000000000..81655f7adf228a55b73545515d3276e17d860700 --- /dev/null +++ b/ci/docker/build/Dockerfile @@ -0,0 +1,25 @@ +FROM ubuntu:14.04 + +ENV DEPOT_TOOLS_PATH $HOME/depot_tools +ENV ENGINE_PATH $HOME/engine + +RUN apt-get update +RUN apt-get install -y git wget curl unzip python lsb-release sudo + +RUN git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git $DEPOT_TOOLS_PATH +ENV PATH $PATH:$DEPOT_TOOLS_PATH + +RUN mkdir --parents $ENGINE_PATH +WORKDIR $ENGINE_PATH +ADD engine_gclient .gclient +RUN gclient sync + +WORKDIR $ENGINE_PATH/src +RUN ./build/install-build-deps.sh --no-prompt +RUN ./build/install-build-deps-android.sh --no-prompt + +WORKDIR $HOME/dart +RUN wget https://storage.googleapis.com/dart-archive/channels/dev/release/2.0.0-dev.63.0/sdk/dartsdk-linux-x64-release.zip +RUN unzip dartsdk-linux-x64-release.zip +ENV PATH $PATH:$HOME/dart/dart-sdk/bin + diff --git a/ci/docker/build/README.md b/ci/docker/build/README.md new file mode 100644 index 0000000000000000000000000000000000000000..a122abaac49443e6e33bd59781f38bf97cdb3a03 --- /dev/null +++ b/ci/docker/build/README.md @@ -0,0 +1,13 @@ +This directory includes scripts to build the docker container image used for +building flutter/engine in our CI system (currently [Cirrus](cirrus-ci.org)). + +In order to run the scripts, you have to setup `docker` and `gcloud`. Please +refer to the [internal flutter team doc](go/flutter-team) for how to setup in a +Google internal environment. + +After setup, +* edit `Dockerfile` to change how the container image is built. +* run `./build_docker.sh` to build the container image. +* run `./push_docker.sh` to push the image to google cloud registry. This will + affect our CI tests. + diff --git a/ci/docker/build/build_docker.sh b/ci/docker/build/build_docker.sh new file mode 100755 index 0000000000000000000000000000000000000000..5eeb0fc83d5653df44bb5316822411f50063d8c3 --- /dev/null +++ b/ci/docker/build/build_docker.sh @@ -0,0 +1,7 @@ +#!/bin/bash + +# pull to make sure we are not rebuilding for nothing +docker pull gcr.io/flutter-cirrus/build-engine-image:latest + +docker build --tag gcr.io/flutter-cirrus/build-engine-image:latest . + diff --git a/ci/docker/build/engine_gclient b/ci/docker/build/engine_gclient new file mode 100644 index 0000000000000000000000000000000000000000..d89fe98de2b57b2842cd6b31c77fceb35d2a015c --- /dev/null +++ b/ci/docker/build/engine_gclient @@ -0,0 +1,7 @@ +solutions = [{ + "name" : "src/flutter", + "url" : "https://github.com/flutter/engine.git", + "deps_file" : "DEPS", + "managed" : False, + "safesync_url": "", +}] diff --git a/ci/docker/build/push_docker.sh b/ci/docker/build/push_docker.sh new file mode 100755 index 0000000000000000000000000000000000000000..80c79cb8d7c256e23f25e747bf1b0ae9fbf52d4a --- /dev/null +++ b/ci/docker/build/push_docker.sh @@ -0,0 +1,4 @@ +#!/bin/bash + +docker push gcr.io/flutter-cirrus/build-engine-image:latest + diff --git a/travis/licenses_golden/licenses_flutter b/travis/licenses_golden/licenses_flutter index 49f2d3317ae2dc252ff71fe16ff79b2110acdeda..51a82ae8f40f7dc5ec29c1e9d43794c712e63f9d 100644 --- a/travis/licenses_golden/licenses_flutter +++ b/travis/licenses_golden/licenses_flutter @@ -189,6 +189,8 @@ ORIGIN: ../../../LICENSE TYPE: LicenseType.bsd FILE: ../../../flutter/.cirrus.yml FILE: ../../../flutter/DEPS +FILE: ../../../flutter/ci/docker/build/Dockerfile +FILE: ../../../flutter/ci/docker/build/engine_gclient FILE: ../../../flutter/lib/io/dart_io.cc FILE: ../../../flutter/lib/io/dart_io.h FILE: ../../../flutter/lib/snapshot/libraries.json