78 lines
2.6 KiB
YAML
78 lines
2.6 KiB
YAML
name: "Test riscv64 "
|
|
|
|
on:
|
|
workflow_dispatch:
|
|
pull_request:
|
|
push:
|
|
branches:
|
|
- main
|
|
|
|
jobs:
|
|
basic-test:
|
|
runs-on: ubuntu-latest
|
|
container:
|
|
image: asterinas/asterinas:0.17.0-20260114
|
|
options: --device=/dev/kvm --privileged
|
|
volumes:
|
|
# Map the following directories on the host into the container so that
|
|
# the container can remove them to save some precious disk space (~16GB),
|
|
# which is quite limited on free-tier Github runners.
|
|
- /usr/lib/google-cloud-sdk:/usr/lib/google-cloud-sdk
|
|
- /usr/local/lib/android:/usr/local/lib/android
|
|
- /usr/share/dotnet:/usr/share/dotnet
|
|
strategy:
|
|
matrix:
|
|
id: ['lint', 'compile', 'usermode_test', 'ktest']
|
|
fail-fast: false
|
|
steps:
|
|
- name: Free disk space
|
|
# Remove unused packages from the host to save disk space.
|
|
run: rm -rf /usr/lib/google-cloud-sdk/* /usr/local/lib/android/* /usr/share/dotnet/*
|
|
- uses: actions/checkout@v4
|
|
- name: Run basic tests
|
|
uses: ./.github/actions/test
|
|
with:
|
|
auto_test: 'general'
|
|
arch: 'riscv64'
|
|
|
|
integration-test:
|
|
runs-on: ubuntu-latest
|
|
container:
|
|
image: asterinas/asterinas:0.17.0-20260114
|
|
options: --device=/dev/kvm --privileged
|
|
volumes:
|
|
# Map the following directories on the host into the container so that
|
|
# the container can remove them to save some precious disk space (~16GB),
|
|
# which is quite limited on free-tier Github runners.
|
|
- /usr/lib/google-cloud-sdk:/usr/lib/google-cloud-sdk
|
|
- /usr/local/lib/android:/usr/local/lib/android
|
|
- /usr/share/dotnet:/usr/share/dotnet
|
|
strategy:
|
|
matrix:
|
|
include:
|
|
- test_id: 'boot-debug-smp4'
|
|
smp: 4
|
|
|
|
- test_id: 'boot-release'
|
|
release: true
|
|
|
|
- test_id: 'syscall-release'
|
|
release: true
|
|
|
|
- test_id: 'syscall-release-smp4'
|
|
release: true
|
|
smp: 4
|
|
fail-fast: false
|
|
steps:
|
|
- name: Free disk space
|
|
# Remove unused packages from the host to save disk space.
|
|
run: rm -rf /usr/lib/google-cloud-sdk/* /usr/local/lib/android/* /usr/share/dotnet/*
|
|
- uses: actions/checkout@v4
|
|
- name: Run integration tests ${{ (startsWith(matrix.test_id, 'syscall') && 'with LTP') || '' }}
|
|
uses: ./.github/actions/test
|
|
with:
|
|
auto_test: ${{ (startsWith(matrix.test_id, 'boot') && 'boot') || 'syscall' }}
|
|
release: ${{ !contains(matrix.release, 'false') }}
|
|
arch: 'riscv64'
|
|
syscall_test_suite: 'ltp'
|