aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.github/ISSUE_TEMPLATE/custom.md16
-rw-r--r--.github/PULL_REQUEST_TEMPLATE.md13
-rw-r--r--.github/workflows/ci.yml29
-rw-r--r--Makefile4
4 files changed, 60 insertions, 2 deletions
diff --git a/.github/ISSUE_TEMPLATE/custom.md b/.github/ISSUE_TEMPLATE/custom.md
new file mode 100644
index 0000000..7bb4e03
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/custom.md
@@ -0,0 +1,16 @@
+---
+name: Custom issue template
+about: General issues, both bugs and features.
+title: ''
+labels: ''
+assignees: mssola
+---
+
+### Description
+
+- **Expected behavior**: I expected this to happen!
+- **Actual behavior**: But this happened...
+- **Provide the versions** of:
+ - pudc (git commit sha).
+ - Toolchain version: gcc, cross compiler et. al.
+ - Version of QEMU or identifier of the board being used.
diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md
new file mode 100644
index 0000000..c94849c
--- /dev/null
+++ b/.github/PULL_REQUEST_TEMPLATE.md
@@ -0,0 +1,13 @@
+Provide a general description of the changes in your pull request. If this pull
+request fixes a known issue, please tag it as well (e.g.: `Fixes #1`). In any
+case:
+
+- [ ] Write a [good commit message](https://chris.beams.io/posts/git-commit/).
+ Extra points if it's in the style of the [Linux
+ kernel](https://docs.kernel.org/process/submitting-patches.html).
+- [ ] Make sure that `make` continues to work.
+- [ ] Make sure that `make lint` does not report any issues.
+- [ ] The pull request has *only* one subject and a clear title. You are not
+ submitting a pull request with tons of different unrelated commits.
+
+Thanks!
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
new file mode 100644
index 0000000..14ed8b1
--- /dev/null
+++ b/.github/workflows/ci.yml
@@ -0,0 +1,29 @@
+name: CI
+
+on:
+ push:
+ branches: [main]
+ pull_request:
+ branches: [main]
+
+env:
+ CROSS_COMPILE: riscv64-linux-gnu-
+ CC_SUFFIX: -14
+
+jobs:
+ test:
+ name: Continuous Integration
+ runs-on: ubuntu-24.04
+
+ steps:
+ - name: Checkout Code
+ uses: actions/checkout@v4
+
+ - name: Install dependencies from Ubuntu sources
+ run: sudo apt-get install clang-format gcc-14-riscv64-linux-gnu
+
+ - name: Lint
+ run: make lint V=1
+
+ - name: Build and run unit tests with DEBUG on
+ run: make V=1 DEBUG=1
diff --git a/Makefile b/Makefile
index 387810e..52ad5dd 100644
--- a/Makefile
+++ b/Makefile
@@ -28,8 +28,8 @@ KERNEL = $(LINUX_SOURCE)/arch/$(ARCH)/boot/Image
# everything is in assembly anyways and everything is statically linked. Hence
# no `-mcpu`, no `-mtune`, no funny business.
-CC = $(CROSS_COMPILE)gcc
-LD = $(CROSS_COMPILE)gcc
+CC = $(CROSS_COMPILE)gcc$(CC_SUFFIX)
+LD = $(CROSS_COMPILE)gcc$(CC_SUFFIX)
ISA ?= rv64imafdc_zicntr_zicsr_zifencei_zihpm_zca_zcd_zba_zbb
INCLUDES = -Iinclude/
ASFLAGS = -march=$(ISA) -mabi=lp64d $(INCLUDES)