name: Test & Validate Submission on: [push, pull_request] jobs: validate: runs-on: ubuntu-latest strategy: matrix: python-version: ["3.10", "3.11"] steps: - uses: actions/checkout@v3 - name: Set up Python ${{ matrix.python-version }} uses: actions/setup-python@v4 with: python-version: ${{ matrix.python-version }} - name: Install dependencies run: | python -m pip install --upgrade pip pip install -e . pip install pytest pytest-asyncio ruff mypy - name: Lint with ruff run: ruff check . --select=E,W,F - name: Type check with mypy run: | mypy server/ inference.py baseline.py --ignore-missing-imports - name: Test environment loads run: | python -c "from server.env import EcoLLMInferenceRoutingEnvironment; env = EcoLLMInferenceRoutingEnvironment(); print('Environment loads')" - name: Test baseline agents run: | python -c "from baseline import RandomRoutingAgent; agent = RandomRoutingAgent(); print('Random agent loads')" python -c "from baseline import HeuristicRoutingAgent; agent = HeuristicRoutingAgent(); print('Heuristic agent loads')" - name: Test Docker build run: | docker build -t eco-llm-routing -f Dockerfile . continue-on-error: true