Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,9 @@ jobs:

test:
uses: ./.github/workflows/test-packages.yml
permissions:
contents: read
pull-requests: write

check-versions:
uses: ./.github/workflows/check-version-availability.yml
100 changes: 97 additions & 3 deletions .github/workflows/test-packages.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ on:

permissions:
contents: read
pull-requests: write

jobs:
detect-changed-packages:
Expand Down Expand Up @@ -77,10 +78,41 @@ jobs:
run: uv sync --all-extras --python ${{ matrix.python-version }}

- name: Run tests
if: steps.check.outputs.skip != 'true'
if: steps.check.outputs.skip != 'true' && !(matrix.os == 'ubuntu-latest' && matrix.python-version == '3.13')
working-directory: packages/uipath-core
run: uv run pytest

- name: Run tests with coverage
if: steps.check.outputs.skip != 'true' && matrix.os == 'ubuntu-latest' && matrix.python-version == '3.13'
working-directory: packages/uipath-core
run: uv run pytest --cov-report=xml --cov-report=html --tb=short

- name: Upload coverage HTML report
if: steps.check.outputs.skip != 'true' && matrix.os == 'ubuntu-latest' && matrix.python-version == '3.13' && always()
uses: actions/upload-artifact@v4
with:
name: coverage-html-uipath-core
path: packages/uipath-core/htmlcov/
retention-days: 30

- name: Upload coverage XML report
if: steps.check.outputs.skip != 'true' && matrix.os == 'ubuntu-latest' && matrix.python-version == '3.13' && always()
uses: actions/upload-artifact@v4
with:
name: coverage-xml-uipath-core
path: packages/uipath-core/coverage.xml
retention-days: 30

- name: Coverage PR comment
if: steps.check.outputs.skip != 'true' && matrix.os == 'ubuntu-latest' && matrix.python-version == '3.13' && github.event_name == 'pull_request'
uses: py-cov-action/python-coverage-comment-action@v3
with:
GITHUB_TOKEN: ${{ github.token }}
SUBPROJECT_ID: uipath-core
MINIMUM_GREEN: 90
MINIMUM_ORANGE: 80
COVERAGE_PATH: packages/uipath-core

test-uipath-platform:
name: Test (uipath-platform, ${{ matrix.python-version }}, ${{ matrix.os }})
needs: detect-changed-packages
Expand Down Expand Up @@ -126,10 +158,41 @@ jobs:
run: uv sync --all-extras --python ${{ matrix.python-version }}

- name: Run tests
if: steps.check.outputs.skip != 'true'
if: steps.check.outputs.skip != 'true' && !(matrix.os == 'ubuntu-latest' && matrix.python-version == '3.13')
working-directory: packages/uipath-platform
run: uv run pytest

- name: Run tests with coverage
if: steps.check.outputs.skip != 'true' && matrix.os == 'ubuntu-latest' && matrix.python-version == '3.13'
working-directory: packages/uipath-platform
run: uv run pytest --cov-report=xml --cov-report=html --tb=short

- name: Upload coverage HTML report
if: steps.check.outputs.skip != 'true' && matrix.os == 'ubuntu-latest' && matrix.python-version == '3.13' && always()
uses: actions/upload-artifact@v4
with:
name: coverage-html-uipath-platform
path: packages/uipath-platform/htmlcov/
retention-days: 30

- name: Upload coverage XML report
if: steps.check.outputs.skip != 'true' && matrix.os == 'ubuntu-latest' && matrix.python-version == '3.13' && always()
uses: actions/upload-artifact@v4
with:
name: coverage-xml-uipath-platform
path: packages/uipath-platform/coverage.xml
retention-days: 30

- name: Coverage PR comment
if: steps.check.outputs.skip != 'true' && matrix.os == 'ubuntu-latest' && matrix.python-version == '3.13' && github.event_name == 'pull_request'
uses: py-cov-action/python-coverage-comment-action@v3
with:
GITHUB_TOKEN: ${{ github.token }}
SUBPROJECT_ID: uipath-platform
MINIMUM_GREEN: 90
MINIMUM_ORANGE: 80
COVERAGE_PATH: packages/uipath-platform

e2e-uipath-platform:
name: E2E (uipath-platform, memory)
needs: detect-changed-packages
Expand Down Expand Up @@ -225,10 +288,41 @@ jobs:
run: uv sync --all-extras --python ${{ matrix.python-version }}

