-
Notifications
You must be signed in to change notification settings - Fork 224
133 lines (115 loc) · 3.12 KB
/
Processor.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
# Check NEORV32 software framework and test processor
name: Processor
on:
push:
branches:
- main
paths:
- 'rtl/**'
- 'sw/**'
- 'sim/**'
pull_request:
branches:
- main
paths:
- 'rtl/**'
- 'sw/**'
- 'sim/**'
workflow_dispatch:
jobs:
Linux:
runs-on: ubuntu-latest
name: '🐧 Ubuntu | Shell script'
steps:
- name: '🧰 Repository Checkout'
uses: actions/checkout@v3
- name: '⚙️ Build Software Framework Tests'
uses: docker://ghcr.io/stnolting/neorv32/sim
with:
args: ./do.py BuildAndInstallSoftwareFrameworkTests
- name: '🚧 Run Processor Hardware Tests with shell script'
uses: docker://ghcr.io/stnolting/neorv32/sim
with:
args: ./sim/simple/ghdl.sh
VUnit-Container:
runs-on: ubuntu-latest
name: '🛳️ Container | VUnit'
steps:
- name: '🧰 Repository Checkout'
uses: actions/checkout@v3
- name: '⚙️ Build and install Processor Check software'
uses: docker://ghcr.io/stnolting/neorv32/sim
with:
args: >-
make -C sw/example/processor_check
clean_all
USER_FLAGS+=-DRUN_CHECK
USER_FLAGS+=-DUART0_SIM_MODE
USER_FLAGS+=-DSUPPRESS_OPTIONAL_UART_PRINT
USER_FLAGS+=-flto
MARCH=rv32imc
info
all
- name: '📤 Archive Processor Check application image'
uses: actions/upload-artifact@v3
with:
name: application
path: rtl/core/neorv32_application_image.vhd
- name: '🚧 Run Processor Hardware Tests with VUnit'
uses: VUnit/vunit_action@master
with:
image: ghcr.io/stnolting/neorv32/sim
cmd: ./sim/run.py --ci-mode -v
# Windows:
# runs-on: windows-latest
# strategy:
# fail-fast: false
# matrix:
# include: [
# {icon: '⬛', installs: 'MINGW32' },
# {icon: '🟦', installs: 'MINGW64' },
# ]
# name: '${{ matrix.icon }} ${{ matrix.installs }} | VUnit'
# defaults:
# run:
# shell: msys2 {0}
# steps:
#
# - name: '⚙️ git config'
# run: git config --global core.autocrlf input
# shell: bash
#
# - name: '🧰 Checkout'
# uses: actions/checkout@v3
# with:
# # The command 'git describe' (used for version) needs the history.
# fetch-depth: 0
#
# - name: '${{ matrix.icon }} Setup MSYS2'
# uses: msys2/setup-msys2@v2
# with:
# msystem: ${{ matrix.installs }}
# update: true
# install: make
# pacboy: >
# ghdl:p
# python-pip:p
# riscv64-unknown-elf-gcc:p
#
# - name: '⚙️ Build and install Processor Check software'
# run: |
# make -C sw/example/processor_check \
# RISCV_PREFIX=riscv64-unknown-elf- \
# clean_all \
# USER_FLAGS+=-DRUN_CHECK \
# USER_FLAGS+=-DUART0_SIM_MODE \
# USER_FLAGS+=-DSUPPRESS_OPTIONAL_UART_PRINT \
# MARCH=rv32imc \
# info \
# all
#
# - name: '🐍 Install VUnit'
# run: pip install vunit_hdl
#
# - name: '🚧 Run Processor Hardware Tests with VUnit'
# run: ./sim/run.py --ci-mode -v