name: fx-quant-engine-ci on: push: paths: - "fx_quant_engine/**" - "config/**" - "tests/**" - "scripts/**" - "pyproject.toml" pull_request: paths: - "fx_quant_engine/**" - "config/**" - "tests/**" - "scripts/**" - "pyproject.toml" workflow_dispatch: jobs: lint-test-build: runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v4 - name: Setup Python uses: actions/setup-python@v5 with: python-version: "3.11" - name: Install dependencies run: | python -m pip install --upgrade pip pip install -e '.[dev]' - name: Lint run: ruff check . - name: Test run: pytest - name: Generate sample run artifact run: python scripts/run_engine.py - name: Upload run artifacts uses: actions/upload-artifact@v4 with: name: fx-engine-runs path: examples/runs/*.json if-no-files-found: warn retention-days: 30