DragonOS/.github/workflows/makefile.yml

56 lines
1.3 KiB
YAML

name: CI for DragonOS
on:
push:
branches: ["master", "feat-*", "fix-*", "oscomp"]
pull_request:
branches: ["master", "feat-*", "fix-*", "oscomp"]
jobs:
ci:
strategy:
matrix:
arch: [riscv64, x86_64]
runs-on: ubuntu-latest
env:
ARCH: ${{ matrix.arch }}
HOME: /root
container:
image: ghcr.io/samuka007/dragonos-oscomp-ci-docker:pre-2025-03-21
options: --privileged
defaults:
run:
shell: bash -ileo pipefail {0}
steps:
- uses: actions/checkout@v3
with:
submodules: "recursive"
- name: Change source
run: |
find . -type f \( -name "*.toml" -o -name "Makefile" \) -exec sed -i 's/git\.mirrors\.dragonos\.org\.cn/github\.com/g' {} +
- name: build kernel
run: |
make ci-kernel
- name: build userland
if: matrix.arch != 'x86_64'
run: |
make ci-user
- name: generate the disk image
if: matrix.arch != 'x86_64'
run: |
make ci-gendisk
- name: boot test
if: matrix.arch != 'x86_64'
timeout-minutes: 3
run: |
cd oscomp && bash ci-boot-test.sh
- name: Format check
run: |
FMT_CHECK=1 make fmt