-
Notifications
You must be signed in to change notification settings - Fork 0
48 lines (46 loc) · 1.88 KB
/
build.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
name: CI
run-name: Continuous Integration
on: [push]
jobs:
CI:
name: Continuous Integration
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
with:
submodules: recursive
- name: Fetch nextpnr-ecp5 and Yosys
run: wget https://github.com/fallen/yosys_nextpnr_tools_for_ci/raw/main/tools.tar.gz
- name: Install nextpnr-ecp5 and Yosys
run: |
echo "PATH=/opt/bin:$PATH" >> "$GITHUB_ENV"
echo "LD_LIBRARY_PATH=/opt/lib:$LD_LIBRARY_PATH" >> "$GITHUB_ENV"
sudo tar -C / -xzf $PWD/tools.tar.gz
sudo apt-get -y install libboost-system1.74.0 libboost-python1.74.0 libboost-filesystem1.74.0 libboost-program-options1.74.0 libboost-thread1.74.0 libreadline8 libtcl8.6 libffi8 libexpat1
- name: Install Python requirements
run: |
sudo apt-get -y install python3-pip
sudo -H pip3 install --upgrade pip
pip install pipenv
pipenv install --ignore-pipfile
- name: Build the FPGA bitstream
run: |
nextpnr-ecp5 --version
yosys --version
pipenv run python3 ./sucrela.py --build
- name: Build the software
run: |
cd software/libuartbone
make
./uartbone_cli -h
- name: Run Simulation tests
run: |
pipenv run python3 ./sucrela.py --sim
- name: Fetch xpack RISC-V toolchain
run: wget https://github.com/xpack-dev-tools/riscv-none-elf-gcc-xpack/releases/download/v13.2.0-2/xpack-riscv-none-elf-gcc-13.2.0-2-linux-x64.tar.gz
- name: Unpack xpack RISC-V toolchain
run: |
sudo mkdir -p /opt
sudo tar -C /opt -xzf $PWD/xpack-riscv-none-elf-gcc-13.2.0-2-linux-x64.tar.gz
- name: Build SucreLA HydraUSB3 RISC-V firmware
run: PATH=/opt/xpack-riscv-none-elf-gcc-13.2.0-2/bin:$PATH make -C software/boards/hydrausb3/