Skip to content

feat: Multi-Provider Image Clustering & Deduplication Report Engine #64

feat: Multi-Provider Image Clustering & Deduplication Report Engine

feat: Multi-Provider Image Clustering & Deduplication Report Engine #64

Workflow file for this run

name: CI
on:
push:
branches: [main]
pull_request:
branches: [main]
jobs:
test:
name: test (${{ matrix.os }})
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, macos-latest]
runs-on: ${{ matrix.os }}
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Bun
uses: oven-sh/setup-bun@v2
with:
bun-version: 1.3.x
- name: Install dependencies
run: bun install --frozen-lockfile
- name: Build packages (so webfetch-core types resolve from dist/)
run: bun run --cwd packages/core build
- name: Typecheck
run: bun run typecheck
- name: Lint green subset
run: bun run lint:ci
- name: Test
run: bun test
shipped-js:
name: shipped js (${{ matrix.project }})
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
include:
- project: cloud/dashboard
build: true
- project: cloud/landing
build: true
- project: extension
build: true
steps:
- uses: actions/checkout@v4
- uses: oven-sh/setup-bun@v2
with:
bun-version: 1.3.x
- name: Install dependencies
run: bun install --frozen-lockfile
working-directory: ${{ matrix.project }}
- name: Typecheck
run: bun run typecheck
working-directory: ${{ matrix.project }}
- name: Build
if: matrix.build
run: bun run build
working-directory: ${{ matrix.project }}
vscode-extension:
name: vscode extension
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: '20'
cache: npm
cache-dependency-path: vscode-extension/package-lock.json
- name: Install dependencies
run: npm ci
working-directory: vscode-extension
- name: Compile
run: npm run compile
working-directory: vscode-extension
python-sdk:
name: python sdk
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: '3.12'
cache: pip
- name: Install dependencies
run: python -m pip install -e packages/sdk-python pytest pytest-asyncio respx
- name: Test
run: python -m pytest packages/sdk-python/tests
lint:
name: lint (non-blocking)
runs-on: ubuntu-latest
continue-on-error: true
steps:
- uses: actions/checkout@v4
- uses: oven-sh/setup-bun@v2
with:
bun-version: 1.3.x
- run: bun install --frozen-lockfile
- run: bun run lint
continue-on-error: true