- name: Run tests
if: steps.check.outputs.skip != 'true'
if: steps.check.outputs.skip != 'true' && !(matrix.os == 'ubuntu-latest' && matrix.python-version == '3.13')
working-directory: packages/uipath
run: uv run pytest

- name: Run tests with coverage
if: steps.check.outputs.skip != 'true' && matrix.os == 'ubuntu-latest' && matrix.python-version == '3.13'
working-directory: packages/uipath
run: uv run pytest --cov-report=xml --cov-report=html --tb=short

- name: Upload coverage HTML report
if: steps.check.outputs.skip != 'true' && matrix.os == 'ubuntu-latest' && matrix.python-version == '3.13' && always()
uses: actions/upload-artifact@v4
with:
name: coverage-html-uipath
path: packages/uipath/htmlcov/
retention-days: 30

- name: Upload coverage XML report
if: steps.check.outputs.skip != 'true' && matrix.os == 'ubuntu-latest' && matrix.python-version == '3.13' && always()
uses: actions/upload-artifact@v4
with:
name: coverage-xml-uipath
path: packages/uipath/coverage.xml
retention-days: 30

- name: Coverage PR comment
if: steps.check.outputs.skip != 'true' && matrix.os == 'ubuntu-latest' && matrix.python-version == '3.13' && github.event_name == 'pull_request'
uses: py-cov-action/python-coverage-comment-action@v3
with:
GITHUB_TOKEN: ${{ github.token }}
SUBPROJECT_ID: uipath
MINIMUM_GREEN: 90
MINIMUM_ORANGE: 80
COVERAGE_PATH: packages/uipath

continue-on-error: true

test-gate:
Expand Down
21 changes: 18 additions & 3 deletions packages/uipath-core/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -99,11 +99,26 @@ addopts = "-ra -q --cov=src/uipath --cov-report=term-missing"
asyncio_default_fixture_loop_scope = "function"
asyncio_mode = "auto"

[tool.coverage.run]
source = ["src/uipath"]
relative_files = true
omit = [
"*/tests/*",
"*/__pycache__/*",
"*/site-packages/*",
"*/conftest.py",
]

[tool.coverage.report]
show_missing = true

[tool.coverage.run]
source = ["src"]
precision = 2
exclude_lines = [
"pragma: no cover",
"def __repr__",
"raise NotImplementedError",
"if TYPE_CHECKING:",
"@(abc\\.)?abstractmethod",
]

[[tool.uv.index]]
name = "testpypi"
Expand Down
21 changes: 18 additions & 3 deletions packages/uipath-platform/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -105,11 +105,26 @@ markers = [
"e2e: end-to-end tests against real ECS/LLMOps (requires UIPATH_URL, UIPATH_ACCESS_TOKEN, UIPATH_FOLDER_KEY)",
]

[tool.coverage.run]
source = ["src/uipath"]
relative_files = true
omit = [
"*/tests/*",
"*/__pycache__/*",
"*/site-packages/*",
"*/conftest.py",
]

[tool.coverage.report]
show_missing = true

[tool.coverage.run]
source = ["src"]
precision = 2
exclude_lines = [
"pragma: no cover",
"def __repr__",
"raise NotImplementedError",
"if TYPE_CHECKING:",
"@(abc\\.)?abstractmethod",
]

[tool.uv.sources]
uipath-core = { path = "../uipath-core", editable = true }
Expand Down
23 changes: 19 additions & 4 deletions packages/uipath/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -137,15 +137,30 @@ warn_required_dynamic_aliases = true
[tool.pytest.ini_options]
testpaths = ["tests"]
python_files = "test_*.py"
addopts = "-ra -q --cov"
addopts = "-ra -q --cov=src/uipath --cov-report=term-missing"
asyncio_default_fixture_loop_scope = "function"
asyncio_mode = "auto"

[tool.coverage.run]
source = ["src/uipath"]
relative_files = true
omit = [
"*/tests/*",
"*/__pycache__/*",
"*/site-packages/*",
"*/conftest.py",
]

[tool.coverage.report]
show_missing = true

[tool.coverage.run]
source = ["src"]
precision = 2
exclude_lines = [
"pragma: no cover",
"def __repr__",
"raise NotImplementedError",
"if TYPE_CHECKING:",
"@(abc\\.)?abstractmethod",
]

[tool.uv.sources]
uipath-core = { path = "../uipath-core", editable = true }
Expand Down
Loading