diff --git a/.github/workflows/pre_release.yaml b/.github/workflows/pre_release.yaml
index 9dd47dd9..40def076 100644
--- a/.github/workflows/pre_release.yaml
+++ b/.github/workflows/pre_release.yaml
@@ -32,6 +32,15 @@ jobs:
release_type: prerelease
existing_changelog_path: CHANGELOG.md
+ actions_lint_check:
+ name: Actions lint check
+ runs-on: ubuntu-latest
+ steps:
+ - name: Checkout repository
+ uses: actions/checkout@v6
+ - name: Run actionlint
+ uses: rhysd/actionlint@v1.7.9
+
lint_check:
name: Lint check
uses: apify/workflows/.github/workflows/python_lint_check.yaml@main
@@ -47,8 +56,12 @@ jobs:
unit_tests:
name: Unit tests
uses: apify/workflows/.github/workflows/python_unit_tests.yaml@main
+ secrets: inherit
with:
python-versions: '["3.10", "3.11", "3.12", "3.13", "3.14"]'
+ operating-systems: '["ubuntu-latest", "windows-latest"]'
+ python-version-for-codecov: "3.14"
+ operating-system-for-codecov: ubuntu-latest
async_docstrings:
name: Async dostrings check
@@ -59,7 +72,10 @@ jobs:
uses: apify/workflows/.github/workflows/python_integration_tests.yaml@main
secrets: inherit
with:
- python-versions: '["3.10", "3.11", "3.12", "3.13", "3.14"]'
+ python-versions: '["3.10", "3.14"]'
+ operating-systems: '["ubuntu-latest"]'
+ python-version-for-codecov: "3.14"
+ operating-system-for-codecov: ubuntu-latest
update_changelog:
name: Update changelog
diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml
index 41dafb10..4216e775 100644
--- a/.github/workflows/release.yaml
+++ b/.github/workflows/release.yaml
@@ -55,26 +55,13 @@ jobs:
with:
python-versions: '["3.10", "3.11", "3.12", "3.13", "3.14"]'
- unit_tests:
- name: Unit tests
- uses: apify/workflows/.github/workflows/python_unit_tests.yaml@main
- with:
- python-versions: '["3.10", "3.11", "3.12", "3.13", "3.14"]'
-
async_docstrings:
name: Async dostrings check
uses: ./.github/workflows/_async_docstrings_check.yaml
- integration_tests:
- name: Integration tests
- uses: apify/workflows/.github/workflows/python_integration_tests.yaml@main
- secrets: inherit
- with:
- python-versions: '["3.10", "3.11", "3.12", "3.13", "3.14"]'
-
update_changelog:
name: Update changelog
- needs: [release_metadata, lint_check, type_check, unit_tests, integration_tests]
+ needs: [release_metadata, lint_check, type_check]
uses: apify/workflows/.github/workflows/python_bump_and_update_changelog.yaml@main
with:
version_number: ${{ needs.release_metadata.outputs.version_number }}
diff --git a/.github/workflows/run_code_checks.yaml b/.github/workflows/run_code_checks.yaml
index 6fa692b2..051446c3 100644
--- a/.github/workflows/run_code_checks.yaml
+++ b/.github/workflows/run_code_checks.yaml
@@ -12,6 +12,15 @@ on:
workflow_dispatch:
jobs:
+ actions_lint_check:
+ name: Actions lint check
+ runs-on: ubuntu-latest
+ steps:
+ - name: Checkout repository
+ uses: actions/checkout@v6
+ - name: Run actionlint
+ uses: rhysd/actionlint@v1.7.9
+
lint_check:
name: Lint check
uses: apify/workflows/.github/workflows/python_lint_check.yaml@main
@@ -27,8 +36,12 @@ jobs:
unit_tests:
name: Unit tests
uses: apify/workflows/.github/workflows/python_unit_tests.yaml@main
+ secrets: inherit
with:
python-versions: '["3.10", "3.11", "3.12", "3.13", "3.14"]'
+ operating-systems: '["ubuntu-latest", "windows-latest"]'
+ python-version-for-codecov: "3.14"
+ operating-system-for-codecov: ubuntu-latest
async_docstrings:
name: Async dostrings check
@@ -42,6 +55,9 @@ jobs:
name: Integration tests
needs: [lint_check, type_check, unit_tests]
uses: apify/workflows/.github/workflows/python_integration_tests.yaml@main
- with:
- python-versions: '["3.10", "3.11", "3.12", "3.13", "3.14"]'
secrets: inherit
+ with:
+ python-versions: '["3.10", "3.14"]'
+ operating-systems: '["ubuntu-latest"]'
+ python-version-for-codecov: "3.14"
+ operating-system-for-codecov: ubuntu-latest
diff --git a/.gitignore b/.gitignore
index cfd8077f..6b3c714d 100644
--- a/.gitignore
+++ b/.gitignore
@@ -24,6 +24,8 @@ build/
# Coverage reports
.coverage*
htmlcov
+coverage-unit.xml
+coverage-integration.xml
# IDE, editors
.vscode
diff --git a/Makefile b/Makefile
index 0874e6d0..33975ded 100644
--- a/Makefile
+++ b/Makefile
@@ -1,6 +1,6 @@
-.PHONY: clean install-dev build publish-to-pypi lint type-check unit-tests unit-tests-cov \
- integration-tests format check-async-docstrings check-code fix-async-docstrings \
- build-api-reference build-docs run-docs
+.PHONY: clean install-dev build publish-to-pypi lint type-check unit-tests unit-tests-cov integration-tests \
+ integration-tests-cov format check-async-docstrings check-code fix-async-docstrings build-api-reference \
+ build-docs run-docs
# This is default for local testing, but GitHub workflows override it to a higher value in CI
INTEGRATION_TESTS_CONCURRENCY = 1
@@ -27,13 +27,32 @@ type-check:
uv run mypy
unit-tests:
- uv run pytest --numprocesses=auto --verbose --cov=src/apify_client tests/unit
+ uv run pytest \
+ --numprocesses=auto \
+ --verbose \
+ tests/unit
unit-tests-cov:
- uv run pytest --numprocesses=auto --verbose --cov=src/apify_client --cov-report=html tests/unit
+ uv run pytest \
+ --numprocesses=auto \
+ --verbose \
+ --cov=src/apify_client \
+ --cov-report=xml:coverage-unit.xml \
+ tests/unit
integration-tests:
- uv run pytest --numprocesses=$(INTEGRATION_TESTS_CONCURRENCY) --verbose tests/integration
+ uv run pytest \
+ --numprocesses=$(INTEGRATION_TESTS_CONCURRENCY) \
+ --verbose \
+ tests/integration
+
+integration-tests-cov:
+ uv run pytest \
+ --numprocesses=$(INTEGRATION_TESTS_CONCURRENCY) \
+ --verbose \
+ --cov=src/apify_client \
+ --cov-report=xml:coverage-integration.xml \
+ tests/integration
format:
uv run ruff check --fix
diff --git a/README.md b/README.md
index bdf89872..bb34dbcc 100644
--- a/README.md
+++ b/README.md
@@ -7,6 +7,9 @@
+
+
+