AkurAI Build
Menu

Public repository / ffb1635a956f9bd58bb79123927fa08f6a7ecb1e

AkurAI-Build / .akurai.yml

Latest change 8ef598bf642732d8da4fdc633f9a28b35aa18222 - OLI-188: lint path deps on siblings that CI never checks out by Ólafur Búi Ólafsson

version: 1
# AkurAI-Build is split into an HTTP service and a worker. The worker owns
# pipeline execution, so a protected job can replace the service without
# restarting or self-severing the worker. Production deploys consume the
# package job's prebuilt binary through deploy/service-deploy.sh, which also
# installs the packaged stdio MCP binary and shared CI helpers atomically.
# Worker-image changes require their own MCP-controlled pipeline; never mutate Compose ad hoc.
jobs:
  - name: lint-config
    executor: native
    branches: [main]
    run:
      - sh scripts/test-lint-akurai-yml.sh
      - sh scripts/lint-akurai-yml.sh .akurai.yml
      - sh scripts/test-lint-sibling-deps.sh
      - sh scripts/lint-sibling-deps.sh

  - name: verify
    needs: [lint-config]
    executor: native
    branches: [main]
    run:
      - RUSTUP_HOME=$AKURAI_HOST_HOME/.rustup CARGO_HOME=$AKURAI_HOST_HOME/.cargo PATH=$AKURAI_HOST_HOME/.cargo/bin:/usr/bin:/bin cargo fmt --all -- --check
      - RUSTUP_HOME=$AKURAI_HOST_HOME/.rustup CARGO_HOME=$AKURAI_HOST_HOME/.cargo PATH=$AKURAI_HOST_HOME/.cargo/bin:/usr/bin:/bin cargo clippy --all-targets --all-features -- -D warnings
      - RUSTUP_HOME=$AKURAI_HOST_HOME/.rustup CARGO_HOME=$AKURAI_HOST_HOME/.cargo PATH=$AKURAI_HOST_HOME/.cargo/bin:/usr/bin:/bin cargo test

  - name: package
    needs: [verify]
    executor: native
    branches: [main]
    run: RUSTUP_HOME=$AKURAI_HOST_HOME/.rustup CARGO_HOME=$AKURAI_HOST_HOME/.cargo PATH=$AKURAI_HOST_HOME/.cargo/bin:/usr/bin:/bin cargo build --release
    artifacts:
      - target/release/akurai

  - name: deploy-production
    needs: [package]
    executor: native
    branches: [main]
    environment: production
    approval: true
    run: AKURAI_HOST_BIN=$AKURAI_HOST_HOME/.local/bin sh deploy/service-deploy.sh