diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 315f793..13f1398 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -5,19 +5,28 @@ on: - pull_request jobs: - build: + test: runs-on: ubuntu-24.04 strategy: matrix: - python-version: ['3.8', '3.9', '3.10', '3.11', '3.12'] + python-version: ["3.8", "3.9", "3.10", "3.11", "3.12"] steps: - - uses: actions/checkout@v4 - - name: Install uv - uses: astral-sh/setup-uv@v3 - - name: Set up Python ${{ matrix.python-version }} - run: uv python install ${{ matrix.python-version }} - - name: Install the project - run: uv sync --all-extras --dev - - name: Test with tox - run: uv run tox + - uses: actions/checkout@v4 + - name: Install uv + uses: astral-sh/setup-uv@v3 + with: + enable-cache: true + cache-dependency-glob: "requirements**.txt" + - name: Set up Python ${{ matrix.python-version }} + run: uv python install ${{ matrix.python-version }} + - name: Install dependencies + run: uv sync --all-extras --dev + - name: Run tests with coverage + run: | + uv run python -m pytest --cov=googletrans --cov-report=xml + - name: Upload coverage to Codecov + uses: codecov/codecov-action@v3 + with: + files: ./coverage.xml + fail_ci_if_error: true diff --git a/pyproject.toml b/pyproject.toml index 19158b6..6e4efa3 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -24,10 +24,10 @@ classifiers = [ ] [project.optional-dependencies] -dev = ["pytest", "pytest-asyncio", "coveralls", "ruff>=0.7"] +dev = ["pytest", "pytest-asyncio", "pytest-cov", "ruff>=0.7"] [tool.uv] -dev-dependencies = ["pytest", "pytest-asyncio", "ruff>=0.7"] +dev-dependencies = ["pytest", "pytest-asyncio", "pytest-cov", "ruff>=0.7"] [project.scripts] translate = "googletrans:translate"