mirror of
https://github.com/openai/codex.git
synced 2026-10-23 18:08:45 +00:00
## Summary
DotSlash should resolve the same canonical package layout used by standalone installers and npm platform packages, but it should not take the size regression of downloading gzip-compressed package archives. Installers continue to use `.tar.gz` because that format is broadly available, while DotSlash can use zstd-compressed tar archives.
This updates the package archive release helper to emit both `*.tar.gz` and `*.tar.zst` package archives from the same package directory. The Codex CLI and `codex-app-server` DotSlash release config entries now match `codex-package-<target>.tar.zst` and `codex-app-server-package-<target>.tar.zst`, with paths that select `bin/codex` or `bin/codex-app-server` inside the extracted package. The Windows release compression loop also skips prebuilt `.tar.zst` archives so it does not try to recompress them as ordinary files.
The other helper outputs stay on their existing per-binary artifacts for now.
## Test plan
- `python3 -m json.tool .github/dotslash-config.json > /dev/null`
- `bash -n .github/scripts/build-codex-package-archive.sh`
- `python3 -m py_compile scripts/codex_package/cli.py`
- `ruby -e 'require "yaml"; YAML.load_file(".github/workflows/rust-release-windows.yml"); puts "ok"'`
- Ran a Python regex smoke test that checked every updated `codex` and `codex-app-server` platform entry against the `.tar.zst` archive names emitted by `.github/scripts/build-codex-package-archive.sh`.
- Ran `scripts/build_codex_package.py` with synthetic macOS entrypoint and `rg` binaries and repeated `--archive-output` values for `.tar.gz` and `.tar.zst`, verifying both archives were written.
125 lines
4.1 KiB
JSON
125 lines
4.1 KiB
JSON
{
|
|
"outputs": {
|
|
"codex": {
|
|
"platforms": {
|
|
"macos-aarch64": {
|
|
"regex": "^codex-package-aarch64-apple-darwin\\.tar\\.zst$",
|
|
"path": "bin/codex"
|
|
},
|
|
"macos-x86_64": {
|
|
"regex": "^codex-package-x86_64-apple-darwin\\.tar\\.zst$",
|
|
"path": "bin/codex"
|
|
},
|
|
"linux-x86_64": {
|
|
"regex": "^codex-package-x86_64-unknown-linux-musl\\.tar\\.zst$",
|
|
"path": "bin/codex"
|
|
},
|
|
"linux-aarch64": {
|
|
"regex": "^codex-package-aarch64-unknown-linux-musl\\.tar\\.zst$",
|
|
"path": "bin/codex"
|
|
},
|
|
"windows-x86_64": {
|
|
"regex": "^codex-package-x86_64-pc-windows-msvc\\.tar\\.zst$",
|
|
"path": "bin/codex.exe"
|
|
},
|
|
"windows-aarch64": {
|
|
"regex": "^codex-package-aarch64-pc-windows-msvc\\.tar\\.zst$",
|
|
"path": "bin/codex.exe"
|
|
}
|
|
}
|
|
},
|
|
"codex-app-server": {
|
|
"platforms": {
|
|
"macos-aarch64": {
|
|
"regex": "^codex-app-server-package-aarch64-apple-darwin\\.tar\\.zst$",
|
|
"path": "bin/codex-app-server"
|
|
},
|
|
"macos-x86_64": {
|
|
"regex": "^codex-app-server-package-x86_64-apple-darwin\\.tar\\.zst$",
|
|
"path": "bin/codex-app-server"
|
|
},
|
|
"linux-x86_64": {
|
|
"regex": "^codex-app-server-package-x86_64-unknown-linux-musl\\.tar\\.zst$",
|
|
"path": "bin/codex-app-server"
|
|
},
|
|
"linux-aarch64": {
|
|
"regex": "^codex-app-server-package-aarch64-unknown-linux-musl\\.tar\\.zst$",
|
|
"path": "bin/codex-app-server"
|
|
},
|
|
"windows-x86_64": {
|
|
"regex": "^codex-app-server-package-x86_64-pc-windows-msvc\\.tar\\.zst$",
|
|
"path": "bin/codex-app-server.exe"
|
|
},
|
|
"windows-aarch64": {
|
|
"regex": "^codex-app-server-package-aarch64-pc-windows-msvc\\.tar\\.zst$",
|
|
"path": "bin/codex-app-server.exe"
|
|
}
|
|
}
|
|
},
|
|
"codex-responses-api-proxy": {
|
|
"platforms": {
|
|
"macos-aarch64": {
|
|
"regex": "^codex-responses-api-proxy-aarch64-apple-darwin\\.zst$",
|
|
"path": "codex-responses-api-proxy"
|
|
},
|
|
"macos-x86_64": {
|
|
"regex": "^codex-responses-api-proxy-x86_64-apple-darwin\\.zst$",
|
|
"path": "codex-responses-api-proxy"
|
|
},
|
|
"linux-x86_64": {
|
|
"regex": "^codex-responses-api-proxy-x86_64-unknown-linux-musl\\.zst$",
|
|
"path": "codex-responses-api-proxy"
|
|
},
|
|
"linux-aarch64": {
|
|
"regex": "^codex-responses-api-proxy-aarch64-unknown-linux-musl\\.zst$",
|
|
"path": "codex-responses-api-proxy"
|
|
},
|
|
"windows-x86_64": {
|
|
"regex": "^codex-responses-api-proxy-x86_64-pc-windows-msvc\\.exe\\.zst$",
|
|
"path": "codex-responses-api-proxy.exe"
|
|
},
|
|
"windows-aarch64": {
|
|
"regex": "^codex-responses-api-proxy-aarch64-pc-windows-msvc\\.exe\\.zst$",
|
|
"path": "codex-responses-api-proxy.exe"
|
|
}
|
|
}
|
|
},
|
|
"bwrap": {
|
|
"platforms": {
|
|
"linux-x86_64": {
|
|
"regex": "^bwrap-x86_64-unknown-linux-musl\\.zst$",
|
|
"path": "bwrap"
|
|
},
|
|
"linux-aarch64": {
|
|
"regex": "^bwrap-aarch64-unknown-linux-musl\\.zst$",
|
|
"path": "bwrap"
|
|
}
|
|
}
|
|
},
|
|
"codex-command-runner": {
|
|
"platforms": {
|
|
"windows-x86_64": {
|
|
"regex": "^codex-command-runner-x86_64-pc-windows-msvc\\.exe\\.zst$",
|
|
"path": "codex-command-runner.exe"
|
|
},
|
|
"windows-aarch64": {
|
|
"regex": "^codex-command-runner-aarch64-pc-windows-msvc\\.exe\\.zst$",
|
|
"path": "codex-command-runner.exe"
|
|
}
|
|
}
|
|
},
|
|
"codex-windows-sandbox-setup": {
|
|
"platforms": {
|
|
"windows-x86_64": {
|
|
"regex": "^codex-windows-sandbox-setup-x86_64-pc-windows-msvc\\.exe\\.zst$",
|
|
"path": "codex-windows-sandbox-setup.exe"
|
|
},
|
|
"windows-aarch64": {
|
|
"regex": "^codex-windows-sandbox-setup-aarch64-pc-windows-msvc\\.exe\\.zst$",
|
|
"path": "codex-windows-sandbox-setup.exe"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|