AkurAI Build
Menu

AkurAI-Build

public

Latest change 5fcb3d460ae9300568b5ef4a43f2e84818d71253 - fix: keep deployments in MCP pipelines 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: verify
    executor: native
    branches: [main]
    run:
      - RUSTUP_HOME=/home/olafurbui/.rustup CARGO_HOME=/home/olafurbui/.cargo PATH=/home/olafurbui/.cargo/bin:/usr/bin:/bin cargo fmt --all -- --check
      - RUSTUP_HOME=/home/olafurbui/.rustup CARGO_HOME=/home/olafurbui/.cargo PATH=/home/olafurbui/.cargo/bin:/usr/bin:/bin cargo clippy --all-targets --all-features -- -D warnings
      - RUSTUP_HOME=/home/olafurbui/.rustup CARGO_HOME=/home/olafurbui/.cargo PATH=/home/olafurbui/.cargo/bin:/usr/bin:/bin cargo test

  - name: package
    needs: [verify]
    executor: native
    branches: [main]
    run: RUSTUP_HOME=/home/olafurbui/.rustup CARGO_HOME=/home/olafurbui/.cargo PATH=/home/olafurbui/.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=/home/olafurbui/.local/bin sh deploy/service-deploy.sh