Skip to content

Split tdx feature into tdcall and tdvmcall features as tdvmcall usage may be optional for some use cases #1647

Split tdx feature into tdcall and tdvmcall features as tdvmcall usage may be optional for some use cases

Split tdx feature into tdcall and tdvmcall features as tdvmcall usage may be optional for some use cases #1647

Workflow file for this run

on:
push:
paths-ignore:
- "**.md"
pull_request:
paths-ignore:
- "**.md"
workflow_dispatch:
name: Build
env:
AS: nasm
AR_x86_64_unknown_linux_gnu: llvm-ar
CC_x86_64_unknown_linux_gnu: clang
AR_x86_64_unknown_none: llvm-ar
CC_x86_64_unknown_none: clang
RUST_TOOLCHAIN: 1.83.0
TOOLCHAIN_PROFILE: minimal
jobs:
system_compile:
name: Compile the final.bin file
runs-on: ${{ matrix.host_os }}
timeout-minutes: 30
strategy:
matrix:
host_os:
- ubuntu-20.04
- windows-2019
steps:
# Install first since it's needed to build NASM
- name: Install LLVM and Clang
uses: KyleMayes/install-llvm-action@v2
with:
version: "10.0"
directory: ${{ runner.temp }}/llvm
- name: install NASM
uses: ilammy/setup-nasm@v1
- name: Checkout sources
uses: actions/checkout@v4
with:
submodules: recursive
- name: Install toolchain
uses: dtolnay/rust-toolchain@master
with:
toolchain: ${{ env.RUST_TOOLCHAIN }}
components: rust-src
- name: Add `x86_64-unknown-none` target
run: rustup target add x86_64-unknown-none
- name: Preparation Work
run: bash sh_script/preparation.sh
- name: Test Shim Crates
run: make test
- name: Build Release TdShim
run: cargo build -p td-shim --target x86_64-unknown-none --release --features=main,tdx
- name: Build Debug TdShim
run: cargo build -p td-shim --target x86_64-unknown-none --features=main,tdx --no-default-features
- name: Build td-shim-tools
run: |
cargo build -p td-shim-tools
- name: Build image without payload
run: |
cargo image --release
- name: Meta data check
run: |
cargo run -p td-shim-tools --bin td-shim-checker --no-default-features --features=loader -- target/release/final.bin
- name: Build debug image without payload
run: |
cargo image
- name: Build Release Elf format payload
run: |
cargo image --example-payload --release
- name: Build Debug Elf format payload
run: |
cargo image --example-payload