Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
26 changes: 20 additions & 6 deletions .github/workflows/build-macos.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,27 +25,32 @@ jobs:
make_target: build-macos-x64
vscode_arch: x64
output_dir: VSCode-darwin-x64
artifact_name: darwin-x64-macos15
- runner: macos-26-intel
arch: x64
make_target: build-macos-x64
vscode_arch: x64
output_dir: VSCode-darwin-x64
artifact_name: darwin-x64-macos26
# arm64 (Apple Silicon) builds
- runner: macos-14
arch: arm64
make_target: build-macos-arm64
vscode_arch: arm64
output_dir: VSCode-darwin-arm64
artifact_name: darwin-arm64-macos14
- runner: macos-15
arch: arm64
make_target: build-macos-arm64
vscode_arch: arm64
output_dir: VSCode-darwin-arm64
artifact_name: darwin-arm64-macos15
- runner: macos-26
arch: arm64
make_target: build-macos-arm64
vscode_arch: arm64
output_dir: VSCode-darwin-arm64
artifact_name: darwin-arm64-macos26

runs-on: ${{ matrix.runner }}
timeout-minutes: 120
Expand All @@ -62,6 +67,8 @@ jobs:
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020
with:
node-version: '20.18.2'
cache: 'npm'
cache-dependency-path: apps/editor/package-lock.json

- name: Stamp release version in product.json
if: startsWith(github.ref, 'refs/tags/')
Expand Down Expand Up @@ -116,7 +123,7 @@ jobs:
- name: Zip signed app
run: |
cd "$GITHUB_WORKSPACE/apps/${{ matrix.output_dir }}"
zip -Xry "$RUNNER_TEMP/OCcode-${{ matrix.output_dir }}-${GITHUB_REF_NAME}.zip" "OCcode.app"
zip -Xry "$RUNNER_TEMP/OCcode-${{ matrix.artifact_name }}-${GITHUB_REF_NAME}.zip" "OCcode.app"

- name: Notarize
env:
Expand All @@ -129,7 +136,7 @@ jobs:
mkdir -p ~/.appstoreconnect/private_keys
echo "$APPLE_API_KEY_P8" > ~/.appstoreconnect/private_keys/AuthKey_${APPLE_API_KEY_ID}.p8

xcrun notarytool submit "$RUNNER_TEMP/OCcode-${{ matrix.output_dir }}-${GITHUB_REF_NAME}.zip" \
xcrun notarytool submit "$RUNNER_TEMP/OCcode-${{ matrix.artifact_name }}-${GITHUB_REF_NAME}.zip" \
--key ~/.appstoreconnect/private_keys/AuthKey_${APPLE_API_KEY_ID}.p8 \
--key-id "$APPLE_API_KEY_ID" \
--issuer "$APPLE_API_KEY_ISSUER" \
Expand All @@ -143,7 +150,7 @@ jobs:
- name: Re-zip stapled app
run: |
cd "$GITHUB_WORKSPACE/apps/${{ matrix.output_dir }}"
zip -Xry "$RUNNER_TEMP/OCcode-${{ matrix.output_dir }}-${GITHUB_REF_NAME}-signed.zip" "OCcode.app"
zip -Xry "$RUNNER_TEMP/OCcode-${{ matrix.artifact_name }}-${GITHUB_REF_NAME}-signed.zip" "OCcode.app"

- name: Verify signature
run: |
Expand All @@ -154,16 +161,17 @@ jobs:
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02
continue-on-error: true
with:
name: OCcode-${{ matrix.output_dir }}-${{ matrix.runner }}-${{ github.ref_name }}-signed
path: ${{ runner.temp }}/OCcode-${{ matrix.output_dir }}-${{ github.ref_name }}-signed.zip
name: OCcode-${{ matrix.artifact_name }}-${{ github.ref_name }}-signed
path: ${{ runner.temp }}/OCcode-${{ matrix.artifact_name }}-${{ github.ref_name }}-signed.zip
retention-days: 30

