Skip to content

chore(deps): bump the minor-and-patch group across 2 directories with 7 updates #295

chore(deps): bump the minor-and-patch group across 2 directories with 7 updates

chore(deps): bump the minor-and-patch group across 2 directories with 7 updates #295

Workflow file for this run

name: Platform Package Smoke
on:
pull_request:
paths:
- "package.json"
- "bun.lock"
- "tsconfig.json"
- "src/**"
- "scripts/native-deps-smoke.mjs"
- "scripts/verify-libsql-vector.mjs"
- "scripts/smoke-test.mjs"
- "web/**"
- "eslint.config.js"
- ".prettierrc"
- ".prettierignore"
- ".github/workflows/platform-smoke.yml"
workflow_dispatch:
jobs:
package-smoke:
name: ${{ matrix.os }} / package smoke
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
# Apple Silicon only for macOS: @tursodatabase/database and
# onnxruntime-node@1.30.0 ship no darwin/x64 binding. Intel Mac support is dropped.
# Apple Silicon: macos-15 / macos-26 (darwin/arm64).
# Explicit Ubuntu pins (ubuntu-latest → 26.04 starting 2026-10-19).
# Keep 24.04 + 26.04 like macos-15 / macos-26.
os:
- ubuntu-24.04
- ubuntu-26.04
- windows-latest
- macos-15
- macos-26
steps:
- uses: actions/checkout@v7
- uses: oven-sh/setup-bun@v2
- uses: actions/setup-node@v7
with:
node-version: "24"
package-manager-cache: false
- name: Install source dependencies
run: bun install
- name: Install web dependencies
working-directory: web
run: bun install
- name: Build package artifacts
run: bun run build
- name: Run test suite
run: bun test
- name: Pack and install published package shape
shell: bash
run: |
set -euo pipefail
pack_dir="$RUNNER_TEMP/opencode-mem-pack"
smoke_dir="$RUNNER_TEMP/opencode-mem-smoke"
mkdir -p "$pack_dir" "$smoke_dir"
npm pack --pack-destination "$pack_dir"
tarball_path=$(find "$pack_dir" -name "opencode-mem-*.tgz" -print -quit)
test -n "$tarball_path"
cd "$smoke_dir"
npm init -y
# npm ignores overrides declared by installed dependencies, so mirror the plugin's
# native-runtime pin at the temporary root used by this package smoke test.
override_version=$(node --input-type=module -e '
import { readFileSync } from "node:fs";
import { resolve } from "node:path";
const pkg = JSON.parse(readFileSync(resolve(process.env.GITHUB_WORKSPACE, "package.json"), "utf8"));
process.stdout.write(pkg.overrides?.["onnxruntime-node"] ?? "");
')
if [ -n "$override_version" ]; then
npm pkg set "overrides.onnxruntime-node=$override_version"
fi
npm install --ignore-scripts "$tarball_path"
cp "$GITHUB_WORKSPACE/scripts/native-deps-smoke.mjs" ./native-deps-smoke.mjs
cp "$GITHUB_WORKSPACE/scripts/verify-libsql-vector.mjs" ./verify-libsql-vector.mjs
cp "$GITHUB_WORKSPACE/scripts/smoke-test.mjs" ./smoke-test.mjs
node ./native-deps-smoke.mjs
node ./verify-libsql-vector.mjs
node ./smoke-test.mjs