mirror of
https://github.com/asterinas/asterinas.git
synced 2025-06-19 20:46:35 +00:00
Add TDX CI
This commit is contained in:
committed by
Tate, Hongliang Tian
parent
b73412c2ff
commit
6ff6db2167
60
.github/workflows/test_asterinas.yml
vendored
60
.github/workflows/test_asterinas.yml
vendored
@ -5,9 +5,13 @@ on:
|
|||||||
push:
|
push:
|
||||||
branches:
|
branches:
|
||||||
- main
|
- main
|
||||||
|
# Schedule to run on every day at 15:00 UTC (23:00 CST)
|
||||||
|
schedule:
|
||||||
|
- cron: '0 15 * * *'
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
lint:
|
lint:
|
||||||
|
if: github.event_name == 'push' || github.event_name == 'pull_request'
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
timeout-minutes: 15
|
timeout-minutes: 15
|
||||||
container: asterinas/asterinas:0.6.2
|
container: asterinas/asterinas:0.6.2
|
||||||
@ -21,6 +25,7 @@ jobs:
|
|||||||
run: make check
|
run: make check
|
||||||
|
|
||||||
unit-test:
|
unit-test:
|
||||||
|
if: github.event_name == 'push' || github.event_name == 'pull_request'
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
timeout-minutes: 15
|
timeout-minutes: 15
|
||||||
container: asterinas/asterinas:0.6.2
|
container: asterinas/asterinas:0.6.2
|
||||||
@ -40,6 +45,7 @@ jobs:
|
|||||||
# TODO: add component check.
|
# TODO: add component check.
|
||||||
|
|
||||||
integration-test:
|
integration-test:
|
||||||
|
if: github.event_name == 'push' || github.event_name == 'pull_request'
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
timeout-minutes: 30
|
timeout-minutes: 30
|
||||||
container: asterinas/asterinas:0.6.2
|
container: asterinas/asterinas:0.6.2
|
||||||
@ -86,3 +92,57 @@ jobs:
|
|||||||
- name: General Test (Linux EFI Handover Boot Protocol)
|
- name: General Test (Linux EFI Handover Boot Protocol)
|
||||||
id: test_linux
|
id: test_linux
|
||||||
run: make run AUTO_TEST=test ENABLE_KVM=0 BOOT_PROTOCOL=linux-efi-handover64 RELEASE=1
|
run: make run AUTO_TEST=test ENABLE_KVM=0 BOOT_PROTOCOL=linux-efi-handover64 RELEASE=1
|
||||||
|
|
||||||
|
integration-test-tdx:
|
||||||
|
if: github.event_name == 'schedule'
|
||||||
|
runs-on: self-hosted
|
||||||
|
timeout-minutes: 30
|
||||||
|
container:
|
||||||
|
image: asterinas/asterinas:0.6.2-tdx
|
||||||
|
options: --device=/dev/kvm --privileged
|
||||||
|
env:
|
||||||
|
# Need to set up proxy since the self-hosted CI server is located in China,
|
||||||
|
# which has poor network connection to the official Rust crate repositories.
|
||||||
|
RUSTUP_DIST_SERVER: https://mirrors.ustc.edu.cn/rust-static
|
||||||
|
RUSTUP_UPDATE_ROOT: https://mirrors.ustc.edu.cn/rust-static/rustup
|
||||||
|
steps:
|
||||||
|
- run: echo "Running in asterinas/asterinas:0.6.2-tdx"
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
- name: Set up the environment
|
||||||
|
run: |
|
||||||
|
chmod +x test/benchmark/bench_linux_and_aster.sh
|
||||||
|
# Set up git due to the network issue on the self-hosted runner
|
||||||
|
git config --global --add safe.directory /__w/asterinas/asterinas
|
||||||
|
git config --global http.sslVerify false
|
||||||
|
git config --global http.version HTTP/1.1
|
||||||
|
- name: Boot Test (Linux EFI Handover Boot Protocol)
|
||||||
|
uses: nick-invision/retry@v2
|
||||||
|
id: boot_test_linux_efi_handover64
|
||||||
|
with:
|
||||||
|
timeout_minutes: 20
|
||||||
|
max_attempts: 3
|
||||||
|
command: make run AUTO_TEST=boot INTEL_TDX=1
|
||||||
|
|
||||||
|
- name: Syscall Test (Linux EFI Handover Boot Protocol)
|
||||||
|
uses: nick-invision/retry@v2
|
||||||
|
id: syscall_test
|
||||||
|
with:
|
||||||
|
timeout_minutes: 20
|
||||||
|
max_attempts: 3
|
||||||
|
command: make run AUTO_TEST=syscall INTEL_TDX=1
|
||||||
|
|
||||||
|
- name: Syscall Test at Exfat
|
||||||
|
uses: nick-invision/retry@v2
|
||||||
|
id: syscall_test_at_exfat_linux
|
||||||
|
with:
|
||||||
|
timeout_minutes: 20
|
||||||
|
max_attempts: 3
|
||||||
|
command: make run AUTO_TEST=syscall SYSCALL_TEST_DIR=/exfat EXTRA_BLOCKLISTS_DIRS=blocklists.exfat INTEL_TDX=1
|
||||||
|
|
||||||
|
- name: General Test (Linux EFI Handover Boot Protocol)
|
||||||
|
uses: nick-invision/retry@v2
|
||||||
|
id: test_linux
|
||||||
|
with:
|
||||||
|
timeout_minutes: 20
|
||||||
|
max_attempts: 3
|
||||||
|
command: make run AUTO_TEST=test INTEL_TDX=1
|
||||||
|
@ -66,7 +66,7 @@ git clone https://github.com/asterinas/asterinas
|
|||||||
2. Run a Docker container as the development environment.
|
2. Run a Docker container as the development environment.
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
docker run -it --privileged --network=host --device=/dev/kvm -v $(pwd)/asterinas:/root/asterinas asterinas/asterinas:0.6.2_tdx
|
docker run -it --privileged --network=host --device=/dev/kvm -v $(pwd)/asterinas:/root/asterinas asterinas/asterinas:0.6.2-tdx
|
||||||
```
|
```
|
||||||
|
|
||||||
3. Inside the container,
|
3. Inside the container,
|
||||||
|
Reference in New Issue
Block a user