Add standalone ATO controller in lean Rust.
Pure ato-core logic, minimal HTTP client, JSON config and spec files. Docker build with tests; integrates with TrainSim over simple REST API. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
parent
b4e580af11
commit
a8d40b466b
20 changed files with 748 additions and 24 deletions
|
|
@ -1,4 +1,4 @@
|
|||
name: CodeView CI
|
||||
name: CodeView ATO CI
|
||||
|
||||
on:
|
||||
push:
|
||||
|
|
@ -7,28 +7,22 @@ on:
|
|||
branches: [main]
|
||||
|
||||
jobs:
|
||||
lint:
|
||||
rust:
|
||||
runs-on: docker
|
||||
container:
|
||||
image: rust:1.85-bookworm
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- name: Lint
|
||||
- name: Test and clippy
|
||||
run: |
|
||||
if [ -f package.json ]; then npm ci && npm run lint; else echo "no lint configured"; fi
|
||||
rustup component add clippy
|
||||
cargo test --workspace
|
||||
cargo clippy --workspace -- -D warnings
|
||||
|
||||
tests:
|
||||
integration:
|
||||
runs-on: docker
|
||||
needs: lint
|
||||
needs: rust
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- name: Unit tests
|
||||
run: |
|
||||
if [ -f package.json ]; then npm test; elif [ -f pyproject.toml ]; then pip install -e . && pytest; else echo "no tests configured"; fi
|
||||
|
||||
docker-build:
|
||||
runs-on: docker
|
||||
needs: tests
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- name: Docker build
|
||||
run: |
|
||||
if [ -f Dockerfile ]; then docker build -t app:ci .; elif [ -f docker-compose.yml ]; then docker compose build; else echo "no docker build configured"; fi
|
||||
- name: Build image (in runner DinD)
|
||||
run: docker build -t ato:ci .
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue