ci: change github ci to use gcc13 and qemu 7.2 #180
Workflow file for this run
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/**" | |
pull_request: | |
paths: | |
- "Build/**" | |
- "application/**" | |
- "NMSIS/**" | |
- "OS/**" | |
- "SoC/**" | |
- "test/**" | |
- ".github/**" | |
- ".ci/**" | |
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 | |
key: build | |
- name: Prepare Tools for Ubuntu | |
if: startsWith(matrix.os, 'ubuntu') | |
run: | | |
sudo apt-get update | |
sudo apt install -y python3 python3-pip unzip | |
sudo python3 -m pip install --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 -r tools/scripts/requirements.txt | |
mkdir -p prebuilt_tools | |
cd prebuilt_tools | |
toolzip=nuclei_riscv_newlibc_prebuilt_linux64_nuclei-2023.07.19.tar.bz2 | |
if [ ! -e $toolzip ] ; then | |
wget --no-check-certificate https://nucleisys.com/upload/files/toochain/gcc/$toolzip | |
fi | |
tar -xjf $toolzip | |
toolzip=nuclei_qemu-2023.07.19-linux.zip | |
if [ ! -e $toolzip ] ; then | |
wget --no-check-certificate https://nucleisys.com/upload/files/toochain/qemu/$toolzip | |
fi | |
unzip $toolzip | |
if [ -d linux_qemu ] ; then | |
mv linux_qemu qemu | |
fi | |
cd .. | |
echo "NUCLEI_TOOL_ROOT=$(pwd)/prebuilt_tools" > setup_config.sh | |
- name: Build 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 | |
export HWCFG=tools/scripts/nsdk_cli/configs/nuclei_fpga_eval_ci.json | |
export LOGDIR=logs/nuclei_fpga_eval_ci | |
python3 tools/scripts/nsdk_cli/nsdk_bench.py --appcfg $APPCFG --hwcfg $HWCFG --parallel="-j" --logdir $LOGDIR --run_target qemu --run | |
- 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/* |