fix(build): replace custom Deno compile scripts with tsdeno-based binary builds in CI and release workflows

This commit is contained in:
2026-03-15 15:41:37 +00:00
parent bcab4f274e
commit 19703de50d
10 changed files with 130 additions and 116 deletions

View File

@@ -22,6 +22,9 @@ jobs:
with:
deno-version: v2.x
- name: Install dependencies
run: deno install --entrypoint mod.ts
- name: Check TypeScript types
run: deno check mod.ts
@@ -46,10 +49,18 @@ jobs:
with:
deno-version: v2.x
- name: Set up Node.js
uses: actions/setup-node@v4
with:
node-version: '22'
- name: Install dependencies
run: pnpm install
- name: Compile for current platform
run: |
echo "Testing compilation for Linux x86_64..."
deno compile --allow-all --no-check \
npx tsdeno compile --allow-all --no-check \
--output onebox-test \
--target x86_64-unknown-linux-gnu mod.ts
@@ -72,8 +83,16 @@ jobs:
with:
deno-version: v2.x
- name: Set up Node.js
uses: actions/setup-node@v4
with:
node-version: '22'
- name: Install dependencies
run: pnpm install
- name: Compile all platform binaries
run: bash scripts/compile-all.sh
run: mkdir -p dist/binaries && npx tsdeno compile
- name: Upload all binaries as artifact
uses: actions/upload-artifact@v3

View File

@@ -20,6 +20,14 @@ jobs:
with:
deno-version: v2.x
- name: Set up Node.js
uses: actions/setup-node@v4
with:
node-version: '22'
- name: Install dependencies
run: pnpm install
- name: Get version from tag
id: version
run: |
@@ -41,57 +49,7 @@ jobs:
fi
- name: Compile binaries for all platforms
run: |
echo "================================================"
echo " Onebox Release Compilation"
echo " Version: ${{ steps.version.outputs.version }}"
echo "================================================"
echo ""
# Clean up old binaries and create fresh directory
rm -rf dist/binaries
mkdir -p dist/binaries
echo "-> Cleaned old binaries from dist/binaries"
echo ""
# Linux x86_64
echo "-> Compiling for Linux x86_64..."
deno compile --allow-all --no-check \
--output dist/binaries/onebox-linux-x64 \
--target x86_64-unknown-linux-gnu mod.ts
echo " Done: Linux x86_64"
# Linux ARM64
echo "-> Compiling for Linux ARM64..."
deno compile --allow-all --no-check \
--output dist/binaries/onebox-linux-arm64 \
--target aarch64-unknown-linux-gnu mod.ts
echo " Done: Linux ARM64"
# macOS x86_64
echo "-> Compiling for macOS x86_64..."
deno compile --allow-all --no-check \
--output dist/binaries/onebox-macos-x64 \
--target x86_64-apple-darwin mod.ts
echo " Done: macOS x86_64"
# macOS ARM64
echo "-> Compiling for macOS ARM64..."
deno compile --allow-all --no-check \
--output dist/binaries/onebox-macos-arm64 \
--target aarch64-apple-darwin mod.ts
echo " Done: macOS ARM64"
# Windows x86_64
echo "-> Compiling for Windows x86_64..."
deno compile --allow-all --no-check \
--output dist/binaries/onebox-windows-x64.exe \
--target x86_64-pc-windows-msvc mod.ts
echo " Done: Windows x86_64"
echo ""
echo "All binaries compiled successfully!"
ls -lh dist/binaries/
run: mkdir -p dist/binaries && npx tsdeno compile
- name: Generate SHA256 checksums
run: |