Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 7 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,15 @@ Reproducible native builds of third-party tools distributed with
This repository owns the part of the supply chain that starts from a pinned
upstream source revision and ends with immutable, checksummed native release
assets. It is intentionally not tied to one upstream project: the current
manifests cover `rlm-tools-bsl`, `bsl-analyzer`, and `v8-runner`, and the same
manifests cover `rlm-tools-bsl` and `bsl-analyzer`, and the same
contract can be extended to other Cargo or Python/PyInstaller tools.

Previously published `v8-runner` releases remain immutable historical
artifacts in this repository. New `v8-runner` binaries are built and published
by the Ingvar Consulting maintained
[`v8-runner-rust`](https://github.com/IngvarConsulting/v8-runner-rust) fork, so
there is no active runner manifest here.

## Release contract

- Releases are built only by an explicit `workflow_dispatch` for one manifest.
Expand Down
54 changes: 0 additions & 54 deletions manifests/v8-runner.json

This file was deleted.

28 changes: 4 additions & 24 deletions tests/test_repository_contract.py
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,9 @@ class RepositoryContractTests(unittest.TestCase):
def load(self, name: str):
return load_manifest(MANIFESTS / f"{name}.json")

def test_v8_runner_is_historical_not_an_active_manifest(self) -> None:
self.assertFalse((MANIFESTS / "v8-runner.json").exists())

def test_checked_in_tools_have_independent_release_identities(self) -> None:
expected = {
"rlm-tools-bsl": (
Expand All @@ -35,12 +38,6 @@ def test_checked_in_tools_have_independent_release_identities(self) -> None:
"9a92766691bbd0191a5ff02c34fa9058e4570b85",
"bsl-analyzer-v0.2.67-build.1",
),
"v8-runner": (
"nightly",
"master",
"7ce1b062843d86644fe55741dbe0ee79f7ca767d",
"v8-runner-nightly-master-build.2",
),
}
for name, (kind, ref, commit, release) in expected.items():
with self.subTest(name=name):
Expand All @@ -53,14 +50,11 @@ def test_checked_in_tools_have_independent_release_identities(self) -> None:
license_names = [item.asset_name for item in manifest.license.files]
self.assertEqual(len(license_names), len(set(license_names)))

def test_cargo_tools_pin_rust_and_normalize_assets(self) -> None:
def test_active_cargo_tools_pin_rust_and_normalize_assets(self) -> None:
analyzer = self.load("bsl-analyzer")
runner = self.load("v8-runner")

self.assertIsInstance(analyzer.builder, CargoBuilderSpec)
self.assertIsInstance(runner.builder, CargoBuilderSpec)
self.assertEqual(analyzer.builder.rust_version, "1.95.0")
self.assertEqual(runner.builder.rust_version, "1.95.0")
self.assertEqual(analyzer.builder.binaries[0].source_name, "bsl-analyzer-app")
self.assertEqual(analyzer.builder.binaries[0].asset_base, "bsl-analyzer")
self.assertEqual(
Expand All @@ -70,20 +64,6 @@ def test_cargo_tools_pin_rust_and_normalize_assets(self) -> None:
"RUSTFLAGS": "-C target-feature=+crt-static",
},
)
self.assertEqual(runner.targets["linux-x64"].system_setup, "musl-tools")
self.assertEqual(runner.license.spdx, "AGPL-3.0-only")
self.assertEqual(
[item.asset_name for item in runner.license.files],
["license-v8-runner-AGPL-3.0-only.txt"],
)
self.assertEqual(
expected_asset_names(runner),
{
"v8-runner-darwin-arm64",
"v8-runner-linux-x64",
"v8-runner-win-x64.exe",
},
)

def test_rlm_pins_nuitka_builder_and_one_archive_per_target(self) -> None:
manifest = self.load("rlm-tools-bsl")
Expand Down