-
Notifications
You must be signed in to change notification settings - Fork 97
Dockerfile: Use Ubuntu focal #1059
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
d81ca7f to
1805bd4
Compare
813ec72 to
4fbaaea
Compare
|
As long as this doesn't change the base set of tools and languages we support I suppose this is ok, but a bit concerned that originally the usage of bionic in docker (or at least my intent) was supposed to imply a check on the base Linux version we support. Bumping to focal means we don't have that sort of check anymore. It would be great if we could think of a way to mitigate this. |
Would like more discussion on alternatives before we go this route
One idea would be to just run the check in CI-- if focal is needed to run correctly locally-- let's just make a dockerfile for that. Another idea would be to make the dockerfile support bionic or focal as a base. |
805a34d to
d9bfd9c
Compare
Done. The bionic image is 6.82GB, vs 7.56GB for focal. Should I add CI to test bionic as well? In addition to the spelling database, having everyone use the focal LTS image will likely result in a better generated |
3d57567 to
52b1c55
Compare
| && apt-get update \ | ||
| && apt-get install -y \ | ||
| cmake | ||
| && curl https://sh.rustup.rs -sSf | sh -s -- -y --default-toolchain stable --profile minimal --no-modify-path \ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do we do anything to pin the version (as opposed to the channel) of the rust toolchain we use? It should be alright to compile older projects with newer compilers because of the edition guarantees, so I don't think this is critical.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This project seems to be ok with using stable-vs-nightly and edition as the only rustc versioning
triarius
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM!
pythonX.Y-dev are not needed due to removal of JIT.
Adds texlive-latex-extra as only needed recommendation. Make stack dependencies libffi-dev, gnupg and netbase explicit otherwise stack installs these using apt-get without cleaning up.
Reduces the build time due to less fetches of the package lists, and allows removal of many packages needed only for using apt.
Also support building groovy image, although some components of sbp wont build due to missing Python versions and wrong version of clang-format.
52b1c55 to
5efc3c6
Compare
#1058 depends on having a word dictionary, and the bionic dictionaries are missing words used in the specs that are in present in the GitHub ubuntu-latest workers used by https://github.com/swift-nav/libsbp/blob/641eda5/.github/workflows/generator.yaml#L20 .
The more recent the default wordlists used in the docker, the lower the chance that spec updates will require adding to the custom wordlist.
focal is the last ubuntu which includes https://packages.ubuntu.com/focal/clang-format-6.0 ; that could be sourced from somewhere else, but there are other issues to be solved moving to a release after focal. Not especially relevant at present, is this is also the last release which supports https://packages.ubuntu.com/focal/clang-6.0 . The portability project should mean that gcc-8 and beyond are usable with the current warning settings, so more flexibility should be coming soon.
Using groovy or hirsute instead of focal(LTS) will mean a less stable base, and requires an alternative for the deadsnakes ppa which only supports LTS.
c.f. https://launchpad.net/~deadsnakes/+archive/ubuntu/ppa & deadsnakes/issues#169
/var/lib/apt/lists/and use apt-get--no-install-recommends(for secondary fetches) 88818e0 : 8.44GB--no-install-recommends(primary): 7.71Gb https://github.com/swift-nav/libsbp/runs/3209384503?check_suite_focus=true*-dev: 7.61GB - https://github.com/swift-nav/libsbp/pull/1059/checks?check_run_id=3209737607#step:5:15147 - tox summary