-
Notifications
You must be signed in to change notification settings - Fork 317
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
feat: [NODE-1355] Upgrade build container to 24.04 #1946
base: master
Are you sure you want to change the base?
Conversation
…e8b23c204a904f33a64206df1b7c68 Image tag: a5eeb65a5703037d01fe33a863740cc546aaa72e66e8472032ea70c69304c492
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.
Great to be upgrading to the latest Ubuntu!
@@ -65,9 +65,12 @@ IMAGE="$IMAGE:$IMAGE_TAG" | |||
if ! sudo podman "${PODMAN_ARGS[@]}" image exists $IMAGE; then | |||
if ! sudo podman "${PODMAN_ARGS[@]}" pull $IMAGE; then | |||
# fallback to building the image | |||
docker() { sudo podman "${PODMAN_ARGS[@]}" "$@" --network=host; } | |||
docker() { | |||
PODMAN_ARGS=(${PODMAN_ARGS}) |
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.
Why is this needed? Is the outer PODMAN_ARGS
variable not in scope inside the docker
function?
try: | ||
if isinstance(version.parse(split_string), version.Version): | ||
version_str = split_string | ||
except version.InvalidVersion: |
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.
Why do we need to catch InvalidVersion
? packaging 21.3
(which we are using) does this:
def parse(version: str) -> Union["LegacyVersion", "Version"]:
"""
Parse the given version string and return either a :class:`Version` object
or a :class:`LegacyVersion` object depending on if the given version is
a valid PEP 440 version or a legacy version.
"""
try:
return Version(version)
except InvalidVersion:
return LegacyVersion(version)
And LegacyVersion
does not raise InvalidVersion
.
rm -rf libtinfo | ||
|
||
# Build libunwind from source. The packaged version breaks linking | ||
RUN apt -yqq install libtool && \ |
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.
Could you install this in the exiting layers we have with apt install
? Please also remove kubic libcontainers apt repo as we don't need it anymore. Podman is available from Ubuntu's apt repo.
@@ -229,7 +229,7 @@ jobs: | |||
run: | | |||
set -xeuo pipefail | |||
export PYTHONPATH=$PWD/ci/src:$PWD/ci/src/dependencies | |||
pip3 install --ignore-installed -r requirements.txt | |||
PIP_BREAK_SYSTEM_PACKAGES=1 pip3 install --ignore-installed -r requirements.txt |
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.
can you add a note about why this is needed?
lock = "//bazel:focal.lock.json", | ||
manifest = "//bazel:focal.yaml", |
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.
can we remove these files?
cd .. && \ | ||
rm -rf libtinfo | ||
|
||
# Build libunwind from source. The packaged version breaks linking |
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.
can you link to a ticket in llvm or similar so that we know how this breaks in the future?
] | ||
|
||
tar( | ||
name = "sh", | ||
mtree = [ | ||
# needed as dpkg assumes sh is installed in a typical debian installation. | ||
"./bin/sh type=link link=/bin/bash", | ||
"./usr/bin/sh type=link link=/bin/bash", |
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 surprising; is /bin/sh
not standard POSIX?
No description provided.