From bce613ce38e91a39157d67be4bd54d6b9ca48cc6 Mon Sep 17 00:00:00 2001 From: Colin Schmidt Date: Wed, 17 May 2017 11:58:09 -0700 Subject: [PATCH 01/11] try using a new travis staging feature The idea is to let us avoid building the tools for each SUITE --- .travis.yml | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/.travis.yml b/.travis.yml index b5f61041..81a1e8b5 100644 --- a/.travis.yml +++ b/.travis.yml @@ -48,15 +48,19 @@ branches: - boom - /^hurricane.*$/ -install: - - make tools verilator -C regression SUITE=none +jobs: + include: + - stage: Install Tools + install: + - make tools verilator -C regression SUITE=none + before_install: + - export CXX=g++-4.8 CC=gcc-4.8 + before_cache: + - ls -t regression/install | tail -n+2 | sed s@^@regression/install/@ | xargs rm -rf + - stage: Test + script: + - make emulator-ndebug -C regression SUITE=$SUITE + - travis_wait 30 make emulator-regression-tests -C regression SUITE=$SUITE -before_install: - - export CXX=g++-4.8 CC=gcc-4.8 -script: - - make emulator-ndebug -C regression SUITE=$SUITE - - travis_wait 30 make emulator-regression-tests -C regression SUITE=$SUITE -before_cache: - - ls -t regression/install | tail -n+2 | sed s@^@regression/install/@ | xargs rm -rf From 83a5230e914b9d43495c326962b9699726754b55 Mon Sep 17 00:00:00 2001 From: Colin Schmidt Date: Wed, 17 May 2017 12:13:31 -0700 Subject: [PATCH 02/11] change install to script? --- .travis.yml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/.travis.yml b/.travis.yml index 81a1e8b5..731a9aae 100644 --- a/.travis.yml +++ b/.travis.yml @@ -51,7 +51,7 @@ branches: jobs: include: - stage: Install Tools - install: + script: - make tools verilator -C regression SUITE=none before_install: - export CXX=g++-4.8 CC=gcc-4.8 @@ -62,5 +62,3 @@ jobs: - make emulator-ndebug -C regression SUITE=$SUITE - travis_wait 30 make emulator-regression-tests -C regression SUITE=$SUITE - - From b9fc169367b9039275bb333a18b2cea83d3368d5 Mon Sep 17 00:00:00 2001 From: Colin Schmidt Date: Wed, 17 May 2017 12:24:41 -0700 Subject: [PATCH 03/11] try another stages organization --- .travis.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.travis.yml b/.travis.yml index 731a9aae..d8286218 100644 --- a/.travis.yml +++ b/.travis.yml @@ -48,17 +48,17 @@ branches: - boom - /^hurricane.*$/ +script: + - make emulator-ndebug -C regression SUITE=$SUITE + - travis_wait 30 make emulator-regression-tests -C regression SUITE=$SUITE jobs: include: - - stage: Install Tools + - stage: prepare cache script: - make tools verilator -C regression SUITE=none before_install: - export CXX=g++-4.8 CC=gcc-4.8 before_cache: - ls -t regression/install | tail -n+2 | sed s@^@regression/install/@ | xargs rm -rf - - stage: Test - script: - - make emulator-ndebug -C regression SUITE=$SUITE - - travis_wait 30 make emulator-regression-tests -C regression SUITE=$SUITE + env: SUITE=none From b7dc4155226dcfd6dec565676ef131231e857ea4 Mon Sep 17 00:00:00 2001 From: Colin Schmidt Date: Wed, 17 May 2017 12:28:01 -0700 Subject: [PATCH 04/11] maybe this will order them with deploy last --- .travis.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.travis.yml b/.travis.yml index d8286218..1557e071 100644 --- a/.travis.yml +++ b/.travis.yml @@ -48,9 +48,11 @@ branches: - boom - /^hurricane.*$/ +stage: deploy script: - make emulator-ndebug -C regression SUITE=$SUITE - travis_wait 30 make emulator-regression-tests -C regression SUITE=$SUITE + jobs: include: - stage: prepare cache From f3775cbbbf6d2a56052991a7097de38a91e02a22 Mon Sep 17 00:00:00 2001 From: Colin Schmidt Date: Wed, 17 May 2017 12:31:13 -0700 Subject: [PATCH 05/11] try moving matrix into jobs --- .travis.yml | 23 +++++++++++------------ 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/.travis.yml b/.travis.yml index 1557e071..b79b1a6e 100644 --- a/.travis.yml +++ b/.travis.yml @@ -33,13 +33,6 @@ addons: - device-tree-compiler - libusb-1.0-0-dev -env: - matrix: - - SUITE=RocketSuiteA - - SUITE=RocketSuiteB - - SUITE=RocketSuiteC - - SUITE=GroundtestSuite - - SUITE=UnittestSuite # blacklist private branches branches: @@ -48,11 +41,6 @@ branches: - boom - /^hurricane.*$/ -stage: deploy -script: - - make emulator-ndebug -C regression SUITE=$SUITE - - travis_wait 30 make emulator-regression-tests -C regression SUITE=$SUITE - jobs: include: - stage: prepare cache @@ -63,4 +51,15 @@ jobs: before_cache: - ls -t regression/install | tail -n+2 | sed s@^@regression/install/@ | xargs rm -rf env: SUITE=none + - stage: deploy + script: + - make emulator-ndebug -C regression SUITE=$SUITE + - travis_wait 30 make emulator-regression-tests -C regression SUITE=$SUITE + env: + matrix: + - SUITE=RocketSuiteA + - SUITE=RocketSuiteB + - SUITE=RocketSuiteC + - SUITE=GroundtestSuite + - SUITE=UnittestSuite From 2f3e22aff61088c3c7049b3b9b21056a4c6c056f Mon Sep 17 00:00:00 2001 From: Colin Schmidt Date: Wed, 17 May 2017 12:34:11 -0700 Subject: [PATCH 06/11] matrix outside after jobs --- .travis.yml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/.travis.yml b/.travis.yml index b79b1a6e..a4177934 100644 --- a/.travis.yml +++ b/.travis.yml @@ -55,11 +55,11 @@ jobs: script: - make emulator-ndebug -C regression SUITE=$SUITE - travis_wait 30 make emulator-regression-tests -C regression SUITE=$SUITE - env: - matrix: - - SUITE=RocketSuiteA - - SUITE=RocketSuiteB - - SUITE=RocketSuiteC - - SUITE=GroundtestSuite - - SUITE=UnittestSuite +env: + matrix: + - SUITE=RocketSuiteA + - SUITE=RocketSuiteB + - SUITE=RocketSuiteC + - SUITE=GroundtestSuite + - SUITE=UnittestSuite From 62a54e6bdbd855808dd62230ef84fcd9ed36e5c9 Mon Sep 17 00:00:00 2001 From: Colin Schmidt Date: Wed, 17 May 2017 12:36:49 -0700 Subject: [PATCH 07/11] inline the env matrix --- .travis.yml | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/.travis.yml b/.travis.yml index a4177934..a3ce6356 100644 --- a/.travis.yml +++ b/.travis.yml @@ -55,11 +55,9 @@ jobs: script: - make emulator-ndebug -C regression SUITE=$SUITE - travis_wait 30 make emulator-regression-tests -C regression SUITE=$SUITE + env: SUITE=RocketSuiteA + env: SUITE=RocketSuiteB + env: SUITE=RocketSuiteC + env: SUITE=GroundtestSuite + env: SUITE=UnittestSuite -env: - matrix: - - SUITE=RocketSuiteA - - SUITE=RocketSuiteB - - SUITE=RocketSuiteC - - SUITE=GroundtestSuite - - SUITE=UnittestSuite From 0c382204d4ef360958c25a84f17bffb370f7c347 Mon Sep 17 00:00:00 2001 From: Colin Schmidt Date: Wed, 17 May 2017 12:38:52 -0700 Subject: [PATCH 08/11] give them all stages --- .travis.yml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index a3ce6356..f9a5acad 100644 --- a/.travis.yml +++ b/.travis.yml @@ -51,13 +51,17 @@ jobs: before_cache: - ls -t regression/install | tail -n+2 | sed s@^@regression/install/@ | xargs rm -rf env: SUITE=none - - stage: deploy + - stage: Test script: - make emulator-ndebug -C regression SUITE=$SUITE - travis_wait 30 make emulator-regression-tests -C regression SUITE=$SUITE env: SUITE=RocketSuiteA + - stage: Test env: SUITE=RocketSuiteB + - stage: Test env: SUITE=RocketSuiteC + - stage: Test env: SUITE=GroundtestSuite + - stage: Test env: SUITE=UnittestSuite From 66d660ff60471821b98c2831c2fd836cad4afa38 Mon Sep 17 00:00:00 2001 From: Colin Schmidt Date: Wed, 17 May 2017 14:41:04 -0700 Subject: [PATCH 09/11] use YAML to condense script replication --- .travis.yml | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/.travis.yml b/.travis.yml index f9a5acad..f5fbfc3f 100644 --- a/.travis.yml +++ b/.travis.yml @@ -51,17 +51,18 @@ jobs: before_cache: - ls -t regression/install | tail -n+2 | sed s@^@regression/install/@ | xargs rm -rf env: SUITE=none - - stage: Test + - &test + stage: Test script: - make emulator-ndebug -C regression SUITE=$SUITE - travis_wait 30 make emulator-regression-tests -C regression SUITE=$SUITE env: SUITE=RocketSuiteA - - stage: Test + - <<: *test env: SUITE=RocketSuiteB - - stage: Test + - <<: *test env: SUITE=RocketSuiteC - - stage: Test + - <<: *test env: SUITE=GroundtestSuite - - stage: Test + - <<: *test env: SUITE=UnittestSuite From 617dd6fe1e6face5638793e535dd129348472d0f Mon Sep 17 00:00:00 2001 From: Colin Schmidt Date: Thu, 18 May 2017 11:06:43 -0700 Subject: [PATCH 10/11] try travis suggestion on the jvm stages --- .travis.yml | 5 +++-- Makefrag | 5 +++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/.travis.yml b/.travis.yml index f5fbfc3f..b3e1e4e8 100644 --- a/.travis.yml +++ b/.travis.yml @@ -52,10 +52,11 @@ jobs: - ls -t regression/install | tail -n+2 | sed s@^@regression/install/@ | xargs rm -rf env: SUITE=none - &test + sudo: required stage: Test script: - - make emulator-ndebug -C regression SUITE=$SUITE - - travis_wait 30 make emulator-regression-tests -C regression SUITE=$SUITE + - make emulator-ndebug -C regression SUITE=$SUITE JVM_MEMORY=6G + - travis_wait 30 make emulator-regression-tests -C regression SUITE=$SUITE JVM_MEMORY=6G env: SUITE=RocketSuiteA - <<: *test env: SUITE=RocketSuiteB diff --git a/Makefrag b/Makefrag index 9f6fddbd..47400577 100644 --- a/Makefrag +++ b/Makefrag @@ -12,12 +12,13 @@ long_name = $(PROJECT).$(CONFIG) CXX ?= g++ CXXFLAGS := -O1 +JVM_MEMORY ?= 2G -SBT ?= java -Xmx2G -Xss8M -XX:MaxPermSize=256M -jar $(base_dir)/sbt-launch.jar +SBT ?= java -Xmx$(JVM_MEMORY) -Xss8M -XX:MaxPermSize=256M -jar $(base_dir)/sbt-launch.jar SHELL := /bin/bash FIRRTL_JAR ?= $(base_dir)/firrtl/utils/bin/firrtl.jar -FIRRTL ?= java -Xmx2G -Xss8M -XX:MaxPermSize=256M -cp $(FIRRTL_JAR) firrtl.Driver +FIRRTL ?= java -Xmx$(JVM_MEMORY) -Xss8M -XX:MaxPermSize=256M -cp $(FIRRTL_JAR) firrtl.Driver # Build firrtl.jar and put it where chisel3 can find it. $(FIRRTL_JAR): $(shell find $(base_dir)/firrtl/src/main/scala -iname "*.scala") From d0c00eccb960a68b97225ae35a841686eef6d174 Mon Sep 17 00:00:00 2001 From: Colin Schmidt Date: Thu, 18 May 2017 11:33:23 -0700 Subject: [PATCH 11/11] caches don't transfer across sudo flag changes --- .travis.yml | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/.travis.yml b/.travis.yml index b3e1e4e8..eb188274 100644 --- a/.travis.yml +++ b/.travis.yml @@ -52,11 +52,10 @@ jobs: - ls -t regression/install | tail -n+2 | sed s@^@regression/install/@ | xargs rm -rf env: SUITE=none - &test - sudo: required stage: Test script: - - make emulator-ndebug -C regression SUITE=$SUITE JVM_MEMORY=6G - - travis_wait 30 make emulator-regression-tests -C regression SUITE=$SUITE JVM_MEMORY=6G + - make emulator-ndebug -C regression SUITE=$SUITE JVM_MEMORY=3G + - travis_wait 30 make emulator-regression-tests -C regression SUITE=$SUITE JVM_MEMORY=3G env: SUITE=RocketSuiteA - <<: *test env: SUITE=RocketSuiteB