-
Notifications
You must be signed in to change notification settings - Fork 97
Update NodeJS + Haskell version #1470
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
Dockerfile
Outdated
| RUN \ | ||
| if [ "$(ls /tmp)" ]; then ls /tmp; false; fi \ | ||
| && stack install --resolver lts-10.10 sbp \ | ||
| && stack install --resolver lts-23.7 sbp \ |
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.
Hey, I think I tried it like this in the past, but it didn't work. I remember you did it like this previously. Can you double-check?
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.
From what I understand, the Dockerfile explicitly states what version it wants to use to build the SBP version, where as in the Haskell test build it uses whatever is in that haskell/stack.yaml file. I don't know why there is a difference there.
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.
I've since reverted this change and tried to unify the Haskell version to lts-14.9
| RUN \ | ||
| if [ "$(ls /tmp)" ]; then ls /tmp; false; fi \ | ||
| && stack install --resolver lts-10.10 sbp \ | ||
| && stack install --resolver lts-14.9 sbp \ |
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.
keeping the same version as Haskell build stage
Line 1 in 9daf121
| resolver: lts-14.9 |
we currently need a version that is greater than v12
| warnings.simplefilter("always") | ||
| # Check for warnings. | ||
| assert len(w) == 1 | ||
| assert issubclass(w[0].category, RuntimeWarning) | ||
| assert str(w[0].message).startswith('Bad message parsing for line') |
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 is a strange test and is dependent on the internal implementation of the python JSON library. I've removed it since its not really testing anything important
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.
Needed to regenerated the nodejs list of packages, the old versions were unsupported with the latest LTS
| "assert": "^2.1.0", | ||
| "binary-parser": "^1.7.0", | ||
| "cuint": "^0.2.2", | ||
| "js-yaml": "^3.13.1", | ||
| "node-int64": "^0.4.0" | ||
| "node-int64": "^0.4.0", | ||
| "path": "^0.12.7", | ||
| "stream": "^0.0.3" |
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.
new packages were required to generate javascript/sbp.bundle.js
|
| ARG DEBIAN_FRONTEND=noninteractive | ||
|
|
||
| ENV NODE_VERSION=v18.17.0 | ||
| ENV NODE_VERSION=v22.13.1 |
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.
Using the latest NodeJS TLS
| imagemagick \ | ||
| enchant \ | ||
| clang-format-6.0 \ | ||
| python3.7 python3.7-dev python3.7-distutils \ |
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.
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.
Python 3.7 and python 3.8 are now at EOL
| python3 python3-dev python3-distutils \ | ||
| python3.9 python3.9-dev python3.9-distutils \ | ||
| python3.10 python3.10-dev python3.10-distutils \ | ||
| python3.11 python3.11-dev python3.11-distutils \ |
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.
I've included python 3.11 since its the latest python version that the Ubuntu Focal offers
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.
Needed to regenerate after updating the NodeJS version
| [coverage:run] | ||
| branch = True | ||
| include = sbp/* | ||
| parallel = True | ||
|
|
||
| [coverage:report] | ||
| exclude_lines = | ||
| # Have to re-enable the standard pragma | ||
| pragma: no cover | ||
|
|
||
| # Don't complain about missing debug-only code: | ||
| def __repr__ | ||
| if self\.debug | ||
|
|
||
| # Don't complain if non-runnable code isn't run: | ||
| if 0: | ||
| if __name__ == .__main__.: | ||
| ignore_errors = True | ||
|
|
||
| [coverage:omit] | ||
| omit = | ||
| tests/* | ||
| limbo/* | ||
| data/* |
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 was the source of a lot of headaches. The python tests would randomly crash because of some internal Python code coverage error, it would normally happen with Python 3.10 builds, but not exclusively:
There is no need for code coverage here, we are looking to run the test cases and see if they work. If we need code coverage, we can add it later with SonarCloud integration.
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.
Maybe someone else from @swift-nav/algint-team can confirm that we don't require coverage right now? That would be my only concern.
sbmueller
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.
No feedback received on python coverage, therefore approving
# Changes After updating the following PRs: * #1470 * swift-nav/docker-recipes#439 I can finally update the docker image here to fix both repositories.





Description
Fix the docker build
See: https://github.com/swift-nav/docker-recipes/pull/439
API compatibility
No compatibility issues
API compatibility plan
N/A