Remove Bazel outputs from DotSlash release configs (#58757)

## Why

The DotSlash configs require Bazel assets that are absent from the Cargo-only release asset fixture for `0.167.0-alpha.2`.

## What changed

Remove the Bazel outputs for Codex, the Windows command runner and sandbox setup, and provisioned macOS packages from the release configs.

## Testing

Add regression tests using the release asset fixture to verify that every configured output has a matching asset and that missing Codex and provisioned macOS package assets are detected.

GitOrigin-RevId: ed10a56717e0a7c6c566087b64621bd3ff042412
This commit is contained in:
Felipe Coury
2026-11-01 20:41:58 +00:00
committed by copyberry
parent fe16bc0a97
commit cb1bc0ae4e
4 changed files with 267 additions and 64 deletions
-52
View File
@@ -131,58 +131,6 @@
"path": "codex-windows-sandbox-service.exe"
}
}
},
"codex-bazel": {
"platforms": {
"macos-aarch64": {
"regex": "^codex-package-aarch64-apple-darwin-bazel\\.tar\\.zst$",
"path": "bin/codex"
},
"macos-x86_64": {
"regex": "^codex-package-x86_64-apple-darwin-bazel\\.tar\\.zst$",
"path": "bin/codex"
},
"linux-x86_64": {
"regex": "^codex-package-x86_64-unknown-linux-musl-bazel\\.tar\\.zst$",
"path": "bin/codex"
},
"linux-aarch64": {
"regex": "^codex-package-aarch64-unknown-linux-musl-bazel\\.tar\\.zst$",
"path": "bin/codex"
},
"windows-x86_64": {
"regex": "^codex-package-x86_64-pc-windows-msvc-bazel\\.tar\\.zst$",
"path": "bin/codex.exe"
},
"windows-aarch64": {
"regex": "^codex-package-aarch64-pc-windows-msvc-bazel\\.tar\\.zst$",
"path": "bin/codex.exe"
}
}
},
"codex-command-runner-bazel": {
"platforms": {
"windows-x86_64": {
"regex": "^codex-command-runner-x86_64-pc-windows-msvc-bazel\\.exe\\.zst$",
"path": "codex-command-runner.exe"
},
"windows-aarch64": {
"regex": "^codex-command-runner-aarch64-pc-windows-msvc-bazel\\.exe\\.zst$",
"path": "codex-command-runner.exe"
}
}
},
"codex-windows-sandbox-setup-bazel": {
"platforms": {
"windows-x86_64": {
"regex": "^codex-windows-sandbox-setup-x86_64-pc-windows-msvc-bazel\\.exe\\.zst$",
"path": "codex-windows-sandbox-setup.exe"
},
"windows-aarch64": {
"regex": "^codex-windows-sandbox-setup-aarch64-pc-windows-msvc-bazel\\.exe\\.zst$",
"path": "codex-windows-sandbox-setup.exe"
}
}
}
}
}
-12
View File
@@ -11,18 +11,6 @@
"path": "bin/codex"
}
}
},
"codex-provisioned-bazel": {
"platforms": {
"macos-aarch64": {
"regex": "^codex-provisioned-package-aarch64-apple-darwin-bazel\\.tar\\.gz$",
"path": "bin/codex"
},
"macos-x86_64": {
"regex": "^codex-provisioned-package-x86_64-apple-darwin-bazel\\.tar\\.gz$",
"path": "bin/codex"
}
}
}
}
}
@@ -0,0 +1,192 @@
argument-comment-lint-aarch64-apple-darwin.tar.gz
argument-comment-lint-aarch64-unknown-linux-gnu.tar.gz
argument-comment-lint-x86_64-pc-windows-msvc.zip
argument-comment-lint-x86_64-unknown-linux-gnu.tar.gz
bwrap
bwrap-aarch64-unknown-linux-musl.sigstore
bwrap-aarch64-unknown-linux-musl.tar.gz
bwrap-aarch64-unknown-linux-musl.zst
bwrap-x86_64-unknown-linux-musl.sigstore
bwrap-x86_64-unknown-linux-musl.tar.gz
bwrap-x86_64-unknown-linux-musl.zst
codex
codex-aarch64-apple-darwin.dmg
codex-aarch64-apple-darwin.tar.gz
codex-aarch64-apple-darwin.zst
codex-aarch64-pc-windows-msvc.exe
codex-aarch64-pc-windows-msvc.exe.tar.gz
codex-aarch64-pc-windows-msvc.exe.zip
codex-aarch64-pc-windows-msvc.exe.zst
codex-aarch64-unknown-linux-musl.sigstore
codex-aarch64-unknown-linux-musl.tar.gz
codex-aarch64-unknown-linux-musl.zst
codex-app-server
codex-app-server-aarch64-apple-darwin.tar.gz
codex-app-server-aarch64-apple-darwin.zst
codex-app-server-aarch64-pc-windows-msvc.exe
codex-app-server-aarch64-pc-windows-msvc.exe.tar.gz
codex-app-server-aarch64-pc-windows-msvc.exe.zip
codex-app-server-aarch64-pc-windows-msvc.exe.zst
codex-app-server-aarch64-unknown-linux-musl.sigstore
codex-app-server-aarch64-unknown-linux-musl.tar.gz
codex-app-server-aarch64-unknown-linux-musl.zst
codex-app-server-package-aarch64-apple-darwin.tar.gz
codex-app-server-package-aarch64-apple-darwin.tar.zst
codex-app-server-package-aarch64-pc-windows-msvc.tar.gz
codex-app-server-package-aarch64-pc-windows-msvc.tar.zst
codex-app-server-package-aarch64-unknown-linux-musl.tar.gz
codex-app-server-package-aarch64-unknown-linux-musl.tar.zst
codex-app-server-package-x86_64-apple-darwin.tar.gz
codex-app-server-package-x86_64-apple-darwin.tar.zst
codex-app-server-package-x86_64-pc-windows-msvc.tar.gz
codex-app-server-package-x86_64-pc-windows-msvc.tar.zst
codex-app-server-package-x86_64-unknown-linux-musl.tar.gz
codex-app-server-package-x86_64-unknown-linux-musl.tar.zst
codex-app-server-x86_64-apple-darwin.tar.gz
codex-app-server-x86_64-apple-darwin.zst
codex-app-server-x86_64-pc-windows-msvc.exe
codex-app-server-x86_64-pc-windows-msvc.exe.tar.gz
codex-app-server-x86_64-pc-windows-msvc.exe.zip
codex-app-server-x86_64-pc-windows-msvc.exe.zst
codex-app-server-x86_64-unknown-linux-musl.sigstore
codex-app-server-x86_64-unknown-linux-musl.tar.gz
codex-app-server-x86_64-unknown-linux-musl.zst
codex-code-mode-host-aarch64-apple-darwin.tar.gz
codex-code-mode-host-aarch64-apple-darwin.zst
codex-code-mode-host-aarch64-pc-windows-msvc.exe
codex-code-mode-host-aarch64-pc-windows-msvc.exe.tar.gz
codex-code-mode-host-aarch64-pc-windows-msvc.exe.zip
codex-code-mode-host-aarch64-pc-windows-msvc.exe.zst
codex-code-mode-host-aarch64-unknown-linux-musl.sigstore
codex-code-mode-host-aarch64-unknown-linux-musl.tar.gz
codex-code-mode-host-aarch64-unknown-linux-musl.zst
codex-code-mode-host-x86_64-apple-darwin.tar.gz
codex-code-mode-host-x86_64-apple-darwin.zst
codex-code-mode-host-x86_64-pc-windows-msvc.exe
codex-code-mode-host-x86_64-pc-windows-msvc.exe.tar.gz
codex-code-mode-host-x86_64-pc-windows-msvc.exe.zip
codex-code-mode-host-x86_64-pc-windows-msvc.exe.zst
codex-code-mode-host-x86_64-unknown-linux-musl.sigstore
codex-code-mode-host-x86_64-unknown-linux-musl.tar.gz
codex-code-mode-host-x86_64-unknown-linux-musl.zst
codex-command-runner
codex-command-runner-aarch64-pc-windows-msvc.exe
codex-command-runner-aarch64-pc-windows-msvc.exe.tar.gz
codex-command-runner-aarch64-pc-windows-msvc.exe.zip
codex-command-runner-aarch64-pc-windows-msvc.exe.zst
codex-command-runner-x86_64-pc-windows-msvc.exe
codex-command-runner-x86_64-pc-windows-msvc.exe.tar.gz
codex-command-runner-x86_64-pc-windows-msvc.exe.zip
codex-command-runner-x86_64-pc-windows-msvc.exe.zst
codex-exec-server-aarch64-apple-darwin.tar.gz
codex-exec-server-aarch64-apple-darwin.zst
codex-exec-server-aarch64-pc-windows-msvc.exe
codex-exec-server-aarch64-pc-windows-msvc.exe.tar.gz
codex-exec-server-aarch64-pc-windows-msvc.exe.zip
codex-exec-server-aarch64-pc-windows-msvc.exe.zst
codex-exec-server-aarch64-unknown-linux-musl.sigstore
codex-exec-server-aarch64-unknown-linux-musl.tar.gz
codex-exec-server-aarch64-unknown-linux-musl.zst
codex-exec-server-x86_64-apple-darwin.tar.gz
codex-exec-server-x86_64-apple-darwin.zst
codex-exec-server-x86_64-pc-windows-msvc.exe
codex-exec-server-x86_64-pc-windows-msvc.exe.tar.gz
codex-exec-server-x86_64-pc-windows-msvc.exe.zip
codex-exec-server-x86_64-pc-windows-msvc.exe.zst
codex-exec-server-x86_64-unknown-linux-musl.sigstore
codex-exec-server-x86_64-unknown-linux-musl.tar.gz
codex-exec-server-x86_64-unknown-linux-musl.zst
codex-npm-0.167.0-alpha.2.tgz
codex-npm-darwin-arm64-0.167.0-alpha.2.tgz
codex-npm-darwin-x64-0.167.0-alpha.2.tgz
codex-npm-linux-arm64-0.167.0-alpha.2.tgz
codex-npm-linux-x64-0.167.0-alpha.2.tgz
codex-npm-win32-arm64-0.167.0-alpha.2.tgz
codex-npm-win32-x64-0.167.0-alpha.2.tgz
codex-package-aarch64-apple-darwin.tar.gz
codex-package-aarch64-apple-darwin.tar.zst
codex-package-aarch64-pc-windows-msvc.tar.gz
codex-package-aarch64-pc-windows-msvc.tar.zst
codex-package-aarch64-unknown-linux-musl.tar.gz
codex-package-aarch64-unknown-linux-musl.tar.gz.sigstore
codex-package-aarch64-unknown-linux-musl.tar.zst
codex-package-aarch64-unknown-linux-musl.tar.zst.sigstore
codex-package-x86_64-apple-darwin.tar.gz
codex-package-x86_64-apple-darwin.tar.zst
codex-package-x86_64-pc-windows-msvc.tar.gz
codex-package-x86_64-pc-windows-msvc.tar.zst
codex-package-x86_64-unknown-linux-musl.tar.gz
codex-package-x86_64-unknown-linux-musl.tar.gz.sigstore
codex-package-x86_64-unknown-linux-musl.tar.zst
codex-package-x86_64-unknown-linux-musl.tar.zst.sigstore
codex-package_SHA256SUMS
codex-provisioned-package-aarch64-apple-darwin.tar.gz
codex-provisioned-package-x86_64-apple-darwin.tar.gz
codex-responses-api-proxy
codex-responses-api-proxy-aarch64-apple-darwin.tar.gz
codex-responses-api-proxy-aarch64-apple-darwin.zst
codex-responses-api-proxy-aarch64-pc-windows-msvc.exe
codex-responses-api-proxy-aarch64-pc-windows-msvc.exe.tar.gz
codex-responses-api-proxy-aarch64-pc-windows-msvc.exe.zip
codex-responses-api-proxy-aarch64-pc-windows-msvc.exe.zst
codex-responses-api-proxy-aarch64-unknown-linux-musl.sigstore
codex-responses-api-proxy-aarch64-unknown-linux-musl.tar.gz
codex-responses-api-proxy-aarch64-unknown-linux-musl.zst
codex-responses-api-proxy-npm-0.167.0-alpha.2.tgz
codex-responses-api-proxy-x86_64-apple-darwin.tar.gz
codex-responses-api-proxy-x86_64-apple-darwin.zst
codex-responses-api-proxy-x86_64-pc-windows-msvc.exe
codex-responses-api-proxy-x86_64-pc-windows-msvc.exe.tar.gz
codex-responses-api-proxy-x86_64-pc-windows-msvc.exe.zip
codex-responses-api-proxy-x86_64-pc-windows-msvc.exe.zst
codex-responses-api-proxy-x86_64-unknown-linux-musl.sigstore
codex-responses-api-proxy-x86_64-unknown-linux-musl.tar.gz
codex-responses-api-proxy-x86_64-unknown-linux-musl.zst
codex-sdk-npm-0.167.0-alpha.2.tgz
codex-symbols-aarch64-apple-darwin-app-server.tar.gz
codex-symbols-aarch64-apple-darwin.tar.gz
codex-symbols-aarch64-pc-windows-msvc.tar.gz
codex-symbols-aarch64-unknown-linux-musl-app-server.tar.gz
codex-symbols-aarch64-unknown-linux-musl.tar.gz
codex-symbols-x86_64-apple-darwin-app-server.tar.gz
codex-symbols-x86_64-apple-darwin.tar.gz
codex-symbols-x86_64-pc-windows-msvc.tar.gz
codex-symbols-x86_64-unknown-linux-musl-app-server.tar.gz
codex-symbols-x86_64-unknown-linux-musl.tar.gz
codex-windows-sandbox-service
codex-windows-sandbox-service-aarch64-pc-windows-msvc.exe
codex-windows-sandbox-service-aarch64-pc-windows-msvc.exe.tar.gz
codex-windows-sandbox-service-aarch64-pc-windows-msvc.exe.zip
codex-windows-sandbox-service-aarch64-pc-windows-msvc.exe.zst
codex-windows-sandbox-service-x86_64-pc-windows-msvc.exe
codex-windows-sandbox-service-x86_64-pc-windows-msvc.exe.tar.gz
codex-windows-sandbox-service-x86_64-pc-windows-msvc.exe.zip
codex-windows-sandbox-service-x86_64-pc-windows-msvc.exe.zst
codex-windows-sandbox-setup
codex-windows-sandbox-setup-aarch64-pc-windows-msvc.exe
codex-windows-sandbox-setup-aarch64-pc-windows-msvc.exe.tar.gz
codex-windows-sandbox-setup-aarch64-pc-windows-msvc.exe.zip
codex-windows-sandbox-setup-aarch64-pc-windows-msvc.exe.zst
codex-windows-sandbox-setup-x86_64-pc-windows-msvc.exe
codex-windows-sandbox-setup-x86_64-pc-windows-msvc.exe.tar.gz
codex-windows-sandbox-setup-x86_64-pc-windows-msvc.exe.zip
codex-windows-sandbox-setup-x86_64-pc-windows-msvc.exe.zst
codex-x86_64-apple-darwin.dmg
codex-x86_64-apple-darwin.tar.gz
codex-x86_64-apple-darwin.zst
codex-x86_64-pc-windows-msvc.exe
codex-x86_64-pc-windows-msvc.exe.tar.gz
codex-x86_64-pc-windows-msvc.exe.zip
codex-x86_64-pc-windows-msvc.exe.zst
codex-x86_64-unknown-linux-musl.sigstore
codex-x86_64-unknown-linux-musl.tar.gz
codex-x86_64-unknown-linux-musl.zst
config-schema.json
install.ps1
install.sh
openai_codex_cli_bin-0.167.0a2-py3-none-macosx_10_9_x86_64.whl
openai_codex_cli_bin-0.167.0a2-py3-none-macosx_11_0_arm64.whl
openai_codex_cli_bin-0.167.0a2-py3-none-manylinux_2_17_aarch64.whl
openai_codex_cli_bin-0.167.0a2-py3-none-manylinux_2_17_x86_64.whl
openai_codex_cli_bin-0.167.0a2-py3-none-win_amd64.whl
openai_codex_cli_bin-0.167.0a2-py3-none-win_arm64.whl
+75
View File
@@ -1,6 +1,7 @@
import io
import json
from pathlib import Path
import re
import subprocess
import tarfile
import tempfile
@@ -185,6 +186,80 @@ class NpmAlphaTagTest(unittest.TestCase):
npm_alpha_tag(tarball, "0.158.0-alpha.10", "alpha")
class DotSlashReleaseConfigTests(unittest.TestCase):
@classmethod
def setUpClass(cls):
github_dir = Path(__file__).resolve().parent.parent
cls.configs = {
filename: json.loads((github_dir / filename).read_text())["outputs"]
for filename in (
"dotslash-config.json",
"dotslash-argument-comment-lint-config.json",
"dotslash-provisioned-config.json",
)
}
# Names from the published rust-v0.167.0-alpha.2 release, which has no
# Bazel assets: https://github.com/openai/codex/releases/tag/rust-v0.167.0-alpha.2
cls.assets = set(
(github_dir / "scripts/fixtures/codex-0.167.0-alpha.2-assets.txt")
.read_text()
.splitlines()
)
def missing_assets(self, assets):
return sorted(
(filename, output_name, platform)
for filename, outputs in self.configs.items()
for output_name, output in outputs.items()
for platform, config in output["platforms"].items()
if not any(re.match(config["regex"], asset) for asset in assets)
)
def test_cargo_release_covers_all_configured_outputs(self):
self.assertEqual(
{filename: set(outputs) for filename, outputs in self.configs.items()},
{
"dotslash-config.json": {
"codex",
"codex-app-server",
"codex-responses-api-proxy",
"bwrap",
"codex-command-runner",
"codex-windows-sandbox-setup",
"codex-windows-sandbox-service",
},
"dotslash-argument-comment-lint-config.json": {"argument-comment-lint"},
"dotslash-provisioned-config.json": {"codex-provisioned"},
},
)
self.assertFalse(any("-bazel" in asset for asset in self.assets))
self.assertEqual(self.missing_assets(self.assets), [])
def test_missing_cargo_asset_is_detected(self):
missing_asset = "codex-package-aarch64-apple-darwin.tar.zst"
self.assertIn(missing_asset, self.assets)
self.assertEqual(
self.missing_assets(self.assets - {missing_asset}),
[("dotslash-config.json", "codex", "macos-aarch64")],
)
def test_missing_provisioned_cargo_asset_is_detected(self):
for arch in ("aarch64", "x86_64"):
with self.subTest(arch=arch):
missing_asset = f"codex-provisioned-package-{arch}-apple-darwin.tar.gz"
self.assertIn(missing_asset, self.assets)
self.assertEqual(
self.missing_assets(self.assets - {missing_asset}),
[
(
"dotslash-provisioned-config.json",
"codex-provisioned",
f"macos-{arch}",
)
],
)
class StablePublicationTests(unittest.TestCase):
def test_github_latest_orders_numerically_and_allows_equal_reruns(self):
latest = {"tag_name": "rust-v0.100.0", "draft": False, "prerelease": False}