diff options
Diffstat (limited to 'VexRiscv/.github/workflows/scala.yml')
-rw-r--r-- | VexRiscv/.github/workflows/scala.yml | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/VexRiscv/.github/workflows/scala.yml b/VexRiscv/.github/workflows/scala.yml new file mode 100644 index 0000000..9d2d2aa --- /dev/null +++ b/VexRiscv/.github/workflows/scala.yml @@ -0,0 +1,69 @@ +name: Scala CI + +on: [push, pull_request] + +jobs: + build: + runs-on: ubuntu-latest + timeout-minutes: 120 + + steps: + - uses: actions/checkout@v2 + with: + submodules: 'recursive' + + - name: Set up JDK 11 + uses: actions/setup-java@v2 + with: + java-version: '11' + distribution: 'adopt' + + - name: Cache pip + uses: actions/cache@v2 + with: + path: ~/.cache/pip + key: ${{ runner.os }}-pip-v2 + restore-keys: | + ${{ runner.os }}-pip- + + - name: Cache SBT + uses: actions/cache@v2 + with: + path: | + ~/.ivy2/cache + ~/.sbt + key: ${{ runner.os }}-sbt-${{ hashFiles('**/build.sbt') }} + + - name: Cache tools + id: tools + uses: actions/cache@v2 + with: + path: | + ~/tools + key: ${{ runner.os }}-tools_v4 + + - name: Setup env + run: echo "$HOME/tools/bin" >> $GITHUB_PATH + + - name: Install cached tools + if: steps.tools.outputs.cache-hit != 'true' + run: source tools.sh && (cd ~/ && install_verilator) + + - name: Install uncached tools + run: (cd .. && git clone https://github.com/SpinalHDL/SpinalHDL.git -b dev) + + - name: Compile tests + run: sbt "+test:compile" + + - name: Test Dhrystones + run: make regression_dhrystone -C scripts/regression + + - name: Test Baremetal + run: make regression_random_baremetal -C scripts/regression + + - name: Test Machine OS + run: make regression_random_machine_os -C scripts/regression + + - name: Test Linux + run: make regression_random_linux -C scripts/regression + |