-
Notifications
You must be signed in to change notification settings - Fork 21
Closed
Labels
build systemRelated to continuous integration & testing infrastructureRelated to continuous integration & testing infrastructurediscussion
Description
Recent trouble with the packaging highlighted a number of shortcomings of the current setup:
- The manual coping of files in
build_conda.pywas very hard to debug and led to many slow iterations while attempting to fix the packaging. If I remember correctly the reason for this was to avoid rebuilds when callingconda --build? - A sub-problem of the former was the mix of platform-specifics in this script, which meant fixing one platform broke the other platform's packages (more than once).
- We build
installandall-testsbefore running any of the tests. One reason for splitting the scipp codebase into sublibraries was to be able to abort early, e.g., to runscipp-core-testbefore compilingscipp-variable. This advantage was lost at some point. While this may sometimes be irrelevant, during the past week or so I did observe that we had jobs waiting for free builders at times when we were merging/pushing in multiple projects (scipp, scippneutron, ess) at the same time.- Would maybe require fixing the unresolved MSVC issue of full recompilation of all object files and libraries for every target.
- Could consider building without IPO for PRs?
- Having to maintain a series of different env files is becoming a nightmare. We have:
- dev envs (multiple platforms), used also for parts of CI
- conda build
meta.yml - User-facing envs (linked to from docs)
- Do we actually want to publish a package for every push to
main? - We have multiple times broken the ability to make patch releases by updating
pipelines. Should probably use tags in pipelines repo, and refer to concrete tags from downstream CI? -> fixed in Use pipelines tags to avoid breaking ability for patch releases #2207.
Metadata
Metadata
Assignees
Labels
build systemRelated to continuous integration & testing infrastructureRelated to continuous integration & testing infrastructurediscussion