Menu
AkurAI-Build
publicLatest change d9261b00163d0d35c15f9f161ad9c8b89b9688d7 - Document push-triggered CI, single-service deploy agent, and git push workflow by Ólafur Búi Ólafsson
version: 1
# AkurAI-Build runs as one hardened systemd service on Titan that also owns
# pipeline execution (AKURAI_WORKERS=1). A push to hosted Git queues a run
# automatically when the repository carries this file. The protected
# deploy-production job cannot mutate the service it runs inside of
# (ProtectHome=read-only, NoNewPrivileges), so deploy/service-deploy.sh stages
# the packaged binary for the root-owned akurai-deploy.path host agent
# (deploy/host/), which checksum-verifies, installs, restarts, health-gates,
# and rolls back automatically on failure.
jobs:
- name: verify
executor: native
branches: [main]
run:
- RUSTUP_HOME=/home/olibuijr/.rustup CARGO_HOME=/home/olibuijr/.cargo PATH=/home/olibuijr/.cargo/bin:/usr/bin:/bin cargo fmt --all -- --check
- RUSTUP_HOME=/home/olibuijr/.rustup CARGO_HOME=/home/olibuijr/.cargo PATH=/home/olibuijr/.cargo/bin:/usr/bin:/bin cargo clippy --all-targets --all-features -- -D warnings
- RUSTUP_HOME=/home/olibuijr/.rustup CARGO_HOME=/home/olibuijr/.cargo PATH=/home/olibuijr/.cargo/bin:/usr/bin:/bin cargo test
- name: package
needs: [verify]
executor: native
branches: [main]
run: RUSTUP_HOME=/home/olibuijr/.rustup CARGO_HOME=/home/olibuijr/.cargo PATH=/home/olibuijr/.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/olibuijr/.local/bin sh deploy/service-deploy.sh