Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
50 commits
Select commit Hold shift + click to select a range
bd61a2a
Fix local dev build environment
JonahBraun Mar 24, 2026
27b0446
Add JSON-driven extension bundling via GitHub Releases
JonahBraun Mar 24, 2026
116ddca
Add CodexConductor workbench contribution for extension version pinning
JonahBraun Mar 24, 2026
2c4645f
Add CLI extension version pinning commands with codex-cli symlink
JonahBraun Mar 24, 2026
467552b
Rename CLAUDE.md to AGENTS.md with symlink
JonahBraun Mar 24, 2026
b371a6a
Update AGENTS.md with current build pipeline, patch workflow, and Cod…
JonahBraun Mar 24, 2026
f82cf10
Fix codex-tunnel binary discovery to use APPLICATION_NAME instead of …
JonahBraun Mar 25, 2026
ee5f1b3
Add conductor startup extension state log
JonahBraun Mar 25, 2026
f64cfb3
Fix VSIX download from GitHub by bypassing renderer-side fetch
JonahBraun Mar 26, 2026
e453524
fix(conductor): implement authoritative reload for version pin enforc…
JonahBraun Mar 28, 2026
ff910bf
Remove 2s delay from conductor profile switch
JonahBraun Mar 28, 2026
e0f7c96
Add "Manage Extension Pins" command and release page URL support
JonahBraun Mar 30, 2026
822fe75
Fix conductor re-initialization and stale profile revert on missing/i…
JonahBraun Mar 30, 2026
70601e1
Use profile icon instead of name regex to identify conductor-managed …
JonahBraun Mar 30, 2026
60a2455
Fix bug in checkForPinChanges when pins object is empty
JonahBraun Mar 30, 2026
022181d
Fix bug where profile switch skips reload after extension host veto
JonahBraun Mar 31, 2026
9dca3cc
Extract shared pin types to codexTypes.ts and validate parsed JSON at…
JonahBraun Mar 31, 2026
ac3de16
Fix storage key for reading Frontier's remotePinnedExtensions
JonahBraun Mar 31, 2026
23c1143
Align RequiredExtensions type to match codex-editor and frontier-auth…
JonahBraun Mar 31, 2026
897cf01
feat: implement admin intent signaling for extension pin management
JonahBraun Apr 1, 2026
2b192bf
Expose effective pin resolution as a workbench command
JonahBraun Apr 8, 2026
ac2db0e
feat(conductor): centralize pin state and expose service API
JonahBraun Apr 11, 2026
e28934f
fix(conductor): handle mid-session unpin and improve state cleanup
JonahBraun Apr 11, 2026
3af8dda
also listen for admin pin
JonahBraun Apr 13, 2026
db7dc48
feat(cli): add pin sync and reset commands with git-based dirty checks
JonahBraun Apr 16, 2026
3ecb480
feat(conductor): add hasAdminPinIntent command
JonahBraun Apr 16, 2026
2b436b5
fix(gitignore): anchor Codex* to root, group rules with comments
JonahBraun Apr 16, 2026
1e1e796
fix(conductor): stabilize pin snapshot comparison and persist profile…
JonahBraun Apr 19, 2026
816d195
fix(cli): remove unimplemented Range-request stub and add trailing ne…
JonahBraun Apr 19, 2026
c43ce4a
fix(conductor): validate profile integrity before trusting name match
JonahBraun Apr 20, 2026
9105e92
fix: stabilize local dev environment and gitignore
JonahBraun Apr 21, 2026
69d815a
docs: update architecture and agent documentation
JonahBraun Apr 21, 2026
d77dacc
feat: add JSON-driven extension bundling via GitHub Releases
JonahBraun Apr 21, 2026
d63d2c2
patch: implement authoritative reload in VS Code core
JonahBraun Apr 21, 2026
f38d278
feat: add CodexConductor workbench contribution (Core Service)
JonahBraun Apr 21, 2026
37323dd
refactor: align RequiredExtensions type
JonahBraun Apr 21, 2026
fdd02de
feat: add Rust CLI commands for extension pinning
JonahBraun Apr 21, 2026
4edb09a
feat: add CLI sync and reset commands with git integration
JonahBraun Apr 21, 2026
86bdad9
fix: stop wiping sibling workspace-profile associations on switch
JonahBraun Apr 22, 2026
6121eed
fix: drop unnecessary `as any` cast in authoritative-reload patch
JonahBraun Apr 22, 2026
8ca0cd5
Restore upstream EDH guard in windowsMainService.ts
JonahBraun Apr 22, 2026
ac06da2
fix(ci): unblock linux/windows/docker builds and notifier
JonahBraun Apr 23, 2026
8c66b1c
feat(ci): enable signed Windows build in /build
JonahBraun Apr 23, 2026
fbc5e0d
fix(ci): Beta branding on Mac + unique release tag per PR build
JonahBraun Apr 23, 2026
62cfef2
feat: disable extension auto-updates on conductor profiles
BenjaminScholtens Apr 23, 2026
f445430
feat(sideloader): implement core CodexSideloader shell contribution
JonahBraun Apr 23, 2026
b34b4bc
fix(build): harden build scripts and asset preparation
JonahBraun Apr 23, 2026
1cf855f
feat(ci): add PR build workflows and Codex Beta branding
JonahBraun Apr 23, 2026
48e6e46
chore(extensions): update bundled extensions and product.json configu…
JonahBraun Apr 23, 2026
ee0dffc
Merge branch 'feat/sideloader2' into feature/profile-conductor2
JonahBraun Apr 23, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
125 changes: 5 additions & 120 deletions .github/workflows/patch-rebuild.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,125 +2,10 @@ name: Patch Rebuild (Force Build)

