diff --git a/.coveragerc b/.coveragerc index fa3fa528..bd53f7e6 100644 --- a/.coveragerc +++ b/.coveragerc @@ -1,6 +1,4 @@ [run] -source = - src [report] omit = */python?.?/* diff --git a/.github/workflows/codecov.yml b/.github/workflows/codecov.yml new file mode 100644 index 00000000..0297142c --- /dev/null +++ b/.github/workflows/codecov.yml @@ -0,0 +1,50 @@ +name: Gather coverage report and upload to codecov + +on: + push: + branches: + - main + pull_request: + workflow_dispatch: + +defaults: + run: + shell: bash -l {0} + +jobs: + coverage: + runs-on: ubuntu-latest + steps: + - name: Check out diffpy.snmf + uses: actions/checkout@v4 + + - name: Initialize miniconda + uses: conda-incubator/setup-miniconda@v3 + with: + activate-environment: test + auto-update-conda: true + environment-file: environment.yml + auto-activate-base: false + + - name: Conda config + run: >- + conda config --set always_yes yes + --set changeps1 no + + - name: Install diffpy.snmf and requirements + run: | + conda install --file requirements/run.txt + conda install --file requirements/test.txt + python -m pip install -r requirements/pip.txt + python -m pip install . --no-deps + + - name: Validate diffpy.snmf + run: | + pytest --cov + coverage report -m + codecov + + - name: Upload coverage to Codecov + uses: codecov/codecov-action@v4 + env: + CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 581821ea..a90aaeb7 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -50,6 +50,4 @@ jobs: shell: bash -l {0} run: | conda activate test - coverage run -m pytest -vv -s - coverage report -m - codecov + pytest diff --git a/requirements/test.txt b/requirements/test.txt index 6f9ccf84..d808074d 100644 --- a/requirements/test.txt +++ b/requirements/test.txt @@ -1,5 +1,5 @@ flake8 pytest codecov -coverage pytest-env +pytest-cov