- name: Create GitHub Release (on tag)
if: startsWith(github.ref, 'refs/tags/')
uses: softprops/action-gh-release@a06a81a03ee405af7f2048a818ed3f03bbf83c7b
with:
files: ${{ runner.temp }}/OCcode-${{ matrix.output_dir }}-${{ github.ref_name }}-signed.zip
files: ${{ runner.temp }}/OCcode-${{ matrix.artifact_name }}-${{ github.ref_name }}-signed.zip
name: OCcode ${{ github.ref_name }}
body_path: CHANGELOG.md
draft: false
prerelease: false

Expand All @@ -188,6 +196,8 @@ jobs:
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020
with:
node-version: '20.18.2'
cache: 'npm'
cache-dependency-path: apps/editor/package-lock.json

- name: Stamp release version in product.json
if: startsWith(github.ref, 'refs/tags/')
Expand Down Expand Up @@ -269,6 +279,7 @@ jobs:
${{ runner.temp }}/OCcode-win32-x64-${{ github.ref_name }}-user-setup.exe
${{ runner.temp }}/OCcode-win32-x64-${{ github.ref_name }}.zip
name: OCcode ${{ github.ref_name }}
body_path: CHANGELOG.md
draft: false
prerelease: false

Expand All @@ -288,6 +299,8 @@ jobs:
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020
with:
node-version: '20.18.2'
cache: 'npm'
cache-dependency-path: apps/editor/package-lock.json

- name: Stamp release version in product.json
if: startsWith(github.ref, 'refs/tags/')
Expand Down Expand Up @@ -339,5 +352,6 @@ jobs:
${{ runner.temp }}/OCcode-linux-x64-${{ github.ref_name }}.deb
${{ runner.temp }}/OCcode-linux-x64-${{ github.ref_name }}.tar.gz
name: OCcode ${{ github.ref_name }}
body_path: CHANGELOG.md
draft: false
prerelease: false
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,9 @@ apps/editor/extensions/**/package-lock.json
*.vsix
.DS_Store
apps/editor/.build/
apps/VSCode-linux-x64/
apps/VSCode-darwin-*/
apps/VSCode-win32-*/

# Internal infrastructure docs — keep private
APPLE.md
Expand All @@ -18,3 +21,4 @@ ISsues
.env.local
occ-backend
.worktree
.worktrees/
24 changes: 24 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,30 @@

