summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSchuyler Eldridge2020-07-15 16:46:06 -0400
committerGitHub2020-07-15 20:46:06 +0000
commit4a0e828cfe76e0d3bd6c4a0cc593589fe74ed0ba (patch)
treebdc4b01f612398894ce03119793261a594f4f4fa
parent9dda7f51dc7e515cec6e1d3445370df607652958 (diff)
Add Treadle to CI builds (#1516)
Change CI to build Treadle master from source. This fixes a bug where Treadle would be pulled from the latest snapshot (which would pull the latest FIRRTL snapshot). For bleeding edge PRs that rely on new FIRRTL features, using a FIRRTL snapshot may result in compilation failures. Signed-off-by: Schuyler Eldridge <schuyler.eldridge@ibm.com>
-rw-r--r--.circleci/config.yml33
1 files changed, 31 insertions, 2 deletions
diff --git a/.circleci/config.yml b/.circleci/config.yml
index 1bcac0e6..78ae63b2 100644
--- a/.circleci/config.yml
+++ b/.circleci/config.yml
@@ -22,6 +22,9 @@ executors:
FIRRTL_REPO: git@github.com:freechipsproject/firrtl.git
FIRRTL_BRANCH: master
FIRRTL_REV: master
+ TREADLE_REPO: git@github.com:freechipsproject/treadle.git
+ TREADLE_BRANCH: master
+ TREADLE_REV: master
CHECKSTYLE_LIMIT: 40
SBT_ARGS: ""
@@ -63,6 +66,8 @@ jobs:
ls -l
git clone --depth 10 --branch $FIRRTL_BRANCH "$FIRRTL_REPO" firrtl && (cd firrtl && git checkout $FIRRTL_REV)
echo $FIRRTL_REV && (cd firrtl && git log -1 > ../firrtl.log)
+ git clone --depth 10 --branch $TREADLE_BRANCH "$TREADLE_REPO" treadle && (cd treadle && git checkout $TREADLE_REV)
+ echo $TREADLE_REV && (cd treadle && git log -1 > ../treadle.log)
- persist_to_workspace:
@@ -94,6 +99,27 @@ jobs:
- .m2
- .sbt
+ build-treadle:
+ executor: chisel-executor
+
+ steps:
+ - attach_workspace:
+ at: /home/chisel
+
+ # publish Treadle
+ - run:
+ command: |
+ date > date.treadle
+ (cd treadle && cat /dev/null | sbt $SBT_ARGS +publishLocal)
+
+ - persist_to_workspace:
+ root: /home/chisel
+ paths:
+ - repo
+ - .ivy2
+ - .m2
+ - .sbt
+
# Define a pure build chisel - currently unused since we can compile and test chisel in one step
# and we don't have downstream jobs that need the published version of chisel.
build-chisel:
@@ -145,12 +171,15 @@ workflows:
- build-firrtl:
requires:
- build-prep
- - test-chisel-2_11:
+ - build-treadle:
requires:
- build-firrtl
+ - test-chisel-2_11:
+ requires:
+ - build-treadle
- test-chisel-2_12:
requires:
- - build-firrtl
+ - build-treadle
- checkstyle-chisel:
# Strictly speaking, this is only dependent on build-firrtl,
# but it is faster than the test jobs so if it fails,