Skip to content

feat(kernel,core): Layer 5 — capability/group enforcement on the management API (#670) #915

feat(kernel,core): Layer 5 — capability/group enforcement on the management API (#670)

feat(kernel,core): Layer 5 — capability/group enforcement on the management API (#670) #915

Workflow file for this run

name: CI
on:
push:
branches: [main, stream-*]
paths:
- '**.rs'
- '**/Cargo.toml'
- '**/Cargo.lock'
- '.github/workflows/**'
pull_request:
branches: [main]
paths:
- '**.rs'
- '**/Cargo.toml'
- '**/Cargo.lock'
- '.github/workflows/**'
env:
CARGO_TERM_COLOR: always
RUST_BACKTRACE: 1
QUICKJS_KERNEL_VERSION: v1.6.0
jobs:
check:
name: Check
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install Rust toolchain
uses: dtolnay/rust-toolchain@stable
with:
toolchain: "1.94"
targets: wasm32-wasip1
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: "22"
- name: Cache cargo registry
uses: actions/cache@v4
with:
path: |
~/.cargo/registry
~/.cargo/git
target
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }}
restore-keys: |
${{ runner.os }}-cargo-
- name: Run cargo check
run: cargo check --workspace --all-features
fmt:
name: Format
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install Rust toolchain
uses: dtolnay/rust-toolchain@stable
with:
toolchain: "1.94"
components: rustfmt
- name: Run cargo fmt
run: cargo fmt --all -- --check
clippy:
name: Clippy
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install Rust toolchain
uses: dtolnay/rust-toolchain@stable
with:
toolchain: "1.94"
components: clippy
targets: wasm32-wasip1
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: "22"
- name: Cache cargo registry
uses: actions/cache@v4
with:
path: |
~/.cargo/registry
~/.cargo/git
target
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }}
restore-keys: |
${{ runner.os }}-cargo-
- name: Run clippy
run: cargo clippy --workspace --all-features -- -D warnings
test:
name: Test
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest, macos-latest]
steps:
- uses: actions/checkout@v4
- name: Install Rust toolchain
uses: dtolnay/rust-toolchain@stable
with:
toolchain: "1.94"
targets: wasm32-unknown-unknown,wasm32-wasip1
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: "22"
- name: Cache cargo registry
uses: actions/cache@v4
with:
path: |
~/.cargo/registry
~/.cargo/git
target
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }}
restore-keys: |
${{ runner.os }}-cargo-
- name: Cache QuickJS kernel
uses: actions/cache@v4
with:
path: |
crates/astrid-openclaw/kernel/engine.wasm
crates/astrid-openclaw/kernel/engine.wasm.blake3
key: quickjs-kernel-${{ env.QUICKJS_KERNEL_VERSION }}-${{ runner.os }}-${{ runner.arch }}
restore-keys: |
quickjs-kernel-${{ env.QUICKJS_KERNEL_VERSION }}-${{ runner.os }}-
- name: Run tests
env:
ASTRID_AUTO_BUILD_KERNEL: "1"
run: cargo test --workspace
msrv:
name: MSRV
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install MSRV toolchain
uses: dtolnay/rust-toolchain@master
with:
toolchain: "1.94"
targets: wasm32-wasip1
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: "22"
- name: Cache cargo registry
uses: actions/cache@v4
with:
path: |
~/.cargo/registry
~/.cargo/git
target
key: ${{ runner.os }}-msrv-${{ hashFiles('**/Cargo.lock') }}
restore-keys: |
${{ runner.os }}-msrv-
- name: Check MSRV compiles
run: cargo check --workspace
audit:
name: Security Audit
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Generate lockfile
run: cargo generate-lockfile
- uses: rustsec/audit-check@v2
with:
token: ${{ secrets.GITHUB_TOKEN }}