Skip to content

attestation-agent basic build and unit tests #164

attestation-agent basic build and unit tests

attestation-agent basic build and unit tests #164

Workflow file for this run

name: attestation-agent basic build and unit tests
on:
push:
branches:
- "main"
paths:
- 'attestation-agent/**'
- '.github/workflows/aa_basic.yml'
- 'Cargo.toml'
- 'Cargo.lock'
pull_request:
paths:
- 'attestation-agent/**'
- '.github/workflows/aa_basic.yml'
- 'Cargo.toml'
- 'Cargo.lock'
create:
workflow_dispatch:
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
jobs:
basic_ci:
if: github.event_name != 'push'
name: Check
defaults:
run:
working-directory: ./attestation-agent
strategy:
fail-fast: false
matrix:
rust:
- stable
instance:
- ubuntu-24.04
- s390x
include:
- instance: ubuntu-24.04
make_args: ""
cargo_test_opts: "--features openssl,rust-crypto,all-attesters,kbs,coco_as,ttrpc,grpc"
- instance: s390x
make_args: "ATTESTER=se-attester TEE_PLATFORM=se"
cargo_test_opts: "--no-default-features --features openssl,passport,se-attester,kbs,coco_as"
runs-on: ${{ matrix.instance }}
steps:
- name: Code checkout
uses: actions/checkout@v4
with:
fetch-depth: 1
- name: Install Rust toolchain (${{ matrix.rust }})
uses: actions-rust-lang/setup-rust-toolchain@v1
with:
toolchain: ${{ matrix.rust }}
override: true
components: rustfmt, clippy
- name: Install protoc
run: |
sudo apt-get update && sudo apt-get install -y protobuf-compiler
- uses: ./.github/actions/install-intel-dcap
with:
ubuntu-version: noble
if: matrix.instance == 'ubuntu-24.04'
- name: Install TPM dependencies
run: |
sudo apt-get update
sudo apt-get install -y libtss2-dev
if: matrix.instance == 'ubuntu-24.04'
- name: Install dm-verity dependencies
run: |
sudo apt-get update
sudo apt-get install -y libdevmapper-dev
- name: Gnu build and install with ttrpc
run: |
mkdir -p ${HOME}/.local/bin
eval make ttrpc=true ${MAKE_ARGS} && make install PREFIX=${HOME}/.local
env:
MAKE_ARGS: ${{ matrix.make_args }}
- name: Musl build with all platform
run: |
make LIBC=musl ttrpc=true ATTESTER=none
if: matrix.instance == 'ubuntu-24.04'
- name: Run cargo test
uses: actions-rs/cargo@v1
with:
command: test
args: ${{ matrix.cargo_test_opts }} -p attestation-agent -p attester -p coco_keyprovider -p kbc -p kbs_protocol -p crypto -p resource_uri
- name: Run cargo fmt check
uses: actions-rs/cargo@v1
with:
command: fmt
args: --all -- --check
- name: Run rust lint check
run: |
make lint