Skip to content

Fix net irq

Fix net irq #638

Workflow file for this run

name: CI Test
on:
push:
branches:
- main
pull_request:
branches:
- main
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}-${{ github.event_name }}
cancel-in-progress: true
jobs:
ci-test:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
arch: [x86_64, aarch64]
name: CI Test (${{ matrix.arch }})
env:
ARCH: ${{ matrix.arch }}
SMP: 4
XKERNEL_ROOT: ${{ github.workspace }}/.cache/X-Kernel
steps:
- name: Checkout X-Kernel Test Harness
uses: actions/checkout@v4
with:
repository: kylin-x-kernel/starry-test-harness
path: starry-test-harness
- name: Create cache directory
run: mkdir -p .cache
- name: Checkout X-Kernel
uses: actions/checkout@v4
with:
path: .cache/X-Kernel
submodules: recursive
- name: Install Rust cache for harness
uses: Swatinem/rust-cache@v2
with:
shared-key: xkernel-ci-harness-${{ matrix.arch }}
save-if: ${{ github.ref == 'refs/heads/main' }}
- name: Install musl toolchain for ${{ matrix.arch }}
uses: arceos-org/setup-musl@v1
with:
arch: ${{ matrix.arch }}
- name: Install QEMU
uses: arceos-org/setup-qemu@v1
with:
version: 10.1.0
arch_list: ${{ matrix.arch }}
- name: Install filesystem tools
run: sudo apt-get update && sudo apt-get install -y e2fsprogs
- name: Prepare Rust toolchain for X-Kernel
working-directory: .cache/X-Kernel
run: |
if [ "${{ matrix.arch }}" = "x86_64" ]; then
rustup target add x86_64-unknown-none
rustup target add x86_64-unknown-linux-musl || true
rustup target list --installed | grep x86_64
else
rustup target add aarch64-unknown-none
rustup target add aarch64-unknown-linux-musl || true
rustup target list --installed | grep aarch64
fi
- name: 执行 ci-test (${{ matrix.arch }})
working-directory: starry-test-harness
run: |
export XKERNEL_COMMIT=$(git -C ../.cache/X-Kernel rev-parse HEAD)
make ci-test run
# - name: Dump suite logs
# working-directory: starry-test-harness
# if: always()
# run: |
# if [ -d logs/ci ]; then
# echo "::group::CI Test Log (${{ matrix.arch }})"
# find logs/ci -name 'suite.log' -print -exec cat {} \;
# echo "::endgroup::"
# else
# echo "logs/ci not found"
# fi
# - name: Upload suite artifacts
# if: always()
# uses: actions/upload-artifact@v4
# with:
# name: ci-logs-${{ matrix.arch }}-${{ github.run_id }}
# path: starry-test-harness/logs/ci
# if-no-files-found: warn