Skip to content
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

Open
wants to merge 10 commits into
base: master
Choose a base branch
from

Conversation

Bownairo
Copy link
Member

@Bownairo Bownairo commented Oct 9, 2024

No description provided.

@github-actions github-actions bot added the feat label Oct 9, 2024
…e8b23c204a904f33a64206df1b7c68

Image tag: a5eeb65a5703037d01fe33a863740cc546aaa72e66e8472032ea70c69304c492
Copy link
Collaborator

@basvandijk basvandijk left a 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})
Copy link
Collaborator

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:
Copy link
Contributor

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 && \
Copy link
Member

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
Copy link
Contributor

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?

Comment on lines -59 to -60
lock = "//bazel:focal.lock.json",
manifest = "//bazel:focal.yaml",
Copy link
Contributor

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?

ci/container/Dockerfile Show resolved Hide resolved
cd .. && \
rm -rf libtinfo

# Build libunwind from source. The packaged version breaks linking
Copy link
Contributor

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?

ci/container/Dockerfile Show resolved Hide resolved
]

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",
Copy link
Contributor

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?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants