Skip to content

ci: run the tee suite on tdx-metal-cvm too #130

ci: run the tee suite on tdx-metal-cvm too

ci: run the tee suite on tdx-metal-cvm too #130

Workflow file for this run

name: Test
on:
push:
branches: [main]
pull_request:
branches: [main]
merge_group:
types: [checks_requested]
workflow_dispatch:
permissions: read-all
env:
CARGO_TERM_COLOR: always
jobs:
cargo-deny:
runs-on: ubuntu-latest
strategy:
matrix:
checks:
- advisories
- bans sources
# Prevent sudden announcement of a new advisory from failing ci:
continue-on-error: ${{ matrix.checks == 'advisories' }}
steps:
- name: Check out repo
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: Install cargo-deny
uses: EmbarkStudios/cargo-deny-action@6c8f9facfa5047ec02d8485b6bf52b587b7777d1 # v2.0.18
with:
command: check ${{ matrix.checks }}
lint:
name: Lint
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- uses: actions-rust-lang/setup-rust-toolchain@46268bd060767258de96ed93c1251119784f2ab6 # v1.16.1
with:
components: rustfmt, clippy
- name: Run linters
run: ./bin/lint
run-tests:
name: Run tests
runs-on: ${{ matrix.runs-on }}
strategy:
fail-fast: false
matrix:
runs-on:
- macos-15-intel # mac-x86
- macos-latest # mac-arm
- ubuntu-latest # linux-x86
- ubuntu-24.04-arm # linux-arm
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- uses: actions-rust-lang/setup-rust-toolchain@46268bd060767258de96ed93c1251119784f2ab6 # v1.16.1
- uses: taiki-e/install-action@nextest
- name: Run non-TEE tests
shell: bash
run: ./bin/test
build:
name: Build Kettle
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- uses: actions-rust-lang/setup-rust-toolchain@46268bd060767258de96ed93c1251119784f2ab6 # v1.16.1
- run: cargo build --release --features cli,server --bin kettle --bin kettle-server
- uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
with:
name: kettle
path: target/release/kettle
if-no-files-found: error
- uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
with:
name: kettle-server
path: target/release/kettle-server
if-no-files-found: error
build-projects:
needs: [build]
name: Build ${{ matrix.project }} with Kettle
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
project: [ripgrep, eza, openclaw, kettle]
include:
- project: ripgrep
owner: burntsushi
toolchain: rust
ref: 4519153e5e461527f4bca45b042fff45c4ec6fb9
- project: eza
owner: eza-community
toolchain: nix
ref: eed27ed05e74542af5852aed40e3dbff87d69c43
- project: openclaw
owner: openclaw
toolchain: pnpm
ref: d518260bb8261bb179cfb421a8c166915bb59dd1
- project: kettle
owner: ${{ github.repository_owner }}
toolchain: rust
ref: ${{ github.sha }}
steps:
- name: Harden Runner
uses: step-security/harden-runner@ab7a9404c0f3da075243ca237b5fac12c98deaa5 # v2.19.3
with:
egress-policy: audit
- name: Check out ${{ matrix.project }}
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
repository: "${{ matrix.owner }}/${{ matrix.project }}"
ref: "${{ matrix.ref }}"
- uses: actions-rust-lang/setup-rust-toolchain@46268bd060767258de96ed93c1251119784f2ab6 # v1.16.1
if: ${{ matrix.toolchain == 'rust' }}
- uses: cachix/install-nix-action@8aa03977d8d733052d78f4e008a241fd1dbf36b3 # v31.10.6
if: ${{ matrix.toolchain == 'nix' }}
with:
github_access_token: ${{ secrets.GITHUB_TOKEN }}
- uses: pnpm/action-setup@0e279bb959325dab635dd2c09392533439d90093 # v6.0.8
if: ${{ matrix.toolchain == 'pnpm' }}
- uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
with:
name: kettle
- run: |
chmod +x kettle
./kettle build $GITHUB_WORKSPACE