Skip to content

EAR Support

EAR Support #139

Workflow file for this run

name: CoCo-AS Rust Suites
on:
push:
branches:
- "main"
paths:
- 'attestation-service/**'
- 'rvps'
- 'deps/verifier'
- '.github/workflows/as_rust.yml'
- 'Cargo.toml'
pull_request:
paths:
- 'attestation-service/**'
- 'rvps'
- 'deps/verifier'
- '.github/workflows/as_rust.yml'
- 'Cargo.toml'
create:
jobs:
basic_ci:
if: github.event_name == 'pull_request' || github.event_name == 'push'
name: Check
runs-on: ubuntu-22.04
env:
RUSTC_VERSION: 1.76.0
steps:
- name: Code checkout
uses: actions/checkout@v4
with:
fetch-depth: 1
- name: Install OPA command line tool
run: |
curl -L -o opa https://openpolicyagent.org/downloads/latest/opa_linux_amd64_static
chmod 755 ./opa && cp opa /usr/local/bin
- name: OPA policy.rego fmt and check
run: |
opa fmt -d attestation-service/src/policy_engine/opa/default_policy.rego | awk '{ print } END { if (NR!=0) { print "run `opa fmt -w <path_to_rego>` to fix this"; exit 1 } }'
opa check attestation-service/src/policy_engine/opa/default_policy.rego
- name: Install protoc
run: |
sudo apt-get update && sudo apt-get install -y protobuf-compiler libprotobuf-dev
- name: Install TPM build dependencies
run: |
sudo apt-get update
sudo apt-get install -y libtss2-dev
- name: Install TDX build dependencies
run: |
sudo curl -L https://download.01.org/intel-sgx/sgx_repo/ubuntu/intel-sgx-deb.key | sudo apt-key add -
sudo echo 'deb [arch=amd64] https://download.01.org/intel-sgx/sgx_repo/ubuntu jammy main' | sudo tee /etc/apt/sources.list.d/intel-sgx.list
sudo apt-get update
sudo apt-get install -y libsgx-dcap-quote-verify-dev libsgx-dcap-default-qpl
- name: Install Rust toolchain (${{ env.RUSTC_VERSION }})
run: |
rustup update --no-self-update ${{ env.RUSTC_VERSION }}
rustup component add --toolchain ${{ env.RUSTC_VERSION }} rustfmt rustc clippy
rustup default ${{ env.RUSTC_VERSION }}
- name: Build
working-directory: attestation-service
run: |
make
- name: Run cargo test
run: |
sudo -E PATH="$PATH" -s cargo test -p attestation-service -p reference-value-provider-service -p verifier
- name: Run cargo fmt check
run: |
sudo -E PATH="$PATH" -s cargo fmt -p attestation-service -p reference-value-provider-service --check
- name: Run rust lint check
run: |
sudo -E PATH="$PATH" -s cargo clippy -p attestation-service -p reference-value-provider-service -- -D warnings -A clippy::derive_partial_eq_without_eq