aboutsummaryrefslogtreecommitdiffstats
path: root/screwdriver.yaml
diff options
context:
space:
mode:
authorArnstein Ressem <aressem@verizonmedia.com>2020-12-22 12:47:17 +0100
committerArnstein Ressem <aressem@verizonmedia.com>2020-12-22 12:47:17 +0100
commit9b33289fc6595a09979c34340186dd8dacaead06 (patch)
tree176cf97a219f74e32105ed4a61bb16b8156ab5e3 /screwdriver.yaml
parent3c9108ed10ba6cb0b02eeceb52f3e3176f8b121a (diff)
Add a screwdriver.yaml that bridges what we currently run on Travis.
Diffstat (limited to 'screwdriver.yaml')
-rw-r--r--screwdriver.yaml77
1 files changed, 77 insertions, 0 deletions
diff --git a/screwdriver.yaml b/screwdriver.yaml
new file mode 100644
index 00000000000..6b3795e6da6
--- /dev/null
+++ b/screwdriver.yaml
@@ -0,0 +1,77 @@
+# Copyright Verizon Media. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+---
+cache:
+ job:
+ main: [/main_job_cache]
+
+jobs:
+ main:
+ requires: [~pr, ~commit]
+ image: vespaengine/vespa-build-centos7
+ annotations:
+ screwdriver.cd/cpu: 8
+ screwdriver.cd/ram: 16
+ screwdriver.cd/disk: HIGH
+ screwdriver.cd/timeout: 600
+
+ environment:
+ LOCAL_MVN_REPO: "/tmp/vespa/mvnrepo"
+ VESPA_MAVEN_EXTRA_OPTS: "-Dmaven.repo.local=/tmp/vespa/mvnrepo -Dmaven.javadoc.skip=true -Dmaven.source.skip=true"
+ CCACHE_TMP_DIR: "/tmp/ccache_tmp"
+ CCACHE_DATA_DIR: "/tmp/vespa/ccache"
+ MAIN_CACHE_FILE: "/main_job_cache/vespa.tar"
+
+ steps:
+ - inspect: |
+ set -x
+ env | grep -v TOKEN
+ cat /proc/cpuinfo
+ cat /proc/meminfo
+ df -h
+ uname -a
+ - restore-cache: |
+ (cd /tmp && if [[ -f $MAIN_CACHE_FILE ]]; then tar xf $MAIN_CACHE_FILE; fi)
+
+ mkdir -p $CCACHE_DATA_DIR
+ mkdir -p $CCACHE_TMP_DIR
+
+ export CCACHE_DIR=$CCACHE_DATA_DIR
+
+ rm -f $CCACHE_DIR/ccache.conf
+ ccache -M 20G
+ ccache -o log_file=$SD_ARTIFACTS_DIR/ccache_log.txt
+ ccache -o temporary_dir=$CCACHE_TMP_DIR
+ ccache -p
+ ccache -z
+
+ - compile: |
+ export TRAVIS_REPO_SLUG="vespa-engine/vespa"
+ if [[ -z $SD_PULL_REQUEST ]]; then
+ export TRAVIS_PULL_REQUEST=false
+ else
+ export TRAVIS_PULL_REQUEST=$SD_PULL_REQUEST
+ fi
+
+ travis/travis-build.sh
+
+ - save-cache: |
+ if [[ -z "$SD_PULL_REQUEST" ]]; then
+ # Remove what we have produced
+ rm -rf $LOCAL_MVN_REPO/com/yahoo
+ rm -rf $LOCAL_MVN_REPO/ai/vespa
+
+ # Tar toghether the /tmp/vespa folder containing ccache and cleaned mvn repo
+ mkdir -p $(dirname $MAIN_CACHE_FILE)
+ (cd /tmp && tar cf $MAIN_CACHE_FILE vespa)
+
+ # Wipe the cache if we exceed 2GB to avoid pulling and pusing too large files
+ if (( $(stat --format='%s' $MAIN_CACHE_FILE) > $(( 2*1000*1000*1000 )) )); then
+ tar cf $MAIN_CACHE_FILE --files-from=/dev/null;
+ echo "Cleaning cache file. $MAIN_CACHE_FILE is now $(stat --format='%s' $MAIN_CACHE_FILE) bytes."
+ fi
+ fi
+
+ - inspect-after: |
+ du -sh /tmp/vespa/*
+ ls -la /main_job_cache || true
+ df -h