Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
60 changes: 58 additions & 2 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ jobs:
- uses: actions/checkout@v5
- uses: actions-rust-lang/setup-rust-toolchain@v1
- name: Run clippy
run: cargo clippy --workspace --all-targets --all-features -- -D warnings
run: cargo clippy --workspace --all-targets --all-features --locked -- -D warnings

test:
name: Test
Expand All @@ -58,7 +58,7 @@ jobs:
- name: Install cargo-llvm-cov
run: cargo install cargo-llvm-cov --locked
- name: Generate coverage summary
run: cargo llvm-cov --workspace --json --summary-only --output-path coverage-summary.json --fail-under-lines 88
run: cargo llvm-cov --workspace --locked --json --summary-only --output-path coverage-summary.json --fail-under-lines 88
- name: Update coverage badge data
if: github.event_name == 'push' && github.ref == 'refs/heads/main'
run: |
Expand Down Expand Up @@ -90,3 +90,59 @@ jobs:
git add badges/coverage.json
git commit -m "Update coverage badge"
git push

docs_and_scripts:
name: Documentation and setup scripts
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- name: Check documentation links and setup script tests
run: |
python3 scripts/check-doc-links.py
python3 -m unittest discover -s scripts/tests -v
for script in scripts/*.sh; do bash -n "$script"; done

source_install:
name: Source install and real-model smoke test
runs-on: ubuntu-latest
timeout-minutes: 25
steps:
- uses: actions/checkout@v5
- uses: actions-rust-lang/setup-rust-toolchain@v1
- name: Install service from source
run: cargo install --locked --path crates/aximo --root "$RUNNER_TEMP/aximo-install"
- name: Download default model
run: ./scripts/fetch-models.sh
- name: Verify installed service with real inference
env:
AXIMO_CONFIG: config/aximo.local.toml
AXIMO_SERVER_PORT: "18080"
ORT_LOG: error
run: |
"$RUNNER_TEMP/aximo-install/bin/aximo" > service.log 2>&1 &
service_pid=$!
trap 'kill "$service_pid" 2>/dev/null || true; wait "$service_pid" 2>/dev/null || true' EXIT
ready=false
for attempt in $(seq 1 120); do
if ! kill -0 "$service_pid" 2>/dev/null; then
cat service.log
exit 1
fi
if curl --fail --silent http://127.0.0.1:18080/health/ready > /dev/null; then
ready=true
break
fi
sleep 2
done
if [ "$ready" != true ]; then
cat service.log
exit 1
fi
python3 scripts/smoke-test.py --base-url http://127.0.0.1:18080
- name: Upload service startup log
if: failure()
uses: actions/upload-artifact@v7
with:
name: source-install-service-log
path: service.log
if-no-files-found: ignore
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,3 +2,5 @@
target
.DS_Store
var

__pycache__/
8 changes: 4 additions & 4 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ version = "0.1.0"
aximo-audio = { path = "crates/aximo-audio", version = "0.1.0" }
aximo-core = { path = "crates/aximo-core", version = "0.1.0" }
aximo-inference = { path = "crates/aximo-inference", version = "0.1.0" }
anyhow = "1.0.102"
anyhow = "1.0.103"
axum = { version = "0.8.9", features = ["ws"] }
bytes = "1.11.1"
futures-util = "0.3.32"
Expand Down
Loading
Loading