diff options
author | Arnstein Ressem <aressem@verizonmedia.com> | 2020-12-22 12:47:17 +0100 |
---|---|---|
committer | Arnstein Ressem <aressem@verizonmedia.com> | 2020-12-22 12:47:17 +0100 |
commit | 9b33289fc6595a09979c34340186dd8dacaead06 (patch) | |
tree | 176cf97a219f74e32105ed4a61bb16b8156ab5e3 /screwdriver.yaml | |
parent | 3c9108ed10ba6cb0b02eeceb52f3e3176f8b121a (diff) |
Add a screwdriver.yaml that bridges what we currently run on Travis.
Diffstat (limited to 'screwdriver.yaml')
-rw-r--r-- | screwdriver.yaml | 77 |
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 |