- Migrated from Node.js to Bun runtime to leverage native TypeScript execution and faster startup times. - Replaced npm with bun package manager and updated lockfile format. - Converted Node.js APIs (child_process, fs, readline) to Bun equivalents across all packages. - Updated shebang lines from node/tsx to bun for CLI entry points. - Removed TypeScript build step by using source files directly as package entry points. - Updated CI workflows to use Bun instead of Node.js for installation and testing.
42 lines
852 B
YAML
42 lines
852 B
YAML
name: CI
|
|
|
|
on:
|
|
push:
|
|
branches: [main]
|
|
pull_request:
|
|
branches: [main]
|
|
|
|
concurrency:
|
|
group: ci-${{ github.ref }}
|
|
cancel-in-progress: true
|
|
|
|
jobs:
|
|
build-check-test:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Setup Bun
|
|
uses: oven-sh/setup-bun@v2
|
|
with:
|
|
bun-version: 1.3.4
|
|
|
|
- name: Install system dependencies
|
|
run: |
|
|
sudo apt-get update
|
|
sudo apt-get install -y libcairo2-dev libpango1.0-dev libjpeg-dev libgif-dev librsvg2-dev fd-find ripgrep
|
|
sudo ln -s $(which fdfind) /usr/local/bin/fd
|
|
|
|
- name: Install dependencies
|
|
run: bun install --frozen-lockfile
|
|
|
|
- name: Build
|
|
run: bun run build
|
|
|
|
- name: Check
|
|
run: bun run check
|
|
|
|
- name: Test
|
|
run: bun test
|