Merge pull request #534 from keisuke-umezawa/feature/introduce-python-coverage

Introduce python coverage CI
This commit is contained in:
c-bata
2023-08-09 10:09:56 +09:00
committed by GitHub
5 changed files with 68 additions and 2 deletions
+3
View File
@@ -0,0 +1,3 @@
[run]
concurrency = multiprocessing,thread
source = optuna_dashboard/
+44
View File
@@ -0,0 +1,44 @@
name: python coverage
on:
push:
branches:
- master
pull_request: {}
jobs:
coverage:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Setup Python
uses: actions/setup-python@v4
with:
python-version: '3.10'
architecture: x64
- name: Install dependencies
run: |
python -m pip install --progress-bar off --upgrade pip setuptools
pip install --progress-bar off .[optional]
pip install --progress-bar off .[test]
pip install --progress-bar off "optuna>=3.0.0"
pip install --progress-bar off .
echo 'import coverage; coverage.process_startup()' > sitecustomize.py
- name: Tests
env:
PYTHONPATH: . # To invoke sitecutomize.py
COVERAGE_PROCESS_START: .coveragerc # https://coverage.readthedocs.io/en/6.4.1/subprocess.html
COVERAGE_COVERAGE: yes # https://github.com/nedbat/coveragepy/blob/65bf33fc03209ffb01bbbc0d900017614645ee7a/coverage/control.py#L255-L261
run: |
coverage run --source=optuna_dashboard -m pytest python_tests
coverage combine
coverage xml
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v3
with:
file: ./coverage.xml
+4 -2
View File
@@ -45,7 +45,8 @@ jobs:
# python_tests requires optuna>=3.0.0 since it imports FloatDistribution
run: |
python -m pip install --progress-bar off --upgrade pip setuptools
pip install streamlit boto3 moto[s3] pytest
pip install --progress-bar off .[optional]
pip install --progress-bar off .[test]
pip install --progress-bar off "optuna>=3.0.0"
pip install --progress-bar off .
- run: pytest python_tests
@@ -61,7 +62,8 @@ jobs:
- name: Install dependencies
run: |
python -m pip install --progress-bar off --upgrade pip setuptools
pip install streamlit boto3 moto[s3] pytest
pip install --progress-bar off .[optional]
pip install --progress-bar off .[test]
pip install --progress-bar off .
python -m pip install --progress-bar off --upgrade git+https://github.com/optuna/optuna.git
- run: pytest python_tests
+5
View File
@@ -28,6 +28,11 @@ docs/_generated/
rustlib/target/
rustlib/pkg/
# Test
.coverage
.coverage.*
coverage.xml
# Others
.envrc
.idea/
+12
View File
@@ -33,6 +33,18 @@ dependencies = [
]
dynamic = ["version"]
[project.optional-dependencies]
test = [
"coverage",
"pytest",
"moto[s3]",
]
optional = [
"streamlit",
"boto3",
]
[project.scripts]
optuna-dashboard = "optuna_dashboard._cli:main"