Skip to content

feat(init): replace AWS init and the Go pid1 with eiffel-init #8

feat(init): replace AWS init and the Go pid1 with eiffel-init

feat(init): replace AWS init and the Go pid1 with eiffel-init #8

Workflow file for this run

name: CI
on:
pull_request:
push:
branches: [master]
jobs:
rust:
# Pinned rather than ubuntu-latest: GitHub is rolling that label from 24.04 to
# 26.04 between 2026-10-19 and 2026-11-19, so it is unpredictable right now.
# Revisit once the rollout has finished.
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v4
- name: Install the pinned toolchain
run: rustup show active-toolchain || rustup toolchain install
- run: cargo fmt --check
- run: cargo clippy --all-targets --locked -- -D warnings
- run: cargo test --workspace --locked
# eiffel-init is what the enclave runs, and the bootstrap initrd carries no
# dynamic loader for it. Build it the way the image does and prove it needs none.
- name: Build eiffel-init static for musl
env:
RUSTFLAGS: -C target-feature=+crt-static
run: |
set -eux
cargo build --release --locked -p eiffel-init --target x86_64-unknown-linux-musl
! readelf -lW target/x86_64-unknown-linux-musl/release/eiffel-init | grep -q interpreter