mirror of
https://github.com/openai/codex.git
synced 2026-11-13 21:30:47 +00:00
ci(v8): leave Windows artifacts on binding source
This commit is contained in:
@@ -282,53 +282,6 @@ def stage_artifacts(
|
||||
print(staged_checksums)
|
||||
|
||||
|
||||
def v8_checkout_version(source_root: Path) -> str:
|
||||
version_header = source_root / "v8" / "include" / "v8-version.h"
|
||||
values: dict[str, str] = {}
|
||||
for name, value in re.findall(
|
||||
r"^#define V8_(MAJOR_VERSION|MINOR_VERSION|BUILD_NUMBER|PATCH_LEVEL) ([0-9]+)$",
|
||||
version_header.read_text(),
|
||||
flags=re.MULTILINE,
|
||||
):
|
||||
values[name] = value
|
||||
expected_names = {"MAJOR_VERSION", "MINOR_VERSION", "BUILD_NUMBER", "PATCH_LEVEL"}
|
||||
if values.keys() != expected_names:
|
||||
raise SystemExit(f"could not resolve V8 version from {version_header}")
|
||||
return ".".join(
|
||||
values[name]
|
||||
for name in ["MAJOR_VERSION", "MINOR_VERSION", "BUILD_NUMBER", "PATCH_LEVEL"]
|
||||
)
|
||||
|
||||
|
||||
def sync_upstream_v8_source(
|
||||
source_root: Path,
|
||||
source_version: str | None = None,
|
||||
) -> None:
|
||||
source_root = source_root.resolve()
|
||||
source_version = source_version or resolved_v8_source_version()
|
||||
v8_root = source_root / "v8"
|
||||
subprocess.run(
|
||||
["git", "fetch", "--depth=1", "origin", f"refs/tags/{source_version}"],
|
||||
cwd=v8_root,
|
||||
check=True,
|
||||
)
|
||||
subprocess.run(
|
||||
["git", "checkout", "--detach", "FETCH_HEAD"],
|
||||
cwd=v8_root,
|
||||
check=True,
|
||||
)
|
||||
subprocess.run(
|
||||
[sys.executable, "tools/update_deps.py"],
|
||||
cwd=source_root,
|
||||
check=True,
|
||||
)
|
||||
actual_version = v8_checkout_version(source_root)
|
||||
if actual_version != source_version:
|
||||
raise SystemExit(
|
||||
f"expected V8 {source_version} after source sync, found {actual_version}"
|
||||
)
|
||||
|
||||
|
||||
def upstream_release_pair_paths(source_root: Path, target: str) -> tuple[Path, Path]:
|
||||
lib_name = (
|
||||
"rusty_v8.lib" if target.endswith("-pc-windows-msvc") else "librusty_v8.a"
|
||||
@@ -407,12 +360,6 @@ def parse_args() -> argparse.Namespace:
|
||||
stage_upstream_release_pair_parser.add_argument("--output-dir", required=True)
|
||||
stage_upstream_release_pair_parser.add_argument("--sandbox", action="store_true")
|
||||
|
||||
sync_upstream_source_parser = subparsers.add_parser("sync-upstream-source")
|
||||
sync_upstream_source_parser.add_argument(
|
||||
"--source-root", type=Path, required=True
|
||||
)
|
||||
sync_upstream_source_parser.add_argument("--v8-version")
|
||||
|
||||
subparsers.add_parser("resolved-v8-crate-version")
|
||||
subparsers.add_parser("resolved-v8-source-version")
|
||||
subparsers.add_parser("rusty-v8-release-tag")
|
||||
@@ -458,12 +405,6 @@ def main() -> int:
|
||||
sandbox=args.sandbox,
|
||||
)
|
||||
return 0
|
||||
if args.command == "sync-upstream-source":
|
||||
sync_upstream_v8_source(
|
||||
source_root=args.source_root,
|
||||
source_version=args.v8_version,
|
||||
)
|
||||
return 0
|
||||
if args.command == "resolved-v8-crate-version":
|
||||
print(resolved_v8_crate_version())
|
||||
return 0
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
import subprocess
|
||||
import textwrap
|
||||
import unittest
|
||||
from os import environ
|
||||
@@ -83,82 +82,6 @@ class RustyV8BazelTest(unittest.TestCase):
|
||||
rusty_v8_bazel.resolved_v8_source_version(module_bazel),
|
||||
)
|
||||
|
||||
def test_v8_checkout_version_reads_version_header(self) -> None:
|
||||
with TemporaryDirectory() as temp_dir:
|
||||
source_root = Path(temp_dir)
|
||||
version_header = source_root / "v8" / "include" / "v8-version.h"
|
||||
version_header.parent.mkdir(parents=True)
|
||||
version_header.write_text(
|
||||
textwrap.dedent(
|
||||
"""\
|
||||
#define V8_MAJOR_VERSION 14
|
||||
#define V8_MINOR_VERSION 9
|
||||
#define V8_BUILD_NUMBER 207
|
||||
#define V8_PATCH_LEVEL 35
|
||||
"""
|
||||
)
|
||||
)
|
||||
|
||||
self.assertEqual(
|
||||
"14.9.207.35",
|
||||
rusty_v8_bazel.v8_checkout_version(source_root),
|
||||
)
|
||||
|
||||
def test_sync_upstream_v8_source_checks_out_requested_tag(self) -> None:
|
||||
with TemporaryDirectory() as temp_dir:
|
||||
root = Path(temp_dir)
|
||||
remote = root / "remote"
|
||||
version_header = remote / "include" / "v8-version.h"
|
||||
version_header.parent.mkdir(parents=True)
|
||||
version_header.write_text(
|
||||
textwrap.dedent(
|
||||
"""\
|
||||
#define V8_MAJOR_VERSION 14
|
||||
#define V8_MINOR_VERSION 9
|
||||
#define V8_BUILD_NUMBER 207
|
||||
#define V8_PATCH_LEVEL 35
|
||||
"""
|
||||
)
|
||||
)
|
||||
git = ["git", "-C", str(remote)]
|
||||
subprocess.run(["git", "init", str(remote)], check=True, capture_output=True)
|
||||
subprocess.run([*git, "add", "."], check=True, capture_output=True)
|
||||
subprocess.run(
|
||||
[
|
||||
*git,
|
||||
"-c",
|
||||
"user.name=Codex Test",
|
||||
"-c",
|
||||
"user.email=codex@example.com",
|
||||
"commit",
|
||||
"-m",
|
||||
"V8 source",
|
||||
],
|
||||
check=True,
|
||||
capture_output=True,
|
||||
)
|
||||
subprocess.run(
|
||||
[*git, "tag", "14.9.207.35"], check=True, capture_output=True
|
||||
)
|
||||
|
||||
source_root = root / "rusty_v8"
|
||||
source_root.mkdir()
|
||||
subprocess.run(
|
||||
["git", "clone", str(remote), str(source_root / "v8")],
|
||||
check=True,
|
||||
capture_output=True,
|
||||
)
|
||||
tools = source_root / "tools"
|
||||
tools.mkdir()
|
||||
(tools / "update_deps.py").write_text("")
|
||||
|
||||
rusty_v8_bazel.sync_upstream_v8_source(source_root, "14.9.207.35")
|
||||
|
||||
self.assertEqual(
|
||||
"14.9.207.35",
|
||||
rusty_v8_bazel.v8_checkout_version(source_root),
|
||||
)
|
||||
|
||||
def test_command_version_tracks_remaining_http_file_assets(self) -> None:
|
||||
with TemporaryDirectory() as temp_dir:
|
||||
module_bazel = Path(temp_dir) / "MODULE.bazel"
|
||||
|
||||
Reference in New Issue
Block a user