Remove old compiled spt3g/so3g layers from Docker image #397
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
This PR rebases the ocs Docker image onto the
ubuntu:22.04
base image. It also sets up and enables a Pythonvirualenv
for theocs
installation.Motivation and Context
This has been long overdue, but historically we built upon the simonsobs/so3g image, which is built upon the simonsobs/spt3g image, which in turn was built upon
ubuntu:22.04
.This chain of images was to facilitate installation of the spt3g/so3g stack, which prior to so3g becoming pip installable needed to be compiled. Each layer compiled its respective package. Now that we can (and do) install so3g from pip, and so3g brings its own spt3g with it, we don't need these base layers.
There were a few issues with this historical stack still being in place, the largest of which is that somehow in the build process Python 3.10 was being replaced with Python 3.8. (3.10 is present in
simonsobs/so3g
, but only 3.8 is present insimonsobs/ocs
.) This may have exacerbated the setuptools issue in #391.This also saves a bunch of disk space, since we don't have everything needed to compile spt3g/so3g in the image anymore. Compare these two builds to see it's about 1.2GB!
The
virtualenv
setup also prepares us for the update toubuntu:24.04
, which comes with Python 3.12 which enforces uses of virtual environments.How Has This Been Tested?
Builds and tests have been run locally and all pass.
Types of changes
Checklist: