This deletes the bulk of the `codex-cli` folder and eliminates the logic that builds the TypeScript code and bundles it into the release. Since this PR modifies `.github/workflows/rust-release.yml`, to test changes to the release process, I locally commented out all of the "is this commit on upstream `main`" checks in `scripts/create_github_release.sh` and ran: ``` ./codex-rs/scripts/create_github_release.sh 0.20.0-alpha.4 ``` Which kicked off: https://github.com/openai/codex/actions/runs/16842085113 And the release artifacts appear legit! https://github.com/openai/codex/releases/tag/rust-v0.20.0-alpha.4
65 lines
2.5 KiB
YAML
65 lines
2.5 KiB
YAML
name: Codex
|
|
|
|
on:
|
|
issues:
|
|
types: [opened, labeled]
|
|
pull_request:
|
|
branches: [main]
|
|
types: [labeled]
|
|
|
|
jobs:
|
|
codex:
|
|
# This `if` check provides complex filtering logic to avoid running Codex
|
|
# on every PR. Admittedly, one thing this does not verify is whether the
|
|
# sender has write access to the repo: that must be done as part of a
|
|
# runtime step.
|
|
#
|
|
# Note the label values should match the ones in the .github/codex/labels
|
|
# folder.
|
|
if: |
|
|
(github.event_name == 'issues' && (
|
|
(github.event.action == 'labeled' && (github.event.label.name == 'codex-attempt' || github.event.label.name == 'codex-triage'))
|
|
)) ||
|
|
(github.event_name == 'pull_request' && github.event.action == 'labeled' && (github.event.label.name == 'codex-review' || github.event.label.name == 'codex-rust-review'))
|
|
runs-on: ubuntu-latest
|
|
permissions:
|
|
contents: write # can push or create branches
|
|
issues: write # for comments + labels on issues/PRs
|
|
pull-requests: write # for PR comments/labels
|
|
steps:
|
|
# TODO: Consider adding an optional mode (--dry-run?) to actions/codex
|
|
# that verifies whether Codex should actually be run for this event.
|
|
# (For example, it may be rejected because the sender does not have
|
|
# write access to the repo.) The benefit would be two-fold:
|
|
# 1. As the first step of this job, it gives us a chance to add a reaction
|
|
# or comment to the PR/issue ASAP to "ack" the request.
|
|
# 2. It saves resources by skipping the clone and setup steps below if
|
|
# Codex is not going to run.
|
|
|
|
- name: Checkout repository
|
|
uses: actions/checkout@v4
|
|
|
|
- uses: dtolnay/rust-toolchain@1.88
|
|
with:
|
|
targets: x86_64-unknown-linux-gnu
|
|
components: clippy
|
|
|
|
- uses: actions/cache@v4
|
|
with:
|
|
path: |
|
|
~/.cargo/bin/
|
|
~/.cargo/registry/index/
|
|
~/.cargo/registry/cache/
|
|
~/.cargo/git/db/
|
|
${{ github.workspace }}/codex-rs/target/
|
|
key: cargo-ubuntu-24.04-x86_64-unknown-linux-gnu-${{ hashFiles('**/Cargo.lock') }}
|
|
|
|
# Note it is possible that the `verify` step internal to Run Codex will
|
|
# fail, in which case the work to setup the repo was worthless :(
|
|
- name: Run Codex
|
|
uses: ./.github/actions/codex
|
|
with:
|
|
openai_api_key: ${{ secrets.CODEX_OPENAI_API_KEY }}
|
|
github_token: ${{ secrets.GITHUB_TOKEN }}
|
|
codex_home: ./.github/codex/home
|