Travis-CI: Fix Container Network (#906)
* Travis-CI: Fix Container Network Add `--network=host` to Travis-CI PPC64le runners. * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * Travis PPC64le: Move Docker Work-Around Move the control of the work-around for docker on ppc64le on travis into the `docker_container` logic and do not expose as interface. * style: minor fix Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Co-authored-by: mayeut <mayeut@users.noreply.github.com>
This commit is contained in:
co-authored by
pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
mayeut
parent
9e18cb8656
commit
65c7a69af8
@@ -1,6 +1,7 @@
|
|||||||
import io
|
import io
|
||||||
import json
|
import json
|
||||||
import os
|
import os
|
||||||
|
import platform
|
||||||
import shlex
|
import shlex
|
||||||
import subprocess
|
import subprocess
|
||||||
import sys
|
import sys
|
||||||
@@ -9,6 +10,8 @@ from pathlib import Path, PurePath
|
|||||||
from types import TracebackType
|
from types import TracebackType
|
||||||
from typing import IO, Dict, List, Optional, Sequence, Type, cast
|
from typing import IO, Dict, List, Optional, Sequence, Type, cast
|
||||||
|
|
||||||
|
from cibuildwheel.util import CIProvider, detect_ci_provider
|
||||||
|
|
||||||
from .typing import PathOrStr, PopenBytes
|
from .typing import PathOrStr, PopenBytes
|
||||||
|
|
||||||
|
|
||||||
@@ -44,6 +47,15 @@ class DockerContainer:
|
|||||||
def __enter__(self) -> "DockerContainer":
|
def __enter__(self) -> "DockerContainer":
|
||||||
self.name = f"cibuildwheel-{uuid.uuid4()}"
|
self.name = f"cibuildwheel-{uuid.uuid4()}"
|
||||||
cwd_args = ["-w", str(self.cwd)] if self.cwd else []
|
cwd_args = ["-w", str(self.cwd)] if self.cwd else []
|
||||||
|
|
||||||
|
# work-around for Travis-CI PPC64le Docker runs since 2021:
|
||||||
|
# this avoids network splits
|
||||||
|
# https://github.com/pypa/cibuildwheel/issues/904
|
||||||
|
# https://github.com/conda-forge/conda-smithy/pull/1520
|
||||||
|
network_args = []
|
||||||
|
if detect_ci_provider() == CIProvider.travis_ci and platform.machine() == "ppc64le":
|
||||||
|
network_args = ["--network=host"]
|
||||||
|
|
||||||
shell_args = ["linux32", "/bin/bash"] if self.simulate_32_bit else ["/bin/bash"]
|
shell_args = ["linux32", "/bin/bash"] if self.simulate_32_bit else ["/bin/bash"]
|
||||||
subprocess.run(
|
subprocess.run(
|
||||||
[
|
[
|
||||||
@@ -53,6 +65,7 @@ class DockerContainer:
|
|||||||
f"--name={self.name}",
|
f"--name={self.name}",
|
||||||
"--interactive",
|
"--interactive",
|
||||||
"--volume=/:/host", # ignored on CircleCI
|
"--volume=/:/host", # ignored on CircleCI
|
||||||
|
*network_args,
|
||||||
*cwd_args,
|
*cwd_args,
|
||||||
self.docker_image,
|
self.docker_image,
|
||||||
*shell_args,
|
*shell_args,
|
||||||
|
|||||||
Reference in New Issue
Block a user