name: CI for DragonOS on: push: branches: ["master", "feat-*", "fix-*"] pull_request: branches: ["master", "feat-*", "fix-*"] 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