name: Build Check on: push: branches: ["master", "feat-*", "fix-*"] pull_request: branches: ["master", "feat-*", "fix-*"] jobs: format-check: name: Format check ${{ matrix.arch }} runs-on: ubuntu-latest continue-on-error: true container: dragonos/dragonos-dev:v1.11 strategy: matrix: arch: [x86_64, riscv64, loongarch64] steps: - run: echo "Running in dragonos/dragonos-dev:v1.11" - uses: actions/checkout@v3 - name: Format check env: ARCH: ${{ matrix.arch }} HOME: /root shell: bash -ileo pipefail {0} run: | printf "\n" >> kernel/src/include/bindings/bindings.rs sed -i 's/arch = ".*"/arch = "${{ matrix.arch }}"/' dadk-manifest.toml FMT_CHECK=1 make fmt kernel-static-test: name: Kernel static test ${{ matrix.arch }} runs-on: ubuntu-latest continue-on-error: true container: dragonos/dragonos-dev:v1.11 strategy: matrix: arch: [x86_64, riscv64, loongarch64] steps: - run: echo "Running in dragonos/dragonos-dev:v1.11" - uses: actions/checkout@v3 - name: Run kernel static test shell: bash -ileo pipefail {0} env: ARCH: ${{ matrix.arch }} HOME: /root run: bash -c "source /root/.cargo/env && cd kernel && make test && make test-rbpf" build: name: Build ${{ matrix.arch }} runs-on: ubuntu-latest container: dragonos/dragonos-dev:v1.11 continue-on-error: true strategy: matrix: include: - arch: x86_64 make_target: all checkout_params: {} - arch: riscv64 make_target: all checkout_params: submodules: "recursive" - arch: loongarch64 make_target: all checkout_params: {} steps: - run: echo "Running in dragonos/dragonos-dev:v1.11" - uses: actions/checkout@v3 with: ${{ matrix.checkout_params }} - name: Build the DragonOS env: ARCH: ${{ matrix.arch }} HOME: /root shell: bash -ileo pipefail {0} run: | source $HOME/.bashrc source $HOME/.cargo/env if [[ "$ARCH" == "x86_64" ]]; then export DragonOS_GCC=$HOME/opt/dragonos-gcc/gcc-x86_64-unknown-none/bin fi sed -i 's/arch = ".*"/arch = "${{ env.ARCH }}"/' dadk-manifest.toml make ${{ matrix.make_target }} -j $(nproc)