[LOW-304] Update development environment

I wanted to use MCCS to check something I had done for LOW-280, but alas! I had a series of problems resurrecting my MCCS development environment. It took me several hours to get things working, and I thought it was worth checking this in.

  1. The devcontainer was rebuilding pytango from scratch in a virtual machine, when there was already a working version in the base environment. I updated the devcontainer to use the existing pytango. Now it launches in 15 seconds instead of 30 minutes! Woo! Part of this involved adopting a simpler two-line Dockerfile. I think maybe the develop.Dockerfile can be ditched, but I didn't want to break anything so left it in situ for now.
  2. Since we're using the base environment rather than a poetry-built virtual environment, we can dump PYTHON_RUNNER = poetry run from the Makefile. I also cleaned out some build and publish target overrides that look like a great idea, but actually they will only cause your published package to lack required metadata and be quarantined on the CAR. Far better to use the standard targets.
  3. Then I found I could neither make python-lint nor make python-test. In both cases there were errors that looked like dependency issues, so I updated all the package dependencies. This got make python-lint working, but not make python-test.
  4. Eventually I figured out make python-test -- details at https://skao.slack.com/archives/CJK6VKQ0G/p1659350629226349
  5. The python-test CI pipeline step was taking forever to run. It too was installing pytango into a virtual environment instead of using the existing pytango in the container. I fixed this.

Bonus: The testing/src/tests/unit/tile/test_tile_component_manager.py::TestTileComponentManager::test_eventual_consistency_of_on_command test failed in the CI pipeline several times. I got bored with retrying so instead I tried to fix it. I think it is fixed now. It passed 1000 times out of 1000 (nearly an hour of soak testing!) on my local machine, and also passed first time in the CI pipeline. 1000

Edited by Drew Devereux

Merge request reports

Loading