mirror of
https://github.com/lockin-bot/react-telegram.git
synced 2026-01-12 22:27:38 +08:00
121 lines
2.7 KiB
YAML
121 lines
2.7 KiB
YAML
name: CI
|
|
|
|
on:
|
|
push:
|
|
branches: [main]
|
|
pull_request:
|
|
branches: [main]
|
|
|
|
jobs:
|
|
lint-and-type-check:
|
|
name: Lint and Type Check
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
- name: Checkout code
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Setup Bun
|
|
uses: oven-sh/setup-bun@v2
|
|
with:
|
|
bun-version: latest
|
|
|
|
- name: Install dependencies
|
|
run: bun install --frozen-lockfile
|
|
|
|
- name: Type check packages
|
|
run: |
|
|
cd packages/core && bun run tsc --noEmit
|
|
cd ../mtcute-adapter && bun run tsc --noEmit
|
|
|
|
- name: Lint check (if configured)
|
|
run: |
|
|
echo "Add linting when ESLint is configured"
|
|
continue-on-error: true
|
|
|
|
test:
|
|
name: Test
|
|
runs-on: ubuntu-latest
|
|
strategy:
|
|
matrix:
|
|
node-version: [20.x, 22.x]
|
|
|
|
steps:
|
|
- name: Checkout code
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Setup Bun
|
|
uses: oven-sh/setup-bun@v2
|
|
with:
|
|
bun-version: latest
|
|
|
|
- name: Install dependencies
|
|
run: bun install --frozen-lockfile
|
|
|
|
- name: Run tests
|
|
run: bun test
|
|
|
|
- name: Run example type checks
|
|
run: |
|
|
cd packages/examples
|
|
bun run tsc --noEmit
|
|
|
|
build:
|
|
name: Build Packages
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
- name: Checkout code
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Setup Bun
|
|
uses: oven-sh/setup-bun@v2
|
|
with:
|
|
bun-version: latest
|
|
|
|
- name: Install dependencies
|
|
run: bun install --frozen-lockfile
|
|
|
|
- name: Build core package
|
|
run: |
|
|
cd packages/core
|
|
bun run build
|
|
|
|
- name: Build adapter package
|
|
run: |
|
|
cd packages/mtcute-adapter
|
|
bun run build
|
|
|
|
- name: Check build outputs
|
|
run: |
|
|
ls -la packages/core/dist/
|
|
ls -la packages/mtcute-adapter/dist/
|
|
|
|
- name: Upload build artifacts
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
name: build-artifacts
|
|
path: |
|
|
packages/core/dist/
|
|
packages/mtcute-adapter/dist/
|
|
|
|
examples:
|
|
name: Validate Examples
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
- name: Checkout code
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Setup Bun
|
|
uses: oven-sh/setup-bun@v2
|
|
with:
|
|
bun-version: latest
|
|
|
|
- name: Install dependencies
|
|
run: bun install --frozen-lockfile
|
|
|
|
- name: Type check examples
|
|
run: |
|
|
cd packages/examples
|
|
bun run tsc --noEmit |