Skip to content

Commit 0c732bb

Browse files
authored
Relax binary distribution requirements for OS coverage (#42)
- Binary builds for all operating systems (macOS, Linux, Windows) are now recommended but not mandatory. - Missing OS families will generate warnings instead of failing validation.
1 parent e1c503b commit 0c732bb

File tree

2 files changed

+9
-9
lines changed

2 files changed

+9
-9
lines changed

.github/workflows/build_registry.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -425,13 +425,13 @@ def validate_agent(
425425
f"Unknown platforms: {', '.join(sorted(unknown_platforms))}"
426426
)
427427

428-
# Check that all OS families have at least one platform
428+
# Warn if not all OS families have at least one platform
429429
provided_os_families = {p.split("-")[0] for p in binary.keys() if p in VALID_PLATFORMS}
430430
missing_os_families = REQUIRED_OS_FAMILIES - provided_os_families
431431
if missing_os_families:
432-
errors.append(
433-
f"Binary distribution must include builds for all operating systems. "
434-
f"Missing: {', '.join(sorted(missing_os_families))}"
432+
print(
433+
f"Warning: {agent_dir} binary distribution is missing builds for: "
434+
f"{', '.join(sorted(missing_os_families))}"
435435
)
436436

437437
for platform, target in binary.items():

CONTRIBUTING.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@
5656

5757
### Binary Distribution
5858

59-
For standalone executables. **Binary distributions must support all operating systems** (macOS, Linux, and Windows):
59+
For standalone executables. At least one platform is required; providing builds for all operating systems (macOS, Linux, and Windows) is recommended but not mandatory:
6060

6161
```json
6262
{
@@ -94,7 +94,7 @@ For standalone executables. **Binary distributions must support all operating sy
9494

9595
Supported platforms: `darwin-aarch64`, `darwin-x86_64`, `linux-aarch64`, `linux-x86_64`, `windows-aarch64`, `windows-x86_64`
9696

97-
> **Note**: At minimum, you must provide builds for **darwin** (macOS), **linux**, and **windows**. Providing only one OS (e.g., macOS-only) will fail validation.
97+
> **Note**: Providing builds for all operating systems is recommended. Missing OS families will produce a warning during validation but will not block the build.
9898
9999
### npm Package (npx)
100100

@@ -190,9 +190,9 @@ Entries are validated against the [JSON Schema](agent.schema.json).
190190
- `linux-aarch64`, `linux-x86_64`
191191
- `windows-aarch64`, `windows-x86_64`
192192

193-
**Cross-platform requirement** (for binary):
194-
- Binary distributions must include builds for **all operating systems**: darwin (macOS), linux, and windows
195-
- At least one architecture per OS is required (e.g., `darwin-aarch64`, `linux-x86_64`, `windows-x86_64`)
193+
**Cross-platform coverage** (for binary):
194+
- Providing builds for all operating systems (darwin, linux, windows) is recommended
195+
- Missing OS families will produce a warning but will not fail validation
196196

197197
**Version matching:**
198198
- Distribution versions must match the entry's `version` field

0 commit comments

Comments
 (0)