diff options
| -rw-r--r-- | .github/ISSUE_TEMPLATE/custom.md | 16 | ||||
| -rw-r--r-- | .github/PULL_REQUEST_TEMPLATE.md | 13 | ||||
| -rw-r--r-- | .github/workflows/ci.yml | 29 | ||||
| -rw-r--r-- | Makefile | 4 |
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 @@ -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) |
