Skip to content

Commit 84077f1

Browse files
committed
Add CI workflow for building and testing
1 parent 6bccb72 commit 84077f1

File tree

1 file changed

+52
-0
lines changed

1 file changed

+52
-0
lines changed

.github/workflows/ci.yml

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
name: CI
2+
3+
on:
4+
push:
5+
branches: [main, master]
6+
pull_request:
7+
branches: [main, master]
8+
9+
jobs:
10+
build:
11+
runs-on: ubuntu-latest
12+
13+
steps:
14+
- name: Checkout code
15+
uses: actions/checkout@v4
16+
17+
- name: Install dependencies
18+
run: |
19+
sudo apt-get update
20+
sudo apt-get install -y build-essential qemu-system-riscv32
21+
22+
- name: Download RISC-V GNU Toolchain
23+
run: |
24+
wget https://github.com/riscv-collab/riscv-gnu-toolchain/releases/download/2024.02.02/riscv32-elf-ubuntu-22.04-gcc-nightly-2024.02.02-nightly.tar.gz
25+
tar -xzf riscv32-elf-ubuntu-22.04-gcc-nightly-2024.02.02-nightly.tar.gz
26+
echo "$PWD/riscv/bin" >> $GITHUB_PATH
27+
28+
- name: Verify toolchain installation
29+
run: |
30+
riscv32-unknown-elf-gcc --version
31+
qemu-system-riscv32 --version
32+
env:
33+
CROSS_COMPILE: riscv32-unknown-elf-
34+
35+
- name: Build Linmo kernel
36+
run: |
37+
make clean
38+
make
39+
env:
40+
CROSS_COMPILE: riscv32-unknown-elf-
41+
42+
- name: Build hello example
43+
run: |
44+
make hello
45+
env:
46+
CROSS_COMPILE: riscv32-unknown-elf-
47+
48+
- name: Verify build artifacts
49+
run: |
50+
ls -la build/
51+
file build/liblinmo.a
52+
file build/image.elf

0 commit comments

Comments
 (0)