diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..a9d5d3b --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,37 @@ +name: CI + +on: + push: + branches: [main] + pull_request: + +jobs: + test: + name: pytest (py${{ matrix.python-version }}) + runs-on: ubuntu-latest + # A hang must fail LOUDLY and fast, not sit burning runner time until the + # 6h default -- a job stuck at "in_progress" reads as "not done yet" + # rather than "broken", which is how a false green gets merged. + timeout-minutes: 10 + strategy: + fail-fast: false + matrix: + # requires-python = ">=3.11" -- cover the floor and a current minor. + python-version: ["3.11", "3.12"] + steps: + - uses: actions/checkout@v4 + + - name: Install uv + uses: astral-sh/setup-uv@v5 + with: + python-version: ${{ matrix.python-version }} + + - name: Install dependencies + # This repo uses [project.optional-dependencies] dev, not + # [dependency-groups] -- `uv sync --extra dev`, not `--dev`. + run: uv sync --extra dev + + - name: Run test suite + # pyproject.toml's own addopts already excludes `live` tests + # (-m 'not live'); nothing extra needed here. + run: uv run pytest -q diff --git a/.gitignore b/.gitignore index 384e153..39c736c 100644 --- a/.gitignore +++ b/.gitignore @@ -66,11 +66,9 @@ next-steps.md ##################################### # Local developer configuration -.github/ *AGENTS.md .claude/ *.code-workspace -pyrightconfig.json .vscode/ .idea/ .history/ diff --git a/pyrightconfig.json b/pyrightconfig.json new file mode 100644 index 0000000..4355e27 --- /dev/null +++ b/pyrightconfig.json @@ -0,0 +1,10 @@ +{ + "include": [ + "amplifier_module_provider_github_copilot", + "tests" + ], + "stubPath": "typings", + "typeCheckingMode": "standard", + "reportMissingModuleSource": "warning", + "reportMissingImports": "warning" +}