Merge pull request #1589 from dalcinl/source_date_epoch

feature: Automatically pass SOURCE_DATE_EPOCH to Linux containers
This commit is contained in:
Joe Rickerby
2023-09-18 18:15:13 +01:00
committed by GitHub
3 changed files with 15 additions and 0 deletions
+1
View File
@@ -117,6 +117,7 @@ class OCIContainer:
self.engine.name,
"create",
"--env=CIBUILDWHEEL",
"--env=SOURCE_DATE_EPOCH",
f"--name={self.name}",
"--interactive",
"--volume=/:/host", # ignored on CircleCI
+3
View File
@@ -680,6 +680,9 @@ A list of environment variables to pass into the linux container during the buil
To specify more than one environment variable, separate the variable names by spaces.
!!! note
cibuildwheel automatically passes the environment variable [`SOURCE_DATE_EPOCH`](https://reproducible-builds.org/docs/source-date-epoch/) if defined.
#### Examples
!!! tab examples "Environment passthrough"
+11
View File
@@ -72,6 +72,17 @@ def test_environment(container_engine):
)
def test_environment_pass(container_engine, monkeypatch):
monkeypatch.setenv("CIBUILDWHEEL", "1")
monkeypatch.setenv("SOURCE_DATE_EPOCH", "1489957071")
with OCIContainer(engine=container_engine, image=DEFAULT_IMAGE) as container:
assert container.call(["sh", "-c", "echo $CIBUILDWHEEL"], capture_output=True) == "1\n"
assert (
container.call(["sh", "-c", "echo $SOURCE_DATE_EPOCH"], capture_output=True)
== "1489957071\n"
)
def test_cwd(container_engine):
with OCIContainer(
engine=container_engine, image=DEFAULT_IMAGE, cwd="/cibuildwheel/working_directory"