dls-controls / pythonSoftIOC

Embed an EPICS IOC in a Python process
Apache License 2.0
32 stars 7 forks source link

Add VSCode config #49

Closed AlexanderWells-diamond closed 2 years ago

AlexanderWells-diamond commented 2 years ago

It's lifted from the DLS Py3 Template Module, with all auto-formatting parts removed due to most of the code not conforming to existing formatting (i.e. the Black formatter)

Fixes #47

codecov[bot] commented 2 years ago

Codecov Report

Merging #49 (67cb01d) into master (2c5961b) will not change coverage. The diff coverage is n/a.

Impacted file tree graph

@@           Coverage Diff           @@
##           master      #49   +/-   ##
=======================================
  Coverage   85.57%   85.57%           
=======================================
  Files          13       13           
  Lines         832      832           
=======================================
  Hits          712      712           
  Misses        120      120           

Continue to review full report at Codecov.

Legend - Click here to learn more Δ = absolute <relative> (impact), ø = not affected, ? = missing data Powered by Codecov. Last update 2c5961b...67cb01d. Read the comment docs.

AlexanderWells-diamond commented 2 years ago

@thomascobb Am I right in thinking the CI is broken at the moment? All this PR now does is add the 4 files in the .vscode folder, and yet somehow both the Docs and the Code CIs are failing. Is this something I have done somehow, or is it an unrelated failure?

I also don't understand how this PR is apparently reducing the coverage - I haven't touched the files it claims have lost coverage.

AlexanderWells-diamond commented 2 years ago

@thomascobb I see your latest commit mostly fixed the problem. However, on Python3.9 I see these error messages:

Installing collected packages: pyparsing, tomli, toml, py, pluggy, packaging, iniconfig, coverage, attrs, typing-extensions, pytest, ply, nose, epicscorelibs, pytest-cov, pytest-asyncio, p4p, cothread, aioca
    Attempting uninstall: epicscorelibs
      Found existing installation: epicscorelibs 7.0.6.99.1.0
      Uninstalling epicscorelibs-7.0.6.99.1.0:
        Successfully uninstalled epicscorelibs-7.0.6.99.1.0
  Successfully installed aioca-1.2 attrs-21.2.0 cothread-2.17 coverage-6.0.1 epicscorelibs-7.0.6.99.2.0a1

The interesting part is: epicscorelibs-7.0.6.99.2.0a1. That's a new alpha version that was only published on Oct 7th. I do not understand how it is being picked up, as your pyproject.toml changes should pin to the previous stable version.

thomascobb commented 2 years ago

This is the problem:

       + pip install pytest-cov p4p cothread pytest-asyncio aioca
  ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.

The cibuildwheel runs the pip install ${test_requires} after pip install ${wheel} so the requirement from aioca trumps that of pythonSoftIOC. I'm trying to package the test deps as an "extra" that should solve that