All notable changes to this project will be documented in this file. See [commit-and-tag-version](https://github.com/absolute-version/commit-and-tag-version) for commit guidelines.

## [3.2.45](https://github.com/damoahdominic/occ/compare/v3.2.42...v3.2.45) (2026-03-31)


### Bug Fixes

* **build:** use explicit path for rcedit to avoid npx resolution issues on Windows ([c21662e](https://github.com/damoahdominic/occ/commit/c21662e8a3c2fcd83f1c8454cba92d25db473c23))
* **ci:** give each matrix leg a unique artifact name to prevent overwrites ([bd91981](https://github.com/damoahdominic/occ/commit/bd9198163f497dd4fdc17a2aaa85c2743b51bd20))

## [3.2.44](https://github.com/damoahdominic/occ/compare/v3.2.42...v3.2.44) (2026-03-31)


### Bug Fixes

* **build:** use explicit path for rcedit to avoid npx resolution issues on Windows ([c21662e](https://github.com/damoahdominic/occ/commit/c21662e8a3c2fcd83f1c8454cba92d25db473c23))
* **ci:** give each matrix leg a unique artifact name to prevent overwrites ([bd91981](https://github.com/damoahdominic/occ/commit/bd9198163f497dd4fdc17a2aaa85c2743b51bd20))

## [3.2.43](https://github.com/damoahdominic/occ/compare/v3.2.42...v3.2.43) (2026-03-31)


### Bug Fixes

* **build:** use explicit path for rcedit to avoid npx resolution issues on Windows ([f8c1fc3](https://github.com/damoahdominic/occ/commit/f8c1fc3b67bf000a9ea9c04bd913b2fc1c4a8419))
* **ci:** give each matrix leg a unique artifact name to prevent overwrites ([09886c8](https://github.com/damoahdominic/occ/commit/09886c8f127ecd152843c0ac2b5826d3f6e45457))

## [3.2.42](https://github.com/damoahdominic/occ/compare/v3.2.40...v3.2.42) (2026-03-31)

## [3.2.41](https://github.com/damoahdominic/occ/compare/v3.2.40...v3.2.41) (2026-03-31)
Expand Down
20 changes: 8 additions & 12 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -75,20 +75,18 @@ docker-test-node-setup:
## build-linux-container: Build the Linux build container image
build-linux-container:
@echo "Building $(BUILD_LINUX_IMAGE) container..."
DOCKER_BUILDKIT=0 docker build -f Dockerfile.build-linux -t $(BUILD_LINUX_IMAGE) .
docker build -f Dockerfile.build-linux -t $(BUILD_LINUX_IMAGE) .

## build-core: Shared build (rebuild + npm ci + tsc + extensions + React + bundle + minify + Electron)
build-core:
@echo "Running core build..."
set -e && \
cd $(PROJECT_ROOT)/apps/editor && \
export NODE_OPTIONS="--max-old-space-size=7168" && \
echo "==> Install editor dependencies" && \
npm ci --ignore-scripts && \
echo "==> Install editor + build dependencies (parallel)" && \
( npm ci --ignore-scripts & (cd build && npm ci --ignore-scripts) & wait ) && \
echo "==> Rebuild native modules for Electron ($(ELECTRON_ARCH))" && \
npx --yes @electron/rebuild -v 34.3.2 -a $(ELECTRON_ARCH) && \
echo "==> Install build dependencies" && \
cd build && npm ci --ignore-scripts && cd .. && \
echo "==> Patch compilation.js" && \
node -e " \
const fs = require('fs'); \
Expand All @@ -102,12 +100,10 @@ build-core:
console.log('Patched compilation.js: emitError -> false');" && \
echo "==> Compile to out-build" && \
node_modules/.bin/gulp compile-build-without-mangling && \
echo "==> Install extension dependencies" && \
find extensions -name "package.json" -not -path "*/node_modules/*" | while read pkg; do \
dir=$$(dirname "$$pkg"); \
echo " Installing deps in $$dir"; \
(cd "$$dir" && npm install --ignore-scripts 2>/dev/null || true); \
done && \
echo "==> Install extension dependencies (parallel)" && \
find extensions -name "package.json" -not -path "*/node_modules/*" | \
xargs -I{} dirname {} | \
xargs -P8 -I{} sh -c 'cd "{}" && npm install --ignore-scripts 2>/dev/null || true' && \
echo "==> Compile OpenClaw extension" && \
cd $(PROJECT_ROOT)/apps/editor/extensions/openclaw && npm install dotenv --save-dev 2>/dev/null; node_modules/.bin/tsc -p tsconfig.json || true && \
cd $(PROJECT_ROOT)/apps/editor && \
Expand Down Expand Up @@ -158,7 +154,7 @@ build-windows:
echo "==> Package app (win32-x64)" && \
VSCODE_ARCH=x64 node_modules/.bin/gulp vscode-win32-x64-min-ci && \
echo "==> Stamp app icon" && \
npx rcedit "$(PROJECT_ROOT)/apps/VSCode-win32-x64/OCcode.exe" --set-icon resources/win32/code.ico && \
node_modules/.bin/rcedit "$(PROJECT_ROOT)/apps/VSCode-win32-x64/OCcode.exe" --set-icon resources/win32/code.ico && \
echo "==> Copy inno_updater to build" && \
VSCODE_ARCH=x64 node_modules/.bin/gulp vscode-win32-x64-inno-updater && \
echo "==> Build Windows installers" && \
Expand Down
2 changes: 1 addition & 1 deletion apps/editor/build/linux/dependencies-generator.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions apps/editor/extensions/openclaw/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -130,6 +130,7 @@
"devDependencies": {
"@types/node": "^20.19.35",
"@types/vscode": "^1.85.0",
"dotenv": "^17.3.1",
"typescript": "^5.9.3"
},
"icon": "media/icon.png",
Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "occode",
"version": "3.2.42",
"version": "3.2.45",
"private": true,
"description": "OCcode — branded cross-platform IDE wrapper with OpenClaw extension",
"workspaces": [
Expand Down
2 changes: 1 addition & 1 deletion version.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
3.2.42
3.2.45
Loading