Skip to content

Unit Tests

Unit Tests #347

Workflow file for this run

name: Unit Tests
on:
schedule:
# 6am UTC is 7am Central European Time (CET) or 8am Central European Summer Time (CEST).
- cron: '0 4 * * *'
push:
branches: [ "master" ]
pull_request:
branches: [ "master" ]
workflow_dispatch:
jobs:
Test_x86:
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v2
- name: Download GCC Cache
id: cache-GCC
uses: actions/cache@v3
env:
cache-name: cache-gcc-binaries
with:
path: ./Toolchain
key: gcc-binaries-${{ steps.date.outputs.date }}
restore-keys: |
gcc-binaries-
- name: Run Scalar Tests on x86
working-directory: ./Scripts
run: |
./unit_tests.sh -t x86
Test_Spike:
strategy:
fail-fast: false
matrix:
config:
- {args: "-t GCC -s Spike"}
- {args: "-t LLVM -s Spike"}
- {args: "-t GCC -s Spike -p"}
- {args: "-t GCC -s Spike -v -l 64 -e 64"}
- {args: "-t GCC -s Spike -v -l 128 -e 64"}
- {args: "-t GCC -s Spike -v -l 512 -e 64"}
# - {args: "-t LLVM -s Spike -v -l 64 -e 64"} # LLVM 17 does not fully support VLEN=64
- {args: "-t LLVM -s Spike -v -l 128 -e 64"}
- {args: "-t LLVM -s Spike -v -l 512 -e 64"}
- {args: "-t GCC -s Spike -v -i -l 64 -e 64"}
- {args: "-t GCC -s Spike -v -i -l 128 -e 64"}
- {args: "-t GCC -s Spike -v -i -l 512 -e 64"}
# - {args: "-t LLVM -s Spike -v -i -l 64 -e 64"} # LLVM 17 does not fully support VLEN=64
- {args: "-t LLVM -s Spike -v -i -l 128 -e 64"}
- {args: "-t LLVM -s Spike -v -i -l 512 -e 64"}
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v2
- name: Get date of last cache build
id: date
run: echo "::set-output name=date::$(date +'%Y-%m-%d' -d "last saturday")"
- name: Download Spike Cache
id: cache-Spike
uses: actions/cache@v3
env:
cache-name: cache-spike-binaries
with:
path: ./Sim/Spike/bin
key: spike-binaries-${{ steps.date.outputs.date }}
restore-keys: |
spike-binaries-
- name: Download GCC Cache
id: cache-GCC
uses: actions/cache@v3
env:
cache-name: cache-gcc-binaries
with:
path: ./Toolchain
key: gcc-binaries-${{ steps.date.outputs.date }}
restore-keys: |
gcc-binaries-
- name: Install Spike Dependencies
run: |
sudo apt-get install libboost-all-dev
sudo apt-get install device-tree-compiler
- name: Run Unit Tests on Spike
if: success() || failure()
working-directory: ./Scripts
run: |
./unit_tests.sh ${{ matrix.config.args }}
# Test_OVPsim:
# if: false
# strategy:
# max-parallel: 1
# fail-fast: false
# matrix:
# config:
# - {args: "-t GCC -s OVPsim"}
# - {args: "-t LLVM -s OVPsim"}
# - {args: "-t GCC -s OVPsim -p"}
# - {args: "-t GCC -s OVPsim -v -l 64 -e 64"}
# - {args: "-t GCC -s OVPsim -v -l 128 -e 64"}
# - {args: "-t GCC -s OVPsim -v -l 512 -e 64"}
# - {args: "-t LLVM -s OVPsim -v -l 64 -e 64"}
# - {args: "-t LLVM -s OVPsim -v -l 128 -e 64"}
# - {args: "-t LLVM -s OVPsim -v -l 512 -e 64"}
# - {args: "-t GCC -s OVPsim -v -i -l 64 -e 64"}
# - {args: "-t GCC -s OVPsim -v -i -l 128 -e 64"}
# - {args: "-t GCC -s OVPsim -v -i -l 512 -e 64"}
# - {args: "-t LLVM -s OVPsim -v -i -l 64 -e 64"}
# - {args: "-t LLVM -s OVPsim -v -i -l 128 -e 64"}
# - {args: "-t LLVM -s OVPsim -v -i -l 512 -e 64"}
#
# runs-on: ubuntu-20.04
# steps:
# - uses: actions/checkout@v2
#
# - name: Get date of last cache build
# id: date
# run: echo "::set-output name=date::$(date +'%Y-%m-%d' -d "last saturday")"
#
# - name: Download GCC Cache
# id: cache-GCC
# uses: actions/cache@v3
# env:
# cache-name: cache-gcc-binaries
# with:
# path: ./Toolchain
# key: gcc-binaries-${{ steps.date.outputs.date }}
# restore-keys: |
# gcc-binaries-
#
# - name: Run Unit Tests on OVPsim
# working-directory: ./Scripts
# run: |
# ./unit_tests.sh ${{ matrix.config.args }}