add: release script (#96)

* add: release script

* add: src to npm module

* fix: readme

Signed-off-by: Fouad Matin <fouad@openai.com>

---------

Signed-off-by: Fouad Matin <fouad@openai.com>
This commit is contained in:
Fouad Matin
2025-04-16 13:21:22 -07:00
committed by GitHub
parent e8afebac15
commit 3cd31c8e13
5 changed files with 28 additions and 6 deletions

3
.gitignore vendored
View File

@@ -7,6 +7,9 @@ build/
out/ out/
storybook-static/ storybook-static/
# ignore README for publishing
codex-cli/README.md
# editor # editor
.vscode/ .vscode/
.idea/ .idea/

View File

@@ -371,6 +371,21 @@ git push --force-with-lease # updates the PR
The **DCO check** blocks merges until every commit in the PR carries the footer (with squash this is just the one). The **DCO check** blocks merges until every commit in the PR carries the footer (with squash this is just the one).
### Releasing `codex`
To publish a new version of the CLI, run the release scripts defined in `codex-cli/package.json`:
1. Open the `codex-cli` directory
2. Make sure you're on a branch like `git checkout -b bump-version`
3. Bump the version and `CLI_VERSION` to current datetime: `npm run release:version`
4. Commit the version bump (with DCO sign-off):
```bash
git add codex-cli/src/utils/session.ts codex-cli/package.json
git commit -s -m "chore(release): codex-cli v$(node -p \"require('./codex-cli/package.json').version\")"
```
5. Copy README, build, and publish to npm: `npm run release`
6. Push to branch: `git push origin HEAD`
--- ---
## Security &amp; Responsible AI ## Security &amp; Responsible AI

View File

@@ -1,7 +1,6 @@
{ {
"private": true,
"name": "@openai/codex", "name": "@openai/codex",
"version": "0.1.04160940", "version": "0.1.04161241",
"license": "Apache-2.0", "license": "Apache-2.0",
"bin": { "bin": {
"codex": "dist/cli.js" "codex": "dist/cli.js"
@@ -20,10 +19,15 @@
"test:watch": "vitest --watch", "test:watch": "vitest --watch",
"typecheck": "tsc --noEmit", "typecheck": "tsc --noEmit",
"build": "node build.mjs", "build": "node build.mjs",
"build:dev": "NODE_ENV=development node build.mjs --dev && NODE_OPTIONS=--enable-source-maps node dist/cli-dev.js" "build:dev": "NODE_ENV=development node build.mjs --dev && NODE_OPTIONS=--enable-source-maps node dist/cli-dev.js",
"release:readme": "cp ../README.md ./README.md",
"release:version": "codex -a full-auto 'update the CLI_VERSION in codex-cli/src/utils/session.ts and the version in package.json to use the current timestamp (MMDDHHmm format)'",
"release": "npm run release:readme && npm run build && npm publish"
}, },
"files": [ "files": [
"dist" "README.md",
"dist",
"src"
], ],
"dependencies": { "dependencies": {
"@inkjs/ui": "^2.0.0", "@inkjs/ui": "^2.0.0",

View File

@@ -1,4 +1,4 @@
#!/usr/bin/env -S NODE_OPTIONS=--no-deprecation node #!/usr/bin/env node
import type { AppRollout } from "./app"; import type { AppRollout } from "./app";
import type { CommandConfirmation } from "./utils/agent/agent-loop"; import type { CommandConfirmation } from "./utils/agent/agent-loop";

View File

@@ -1,4 +1,4 @@
export const CLI_VERSION = "0.1.04160940"; // Must be in sync with package.json. export const CLI_VERSION = "0.1.04161241"; // Must be in sync with package.json.
export const ORIGIN = "codex_cli_ts"; export const ORIGIN = "codex_cli_ts";
export type TerminalChatSession = { export type TerminalChatSession = {