feature: CIBW_DEBUG_KEEP_CONTAINER option. debug container after build

This commit is contained in:
Robin De Schepper
2023-09-19 11:57:03 +02:00
parent 72222654f4
commit d7a6d04353
2 changed files with 41 additions and 7 deletions
+3 -1
View File
@@ -17,7 +17,7 @@ from types import TracebackType
from typing import IO, Dict, Literal from typing import IO, Dict, Literal
from .typing import PathOrStr, PopenBytes from .typing import PathOrStr, PopenBytes
from .util import CIProvider, detect_ci_provider, parse_key_value_string from .util import CIProvider, detect_ci_provider, parse_key_value_string, strtobool
ContainerEngineName = Literal["docker", "podman"] ContainerEngineName = Literal["docker", "podman"]
@@ -178,6 +178,8 @@ class OCIContainer:
assert isinstance(self.name, str) assert isinstance(self.name, str)
keep_container = strtobool(os.environ.get("CIBW_DEBUG_KEEP_CONTAINER", ""))
if not keep_container:
subprocess.run( subprocess.run(
[self.engine.name, "rm", "--force", "-v", self.name], [self.engine.name, "rm", "--force", "-v", self.name],
stdout=subprocess.DEVNULL, stdout=subprocess.DEVNULL,
+32
View File
@@ -1426,6 +1426,38 @@ This option is not supported in the overrides section in `pyproject.toml`.
test-skip = "*-macosx_arm64 *-macosx_universal2:arm64" test-skip = "*-macosx_arm64 *-macosx_universal2:arm64"
``` ```
## Debugging
### `CIBW_DEBUG_KEEP_CONTAINER`
Enable this flag to keep the container around for inspection after a build. This
option is provided for debugging purposes only.
Default: Off (0).
!!! caution
This option can only be set as environment variable on the host machine
#### Examples
!!! tab examples "Linux"
```shell
export CIBW_DEBUG_KEEP_CONTAINER=TRUE
```
!!! tab examples "Windows"
```shell
set CIBW_DEBUG_KEEP_CONTAINER=TRUE
```
!!! tab examples "MacOS"
```shell
export CIBW_DEBUG_KEEP_CONTAINER=TRUE
```
## Other ## Other
### `CIBW_BUILD_VERBOSITY` {: #build-verbosity} ### `CIBW_BUILD_VERBOSITY` {: #build-verbosity}