Several tweaks and experiments with Gitlab CI
- made the runner name explicit (ubuntu-22.04 instead of ubuntu-latest) - use checkout action v3 (not v2) - silences a Github warning - attempted to cache dependencies - reordered the actions a bit so that the cached items are handled first - installed all dependencies to /opt/riscv so that they can be cached more easily as a bulk Change-Id: Icc9c31b20d6302ca378cfafb4f7b283b6e481520 Signed-off-by: Jan Matyas <jan.matyas@codasip.com>
This commit is contained in:
parent
13b0afaf82
commit
67cddebde3
|
@ -12,49 +12,60 @@ on: pull_request
|
|||
jobs:
|
||||
test:
|
||||
name: Test debug (Ubuntu)
|
||||
runs-on: ubuntu-latest
|
||||
runs-on: ubuntu-22.04
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/checkout@v3
|
||||
|
||||
- name: Install Dependencies
|
||||
- name: Cache dependencies
|
||||
id: cache-deps
|
||||
uses: actions/cache@v3
|
||||
with:
|
||||
path: /opt/riscv
|
||||
|
||||
- if: ${{ steps.cache-deps.outputs.cache-hit != 'true' }}
|
||||
name: Download Toolchain
|
||||
run: wget --progress=dot:giga https://github.com/xpack-dev-tools/riscv-none-elf-gcc-xpack/releases/download/v12.2.0-1/xpack-riscv-none-elf-gcc-12.2.0-1-linux-x64.tar.gz
|
||||
|
||||
- if: ${{ steps.cache-deps.outputs.cache-hit != 'true' }}
|
||||
name: Install Toolchain
|
||||
run: tar zxf --strip-components=1 -C /opt/riscv xpack-riscv-none-elf-gcc-12.2.0-1-linux-x64.tar.gz
|
||||
|
||||
- if: ${{ steps.cache-deps.outputs.cache-hit != 'true' }}
|
||||
name: Download Spike source
|
||||
run: |
|
||||
git clone --recurse-submodules https://github.com/riscv-software-src/riscv-isa-sim
|
||||
#cd riscv-isa-sim
|
||||
#git checkout 43ea20dfbb6c815004a51106a3b2009d7f6c4940
|
||||
|
||||
- if: ${{ steps.cache-deps.outputs.cache-hit != 'true' }}
|
||||
name: Install Spike build dependencies
|
||||
run: |
|
||||
sudo apt install build-essential device-tree-compiler
|
||||
|
||||
- if: ${{ steps.cache-deps.outputs.cache-hit != 'true' }}
|
||||
name: Build Spike
|
||||
run: |
|
||||
cd riscv-isa-sim
|
||||
mkdir build install
|
||||
cd build
|
||||
../configure --prefix=/opt/riscv
|
||||
make -j"$(nproc 2> /dev/null || sysctl -n hw.ncpu)"
|
||||
make install
|
||||
|
||||
- name: Build OpenOCD
|
||||
run: |
|
||||
#cd riscv-openocd
|
||||
./bootstrap
|
||||
./configure --prefix=/opt/riscv
|
||||
make -j"$(nproc 2> /dev/null || sysctl -n hw.ncpu)"
|
||||
ls -l src/openocd
|
||||
|
||||
# - name: Download OpenOCD
|
||||
# run: |
|
||||
# git clone --recurse-submodules https://github.com/riscv/riscv-openocd.git
|
||||
# cd riscv-openocd
|
||||
# git checkout 43ea20dfbb6c815004a51106a3b2009d7f6c4940
|
||||
|
||||
- name: Build OpenOCD
|
||||
run: |
|
||||
#cd riscv-openocd
|
||||
./bootstrap
|
||||
./configure
|
||||
make -j"$(nproc 2> /dev/null || sysctl -n hw.ncpu)"
|
||||
ls -l src/openocd
|
||||
|
||||
- name: Download Toolchain
|
||||
run: wget --progress=dot:giga https://github.com/xpack-dev-tools/riscv-none-elf-gcc-xpack/releases/download/v12.2.0-1/xpack-riscv-none-elf-gcc-12.2.0-1-linux-x64.tar.gz
|
||||
|
||||
- name: Install Toolchain
|
||||
run: tar zxf xpack-riscv-none-elf-gcc-12.2.0-1-linux-x64.tar.gz
|
||||
|
||||
- name: Download spike
|
||||
run: |
|
||||
git clone --recurse-submodules https://github.com/riscv-software-src/riscv-isa-sim
|
||||
#cd riscv-isa-sim
|
||||
#git checkout 43ea20dfbb6c815004a51106a3b2009d7f6c4940
|
||||
|
||||
- name: Build Spike
|
||||
run: |
|
||||
cd riscv-isa-sim
|
||||
mkdir build install
|
||||
cd build
|
||||
../configure --prefix=`pwd`/install
|
||||
make -j"$(nproc 2> /dev/null || sysctl -n hw.ncpu)"
|
||||
make install
|
||||
|
||||
- name: Download Tests
|
||||
run: |
|
||||
git clone --recurse-submodules https://github.com/riscv-software-src/riscv-tests.git
|
||||
|
@ -65,12 +76,12 @@ jobs:
|
|||
run: |
|
||||
cd riscv-tests/debug
|
||||
./gdbserver.py targets/RISC-V/spike32.py --print-failures \
|
||||
--gcc $GITHUB_WORKSPACE/xpack-riscv-none-elf-gcc-12.2.0-1/bin/riscv-none-elf-gcc \
|
||||
--gdb $GITHUB_WORKSPACE/xpack-riscv-none-elf-gcc-12.2.0-1/bin/riscv-none-elf-gdb \
|
||||
--sim_cmd $GITHUB_WORKSPACE/riscv-isa-sim/build/install/bin/spike \
|
||||
--gcc /opt/riscv/bin/riscv-none-elf-gcc \
|
||||
--gdb /opt/riscv/bin/riscv-none-elf-gdb \
|
||||
--sim_cmd /opt/riscv/bin/spike \
|
||||
--server_cmd $GITHUB_WORKSPACE/src/openocd
|
||||
./gdbserver.py targets/RISC-V/spike64-2.py --print-failures \
|
||||
--gcc $GITHUB_WORKSPACE/xpack-riscv-none-elf-gcc-12.2.0-1/bin/riscv-none-elf-gcc \
|
||||
--gdb $GITHUB_WORKSPACE/xpack-riscv-none-elf-gcc-12.2.0-1/bin/riscv-none-elf-gdb \
|
||||
--sim_cmd $GITHUB_WORKSPACE/riscv-isa-sim/build/install/bin/spike \
|
||||
--gcc /opt/riscv/bin/riscv-none-elf-gcc \
|
||||
--gdb /opt/riscv/bin/riscv-none-elf-gdb \
|
||||
--sim_cmd /opt/riscv/bin/spike \
|
||||
--server_cmd $GITHUB_WORKSPACE/src/openocd
|
||||
|
|
Loading…
Reference in New Issue