-
Notifications
You must be signed in to change notification settings - Fork 19
49 lines (46 loc) · 1.5 KB
/
vmsdk-test-rust.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
name: VMSDK Rust Test
on:
push:
branches:
- main
paths:
- '.github/workflows/vmsdk-test-rust.yaml'
pull_request:
paths:
- '.github/workflows/vmsdk-test-rust.yaml'
workflow_dispatch:
env:
CARGO_TERM_COLOR: always
VMSDK_RUST_TEST_DIR: 'vmsdk_rust_test'
VMSDK_DIR: 'cc-trusted-vmsdk'
jobs:
vmsdk_rust_test:
runs-on: [self-hosted, tdx-guest]
defaults:
run:
working-directory: ${{env.VMSDK_RUST_TEST_DIR}}
steps:
- name: Clean up intermediate files
continue-on-error: true
run: |
# Remove the intermediate files that could be left
# by previous run with sudo. Otherwise, the checkout
# will fail with permission issue.
sudo rm -fr ./*
- name: Checkout evidence-api repo
uses: actions/checkout@v4
with:
path: ${{env.VMSDK_RUST_TEST_DIR}}
- name: Checkout cc-trusted-vmsdk repo
uses: actions/checkout@v4
with:
repository: cc-api/cc-trusted-vmsdk
path: ${{env.VMSDK_RUST_TEST_DIR}}/${{env.VMSDK_DIR}}
- name: Run tests
run: |
cd ${{env.VMSDK_DIR}}/src/rust/cctrusted_vm
# The trick here is to override the dependencies with local version.
echo "" >> Cargo.toml
echo "[patch.crates-io]" >> Cargo.toml
echo 'evidence_api = { path = "../../../../common/rust/evidence_api" }' >> Cargo.toml
sudo bash -c "export CARGO_TERM_COLOR=always && cargo test --verbose"