on:
workflow_dispatch:
inputs:
quality:
description: "Build quality"
required: true
default: "stable"
type: choice
options:
- stable
- insider
reason:
description: 'Reason for rebuild (e.g., "Fix microphone patch", "Add new feature")'
required: true
type: string

env:
APP_NAME: Codex
GH_REPO_PATH: ${{ github.repository }}
ORG_NAME: ${{ github.repository_owner }}

jobs:
prepare:
runs-on: ubuntu-latest
outputs:
ms_commit: ${{ steps.prepare.outputs.ms_commit }}
ms_tag: ${{ steps.prepare.outputs.ms_tag }}
release_version: ${{ steps.prepare.outputs.release_version }}
build_reason: ${{ steps.prepare.outputs.build_reason }}

steps:
- uses: actions/checkout@v4
with:
token: ${{ secrets.STRONGER_GITHUB_TOKEN }}

- name: Prepare patch rebuild
id: prepare
env:
VSCODE_QUALITY: ${{ github.event.inputs.quality }}
BUILD_REASON: ${{ github.event.inputs.reason }}
run: |
echo "=== Patch Rebuild for ${VSCODE_QUALITY} ==="
echo "Reason: ${BUILD_REASON}"

# Get current version from upstream file
if [[ ! -f "./upstream/${VSCODE_QUALITY}.json" ]]; then
echo "Error: No upstream/${VSCODE_QUALITY}.json found"
exit 1
fi

MS_COMMIT=$( jq -r '.commit' "./upstream/${VSCODE_QUALITY}.json" )
MS_TAG=$( jq -r '.tag' "./upstream/${VSCODE_QUALITY}.json" )

echo "Current VS Code base: ${MS_TAG} (${MS_COMMIT})"
echo "ms_tag=${MS_TAG}" >> $GITHUB_OUTPUT
echo "ms_commit=${MS_COMMIT}" >> $GITHUB_OUTPUT

# Generate unique build version with timestamp
# Use same format as normal builds - Julian day calculation ensures later builds have higher versions
# Format: MS_TAG + (Julian day * 24 + hour) = 1.99.24260
# Since patch rebuilds happen AFTER original builds, they naturally get higher version numbers
# Note that a patch rebuild *could* be higher than an upstream vscodium build version, so it may not trigger an update notice if we have already patched more recently
TIME_PATCH=$(printf "%04d" $(($(date +%-j) * 24 + $(date +%-H))))

if [[ "${VSCODE_QUALITY}" == "insider" ]]; then
RELEASE_VERSION="${MS_TAG}${TIME_PATCH}-insider"
else
RELEASE_VERSION="${MS_TAG}${TIME_PATCH}"
fi

echo "Generated rebuild version: ${RELEASE_VERSION}"
echo "release_version=${RELEASE_VERSION}" >> $GITHUB_OUTPUT
echo "build_reason=${BUILD_REASON}" >> $GITHUB_OUTPUT

# Create a patch rebuild marker
echo "=== PATCH REBUILD ===" > PATCH_REBUILD_INFO.md
echo "**Build Version:** ${RELEASE_VERSION}" >> PATCH_REBUILD_INFO.md
echo "**Base VS Code:** ${MS_TAG}" >> PATCH_REBUILD_INFO.md
echo "**Rebuild Reason:** ${BUILD_REASON}" >> PATCH_REBUILD_INFO.md
echo "**Build Date:** $(date)" >> PATCH_REBUILD_INFO.md
echo "**Commit:** ${{ github.sha }}" >> PATCH_REBUILD_INFO.md

# Commit build info for tracking
git config user.name "GitHub Actions"
git config user.email "actions@github.com"
git add PATCH_REBUILD_INFO.md
git commit -m "Patch rebuild: ${BUILD_REASON} (${RELEASE_VERSION})" || echo "No changes to commit"
git push || echo "No changes to push"

trigger-all-builds:
needs: prepare
runs-on: ubuntu-latest

steps:
- name: Trigger all platform builds
env:
GITHUB_TOKEN: ${{ secrets.STRONGER_GITHUB_TOKEN }}
QUALITY: ${{ github.event.inputs.quality }}
RELEASE_VERSION: ${{ needs.prepare.outputs.release_version }}
BUILD_REASON: ${{ needs.prepare.outputs.build_reason }}
run: |
echo "🚀 Triggering PATCH REBUILD for all platforms"
echo "Version: ${RELEASE_VERSION}"
echo "Reason: ${BUILD_REASON}"

# Force build by using repository dispatch with special payload
# This single dispatch will trigger all OS workflows that listen for this quality
curl -X POST \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer ${GITHUB_TOKEN}" \
-H "X-GitHub-Api-Version: 2022-11-28" \
https://api.github.com/repos/${{ github.repository }}/dispatches \
-d "{
\"event_type\": \"${QUALITY}\",
\"client_payload\": {
\"quality\": \"${QUALITY}\",
\"patch_rebuild\": true,
\"force_build\": true,
\"build_reason\": \"${BUILD_REASON}\",
\"release_version\": \"${RELEASE_VERSION}\"
}
}"

echo "✅ Triggered all ${QUALITY} platform builds"
pr-build:
uses: genesis-ai-dev/codex/.github/workflows/pr-build.yml@feat/sideloader
with:
pr_number: '31'
secrets: inherit
Loading
Loading