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.21 strategy: matrix: arch: [x86_64, riscv64, loongarch64] steps: - run: echo "Running in dragonos/dragonos-dev:v1.21" - uses: actions/checkout@v3 - 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: Format check env: ARCH: ${{ matrix.arch }} HOME: /root shell: bash -ileo pipefail {0} run: | printf "\n" >> kernel/src/include/bindings/bindings.rs printf "\n" >> kernel/src/init/version_info.rs 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.21 strategy: matrix: arch: [x86_64, riscv64, loongarch64] steps: - run: echo "Running in dragonos/dragonos-dev:v1.21" - uses: actions/checkout@v3 - 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: 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" build: name: Build ${{ matrix.arch }} runs-on: ubuntu-latest container: dragonos/dragonos-dev:v1.21 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.21" - uses: actions/checkout@v3 with: ${{ matrix.checkout_params }} - 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 the DragonOS env: ARCH: ${{ matrix.arch }} HOME: /root RUSTUP_DIST_SERVER: "https://rsproxy.cn" RUSTUP_UPDATE_ROOT: "https://rsproxy.cn/rustup" 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 make ${{ matrix.make_target }} -j $(nproc)