From 8cf9c5260c392669154e940f93173281aec5b08a Mon Sep 17 00:00:00 2001 From: "Bobby R. Bruce" Date: Fri, 17 Jan 2020 10:08:12 -0800 Subject: [PATCH] tests,misc: Created presubmit.yaml Google Cloud Build files This will replicate kokoro on Google Cloud services. At present, this can be run via execution of `gcloud builds submit--config cloudbuild_presubmit.yaml`. Jira: https://gem5.atlassian.net/browse/GEM5-271 Change-Id: I5a71ef7fdbe5546b4e6970e4f4641f9e14cc640b Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/24543 Reviewed-by: Bobby R. Bruce Reviewed-by: Jason Lowe-Power Maintainer: Bobby R. Bruce Tested-by: kokoro --- cloudbuild_presubmit.yaml | 31 +++++++++++++++++ .../ubuntu-18.04_all-dependencies/Dockerfile | 34 +++++++++++++++++++ 2 files changed, 65 insertions(+) create mode 100644 cloudbuild_presubmit.yaml create mode 100644 util/dockerfiles/ubuntu-18.04_all-dependencies/Dockerfile diff --git a/cloudbuild_presubmit.yaml b/cloudbuild_presubmit.yaml new file mode 100644 index 000000000..e20f27331 --- /dev/null +++ b/cloudbuild_presubmit.yaml @@ -0,0 +1,31 @@ +steps: + + - name: 'gcr.io/cloud-builders/docker' + entrypoint: 'bash' + args: + - '-c' + - | + docker pull gcr.io/$PROJECT_ID/ubuntu-18.04_all-dependencies:latest \ + || exit 0 + + - name: 'gcr.io/cloud-builders/docker' + args: ['build', + '-t', + 'gcr.io/$PROJECT_ID/ubuntu-18.04_all-dependencies:latest', + '--cache-from', + 'gcr.io/$PROJECT_ID/ubuntu-18.04_all-dependencies:latest', + 'util/dockerfiles/ubuntu-18.04_all-dependencies'] + + - name: 'gcr.io/$PROJECT_ID/ubuntu-18.04_all-dependencies:latest' + entrypoint: 'scons' + args: ['build/NULL/unittests.opt', '-j', '4'] + + - name: 'gcr.io/$PROJECT_ID/ubuntu-18.04_all-dependencies:latest' + dir: 'tests' + entrypoint: 'python' + args: ['main.py', 'run', '-j', '4', '--length', 'quick'] + +images: ['gcr.io/$PROJECT_ID/ubuntu-18.04_all-dependencies:latest'] +options: + machineType: 'N1_HIGHCPU_8' +timeout: 18000s # 5 Hours diff --git a/util/dockerfiles/ubuntu-18.04_all-dependencies/Dockerfile b/util/dockerfiles/ubuntu-18.04_all-dependencies/Dockerfile new file mode 100644 index 000000000..95923f5d9 --- /dev/null +++ b/util/dockerfiles/ubuntu-18.04_all-dependencies/Dockerfile @@ -0,0 +1,34 @@ +# Copyright (c) 2020 The Regents of the University of California +# All Rights Reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are +# met: redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer; +# redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution; +# neither the name of the copyright holders nor the names of its +# contributors may be used to endorse or promote products derived from +# this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +FROM ubuntu:18.04 + +RUN apt -y update +RUN apt -y upgrade +RUN apt -y install build-essential git m4 scons zlib1g zlib1g-dev \ + libprotobuf-dev protobuf-compiler libprotoc-dev libgoogle-perftools-dev \ + python-dev python python-pip doxygen +RUN pip install six -- 2.30.2