update the readme

This commit is contained in:
abejgonzalez
2019-07-09 16:15:04 -07:00
parent 00d59bd25d
commit 3e59bc0725

View File

@@ -1,7 +1,7 @@
Chipyard CI Chipyard CI
=========== ===========
Website: https://circleci.com/gh/ucb-bar/project-template Website: https://circleci.com/gh/ucb-bar/chipyard
CircleCI Brief Explanation CircleCI Brief Explanation
--------------------------- ---------------------------
@@ -35,11 +35,12 @@ Here the key is built from a string where the `checksum` portion converts the fi
This directory contains all the collateral for the Chipyard CI to work. This directory contains all the collateral for the Chipyard CI to work.
The following is included: The following is included:
build-toolchains.sh # build either riscv-tools or esp-tools `build-toolchains.sh` # build either riscv-tools or esp-tools
build-verilator.sh # build verilator `build-verilator.sh` # build verilator (remotely)
create-hash.sh # create hashes of riscv-tools/esp-tools so circleci caching can work `create-hash.sh` # create hashes of riscv-tools/esp-tools so circleci caching can work
do-rtl-build.sh # use verilator to build a sim executable `do-rtl-build.sh` # use verilator to build a sim executable (remotely)
config.yml # main circleci config script to enumerate jobs/workflows `config.yml` # main circleci config script to enumerate jobs/workflows
`defaults.sh` # default variables used
How things are setup for Chipyard How things are setup for Chipyard
--------------------------------- ---------------------------------
@@ -52,3 +53,18 @@ The docker image sets up the `PATH` and `RISCV` variable so that `riscv-tools` i
This requires the `riscv-tools` for `fesvr` and `verilator` to be able to build the binary. This requires the `riscv-tools` for `fesvr` and `verilator` to be able to build the binary.
This stores all collateral for the tests (srcs, generated-srcs, sim binary, etc) to run "out of the gate" in the next job (make needs everything or else it will run again). This stores all collateral for the tests (srcs, generated-srcs, sim binary, etc) to run "out of the gate" in the next job (make needs everything or else it will run again).
4th, finally run the tests that were wanted. 4th, finally run the tests that were wanted.
Other CI Setup
--------------
To get the CI to work correctly you need to setup CircleCI environment variables to point to the remote directory to build files and the server user/ip.
In the project settings, you can find this under "Build Settings" "Environment Variables".
You need to add two variables like the following:
CI\_DIR = /path/to/where/you/want/to/store/remote/files
SERVER = username@myserver.coolmachine.berkeley.edu
Additionally, you need to add under the "PERMISSIONS" "SSH Permissions" section a private key that is on the build server that you are using.
After adding a private key, it will show a fingerprint that should be added under the jobs that need to be run.
Note: On the remote server you need to have the `*.pub` key file added to the `authorized_keys` file.