tools/fpgaci: add ux600 ux900 to zcclibbench #307
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Build SDK | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: true | |
on: | |
push: | |
paths: | |
- "Build/**" | |
- "application/**" | |
- "NMSIS/**" | |
- "OS/**" | |
- "SoC/**" | |
- "test/**" | |
- ".github/**" | |
- ".ci/**" | |
- "tools/**" | |
pull_request: | |
paths: | |
- "Build/**" | |
- "application/**" | |
- "NMSIS/**" | |
- "OS/**" | |
- "SoC/**" | |
- "test/**" | |
- ".github/**" | |
- ".ci/**" | |
- "tools/**" | |
jobs: | |
build: | |
name: Build SDK | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
os: [ubuntu-20.04] | |
soc: [evalsoc, gd32vf103] | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
submodules: recursive | |
fetch-depth: 0 | |
- name: Caching tools | |
uses: actions/cache@v3 | |
with: | |
path: | | |
prebuilt_tools/*.tar.bz2 | |
prebuilt_tools/*.zip | |
prebuilt_tools/*.tar.gz | |
key: build | |
- name: Prepare Tools for Ubuntu | |
if: startsWith(matrix.os, 'ubuntu') | |
run: | | |
sudo apt-get -q update | |
sudo apt install -yq python3 python3-pip unzip libz-dev libssl-dev libglib2.0-dev libfdt-dev libpixman-1-dev zlib1g-dev libncursesw5-dev libncursesw5 libgmp-dev libmpfr-dev libmpc-dev | |
sudo python3 -m pip install -q --upgrade pip | |
# install to user local storage | |
# ERROR: Cannot uninstall 'pyserial'. It is a distutils installed project and thus we cannot accurately determine which files belong to it which would lead to only a partial uninstall. | |
pip3 install -q -r tools/scripts/requirements.txt | |
mkdir -p prebuilt_tools | |
cd prebuilt_tools | |
echo "Prepare Nuclei Toolchain......" | |
toolzip=nuclei_riscv_newlibc_prebuilt_linux64_2024.06.tar.bz2 | |
if [ ! -e $toolzip ] ; then | |
echo "Download Nuclei toolchain now!" | |
wget --progress=dot:giga --no-check-certificate https://www.nucleisys.com/upload/files/toochain/gcc/$toolzip | |
ls -lh $toolzip | |
md5sum $toolzip | |
fi | |
tar -xjf $toolzip | |
echo "Prepare Nuclei QEMU......" | |
toolzip=nuclei-qemu-2024.06-linux-x64.tar.gz | |
if [ ! -e $toolzip ] ; then | |
echo "Download Nuclei qemu now!" | |
wget --progress=dot:giga --no-check-certificate https://www.nucleisys.com/upload/files/toochain/qemu/$toolzip | |
ls -lh $toolzip | |
md5sum $toolzip | |
fi | |
tar -xzf $toolzip | |
if [ -d linux_qemu ] ; then | |
mv linux_qemu qemu | |
fi | |
echo "Check gcc and qemu version" | |
ldd ./qemu/bin/qemu-system-riscv32 | |
./qemu/bin/qemu-system-riscv32 --version | |
./gcc/bin/riscv64-unknown-elf-gcc -v | |
cd .. | |
echo "NUCLEI_TOOL_ROOT=$(pwd)/prebuilt_tools" > setup_config.sh | |
- name: Build and Run SDK for Nuclei Eval SoC | |
if: matrix.soc == 'evalsoc' | |
run: | | |
echo "Setup build environment" | |
source setup.sh | |
export APPCFG=tools/scripts/nsdk_cli/configs/application.json | |
for hwcfg in "nuclei_fpga_eval_ci_qemu_small_gnu" "nuclei_fpga_eval_ci_qemu_small_llvm" ; do | |
export HWCFG=tools/scripts/nsdk_cli/configs/${hwcfg}.json | |
export LOGDIR=logs/${hwcfg} | |
echo "Build and run for ${hwcfg}" | |
python3 tools/scripts/nsdk_cli/nsdk_bench.py --appcfg $APPCFG --hwcfg $HWCFG --parallel="-j" --logdir $LOGDIR --run_target qemu --run | |
done | |
- name: Build SDK for GD32VF103 SoC | |
if: matrix.soc == 'gd32vf103' | |
run: | | |
echo "Setup build environment" | |
source setup.sh | |
export APPCFG=tools/scripts/nsdk_cli/configs/application.json | |
export HWCFG=tools/scripts/nsdk_cli/configs/gd32vf103v_rvstar.json | |
export LOGDIR=logs/gd32vf103v_rvstar | |
python3 tools/scripts/nsdk_cli/nsdk_bench.py --appcfg $APPCFG --hwcfg $HWCFG --parallel="-j" --logdir $LOGDIR | |
- name: Upload Build Log for ${{ matrix.soc }} | |
uses: actions/upload-artifact@v3 | |
with: | |
name: build_${{ matrix.soc }} | |
path: | | |
logs/* |