Details
-
Type:
RFC
-
Status: Adopted
-
Resolution: Done
-
Component/s: DM
-
Labels:None
-
Location:this ticket
Description
sconsUtils provides fundamental functionality for building LSST packages but has a couple of issues that, if fixed, would significantly help with advanced continuous integration builds and metrics gathering. In this RFC I propose we make the following changes to sconsUtils:
- Enable EUPS-less builds. Allowing the build to run without requiring EUPS be available simplifies decomposition of the build into individual entities. This is an extension of
RFC-44. There is a bug report inDM-2769. - Run tests with py.test or nose. The tests currently write a .failed file with the output of the test. This is not parseable by standard test reporting environments. We propose to modify the test execution to use py.test or equivalent capable of writing test results in a standard form that can be understand by many tools. This will improve the readability and metrics analysis of tests (at the expense of one more python dependency). This may require some tweaks to how tests are laid out currently and account will be made of the memory test case (including running tests with valgrind enabled).
- Replace the ups/*.cfg file with a file in standard pkg_config format. This will allow for the installed packages to be queried for dependencies using standard tools and support non-EUPS thirdparty applications linking against the stack C++.
Attachments
Issue Links
- is blocked by
-
RFC-44 Remove build system dependencies from tests
- Implemented
- is triggering
-
DM-2769 sconsUtils has a hard dependency on EUPS for both tests and installation
- Done
-
DM-3862 Stack Build, Packaging and Testing Improvements Part II
- Done
-
DM-7600 Pytest and Flake8 integration with CI and sconsUtils
- Done
-
DM-9029 replace sconsUtils ".cfg" with pkg_config
- To Do
-
DM-5561 Write tech note on modifications required to use py.test framework
- Done
-
DM-11514 Modify sconsUtils to use pytest for test execution
- Done
-
DM-3231 use pkg-config to link against thirdparty dependencies
- Won't Fix
- relates to
-
DM-2768 investigate decomposition of stack build into independent packages
- Done
-
DM-3197 Upgrade scons to v2.3.5
- Done
-
DLP-336 Engineer Decomposed Stack Builds
-
- Unplanned
-
-
RFC-71 Allow scons to be upgraded without RFC
- Withdrawn
In addition, decomposing the build by getting rid of lsstswBuild.sh should allow us to much more easily add integration tests for the stack, including tests that are run at different cadences. I think this is one of the highest priority results. While it could be achieved in other ways, planning for the future and the synergy with the other aspects of this RFC argues for doing it this way.