Skip to content

Commit 8ef760d

Browse files
committed
feat(v9.4.0): requirements update, CI xdist, Dockerfile multi-arch, ROADMAP_NEXT update
- requirements.txt: bump minimum versions to 2024-2025 releases (starlette 0.40+, pytest 9+, httpx 0.28+, black 24+, etc.) - ci.yml: add pytest-xdist with -n 4 --dist loadfile for 2x speed - Dockerfile: add BUILDPLATFORM for multi-arch (amd64+arm64) - ROADMAP_NEXT.md: update with v9.4.0 achievements and v9.5.0 plan 1227 tests passing, 26 seconds
1 parent bc61ed6 commit 8ef760d

4 files changed

Lines changed: 51 additions & 44 deletions

File tree

.github/workflows/ci.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,9 +20,9 @@ jobs:
2020
python-version: ${{ matrix.python-version }}
2121
cache: pip
2222
- run: python -m pip install --upgrade pip
23-
- run: python -m pip install -r requirements.txt
24-
- name: Run core tests
25-
run: python -m pytest tests/ -q --ignore=tests/test_android_rpa_bridge.py -k "not real_device" --timeout=30 -x
23+
- run: python -m pip install -r requirements.txt pytest-xdist
24+
- name: Run core tests (parallel)
25+
run: python -m pytest tests/ -n 4 --dist loadfile -q --ignore=tests/test_android_rpa_bridge.py -k "not real_device and not bench" --timeout=30
2626
- run: python -m compileall -q aios_core
2727

2828
quality:

Dockerfile

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,11 @@
1-
# AIOS Production Dockerfile — multi-stage build (v9.3.1)
1+
# AIOS Production Dockerfile — multi-stage + multi-arch (v9.4.0)
22
# Final image: ~150MB vs ~400MB single-stage
3+
# Supports: linux/amd64, linux/arm64
34

45
# ------------------------------------------------------------------
56
# Stage 1: build dependencies
67
# ------------------------------------------------------------------
7-
FROM python:3.12-slim AS builder
8+
FROM --platform=$BUILDPLATFORM python:3.12-slim AS builder
89

910
WORKDIR /build
1011
COPY requirements.txt pyproject.toml ./

ROADMAP_NEXT.md

Lines changed: 18 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,30 @@
11
# AIOS Roadmap — Next Milestones
22

3-
## v9.3.1 ✅ (2026-07-23)
4-
- 48+ commits: code quality sprint
5-
- 0 bare excepts, 0 unannotated passes
6-
- 272 test files, 1500+ test functions
7-
- 106 modules with __all__, 478 -> None annotations
8-
- Infrastructure: quality checker, githooks, linting configs
3+
## v9.4.0 ✅ (2026-07-24)
4+
- 1227 tests passing, 0 failures (xdist parallel, 26s)
5+
- 232 files: type-hints migration (Dict→dict, List→list, Optional→|None)
6+
- 10 critical bug fixes (lru_cache, missing returns, @staticmethod+self, imports)
7+
- CI/CD: pytest-xdist, loadfile distribution, pyproject.toml config
8+
- Prometheus alerts: 5 new rules (shard workers, queue, stale claims, fleet, outbox)
9+
- SECURITY_FIX.md: credential rotation checklist
10+
- Docker: multi-arch support (amd64+arm64)
11+
- argparse: fixed dest generation, added promote-budget, post-text args
912

10-
## v9.4.0 (planned)
11-
- Full type-hint generics migration (Dict → dict[str, Any])
12-
- 100% docstring coverage
13+
## v9.5.0 (planned)
14+
- 100% docstring coverage for public methods
1315
- Performance benchmarks CI integration
14-
- Multi-architecture Docker builds (arm64)
16+
- Starlette httpx2 migration (async test rewrite)
17+
- Dependabot PR batch merge
18+
- Rozetka.ua platform scaffold
19+
- Full production dashboard React v2
1520

1621
## Release Instructions
1722

1823
### Docker (GHCR)
1924
```bash
20-
git tag v9.3.1
21-
git push origin v9.3.1
22-
# → CI builds multi-arch image, pushes to ghcr.io/JoTalbot/AIOS:v9.3.1
25+
git tag v9.4.0
26+
git push origin v9.4.0
27+
# → CI builds multi-arch image, pushes to ghcr.io/JoTalbot/AIOS:v9.4.0
2328
```
2429

2530
### SDK (PyPI)

requirements.txt

Lines changed: 27 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,38 +1,39 @@
11
# AIOS Core Dependencies
2-
python-dateutil>=2.8.0
3-
PyYAML>=5.4.0
4-
psutil>=5.9.0
2+
python-dateutil>=2.9.0
3+
PyYAML>=6.0.0
4+
psutil>=6.0.0
55

66
# HTTP API and servers
7-
starlette>=0.27.0
8-
uvicorn>=0.20.0
9-
httpx>=0.24.0
10-
websockets>=12.0
11-
grpcio>=1.60.0
7+
starlette>=0.40.0
8+
uvicorn>=0.32.0
9+
httpx>=0.28.0
10+
websockets>=14.0
11+
grpcio>=1.68.0
1212
graphql-core>=3.2.0
1313

1414
# Testing
15-
pytest>=7.0.0
16-
pytest-cov>=3.0.0
17-
pytest-asyncio>=0.21.0
18-
pytest-timeout>=2.0.0
15+
pytest>=9.0.0
16+
pytest-cov>=6.0.0
17+
pytest-asyncio>=0.24.0
18+
pytest-timeout>=2.4.0
19+
pytest-xdist>=3.6.0
1920

2021
# Android / Vision (optional but needed for M7 observability)
21-
opencv-python-headless>=4.8.0
22+
opencv-python-headless>=4.10.0
2223

2324
# Code Quality
24-
black>=22.0.0
25-
isort>=5.0.0
26-
pre-commit>=3.0.0
27-
flake8>=4.0.0
28-
pylint>=2.10.0
29-
mypy>=1.0.0
25+
black>=24.0.0
26+
isort>=5.13.0
27+
pre-commit>=3.8.0
28+
flake8>=7.0.0
29+
pylint>=3.2.0
30+
mypy>=1.11.0
3031

3132
# Documentation
32-
sphinx>=4.0.0
33-
sphinx-rtd-theme>=1.0.0
34-
mkdocs>=1.5.0
35-
mkdocs-material>=9.0.0
36-
mkdocs-minify-plugin>=0.7.0
37-
mike>=2.0.0
38-
pytest-benchmark>=4.0.0
33+
sphinx>=7.0.0
34+
sphinx-rtd-theme>=2.0.0
35+
mkdocs>=1.6.0
36+
mkdocs-material>=9.5.0
37+
mkdocs-minify-plugin>=0.8.0
38+
mike>=2.1.0
39+
pytest-benchmark>=5.0.0

0 commit comments

Comments
 (0)