-
Notifications
You must be signed in to change notification settings - Fork 4
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
[ROCm] ci build and dockerfile changes #161
base: rocm-main
Are you sure you want to change the base?
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -47,6 +47,13 @@ def dist_wheels( | |
# create manylinux image with requested ROCm installed | ||
image = "jax-manylinux_2_28_x86_64_rocm%s" % rocm_version.replace(".", "") | ||
|
||
# Try removing the Docker image. | ||
try: | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I don't think we should do this. I was talking to Matt, and he said that the original intent of this script was to run it in Jenkins where the image has already been removed and Docker has been pruned. When you're not running in Jenkins (and on the GitHub Actions self-hosted runner), |
||
subprocess.run(["docker", "rmi", image], check=True) | ||
print(f"Image {image} removed successfully.") | ||
except subprocess.CalledProcessError as e: | ||
print(f"Failed to remove Docker image {image}: {e}") | ||
|
||
cmd = [ | ||
"docker", | ||
"build", | ||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -75,6 +75,9 @@ def install_packages(self, package_specs): | |
if self.pkgbin == "apt": | ||
env["DEBIAN_FRONTEND"] = "noninteractive" | ||
|
||
# Update indexes. | ||
subprocess.check_call(["apt-get", "update"]) | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Just for my education, what is this line for? |
||
|
||
LOG.info("Running %r" % cmd) | ||
subprocess.check_call(cmd, env=env) | ||
|
||
|
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 know this is here to fix the problem where Clang can't find the standard C++ libraries, but this is definitely something we shouldn't be doing (at least long-term). GCC 13, which is the GCC version for manylinux_2_28, is already installed as part of the base image. If this pulls in, say, GCC 14 stuff, this may put us out of manylinux compliance.
I suspect there's another solution here that involves telling Clang to check standard C++ libraries wherever GCC 13 is keeping them.
@mrodden Any thoughts on where that might be?