-
Notifications
You must be signed in to change notification settings - Fork 89
90 lines (85 loc) · 3.34 KB
/
ci.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
name: ci
env:
TERM: xterm # Makes tput work in actions output
# Controls when the action will run. Triggers the workflow on push or pull request
# events but only for the master branch
on:
pull_request: # Run CI for PRs on any branch
merge_group:
jobs:
ci-format:
strategy:
matrix:
os: [ubuntu-20.04]
# The type of runner that the job will run on
runs-on: ${{ matrix.os }}
# Steps represent a sequence of tasks that will be executed as part of the job
steps:
- uses: actions/checkout@v2
with:
submodules: false # LVGL makefile manually installs the submodule
- uses: fiam/arm-none-eabi-gcc@v1
with:
release: '10-2020-q4' # The arm-none-eabi-gcc release to use.
- name: setup-riscv-toolchain
run: |
RISCV_TOOLCHAIN_MIRRORS=(\
"http://www.cs.virginia.edu/~bjc8c/archive/gcc-riscv64-unknown-elf-8.3.0-ubuntu.zip" \
"https://alpha.mirror.svc.schuermann.io/files/2023-08-17_gcc-riscv64-unknown-elf-8.3.0-ubuntu.zip"\
)
pushd $HOME
for MIRROR in ${RISCV_TOOLCHAIN_MIRRORS[@]}; do
echo "Fetching RISC-V toolchain from ${MIRROR}..."
wget -Oriscv-toolchain.zip -q "$MIRROR" &&\
(echo "2c82a8f3ac77bf2b24d66abff3aa5e873750c76de24c77e12dae91b9d2f4da27 riscv-toolchain.zip" |\
sha256sum -c)
if [ $? -ne 0 ]; then
echo "WARNING: Fetching RISC-V from mirror $MIRROR failed!" >&2
else
break
fi
done
unzip riscv-toolchain.zip
echo "$HOME/gcc-riscv64-unknown-elf-8.3.0-ubuntu/bin" >> $GITHUB_PATH
popd
- name: ci-format
run: pushd examples; ./format_all.sh || exit; popd
ci-build:
strategy:
matrix:
os: [ubuntu-20.04]
# The type of runner that the job will run on
runs-on: ${{ matrix.os }}
# Steps represent a sequence of tasks that will be executed as part of the job
steps:
- uses: actions/checkout@v2
with:
submodules: recursive
- uses: fiam/arm-none-eabi-gcc@v1
with:
release: '10-2020-q4' # The arm-none-eabi-gcc release to use.
- name: setup-riscv-toolchain
run: |
RISCV_TOOLCHAIN_MIRRORS=(\
"http://www.cs.virginia.edu/~bjc8c/archive/gcc-riscv64-unknown-elf-8.3.0-ubuntu.zip" \
"https://alpha.mirror.svc.schuermann.io/files/2023-08-17_gcc-riscv64-unknown-elf-8.3.0-ubuntu.zip"\
)
pushd $HOME
for MIRROR in ${RISCV_TOOLCHAIN_MIRRORS[@]}; do
echo "Fetching RISC-V toolchain from ${MIRROR}..."
wget -Oriscv-toolchain.zip -q "$MIRROR" &&\
(echo "2c82a8f3ac77bf2b24d66abff3aa5e873750c76de24c77e12dae91b9d2f4da27 riscv-toolchain.zip" |\
sha256sum -c)
if [ $? -ne 0 ]; then
echo "WARNING: Fetching RISC-V from mirror $MIRROR failed!" >&2
else
break
fi
done
unzip riscv-toolchain.zip
echo "$HOME/gcc-riscv64-unknown-elf-8.3.0-ubuntu/bin" >> $GITHUB_PATH
popd
- name: ci-build
run: pushd examples; RISCV=1 ./build_all.sh || exit; popd
- name: ci-debug-build
run: pushd examples/blink; make debug RAM_START=0x20004000 FLASH_INIT=0x30051 || exit; popd