Skip to content

Convert /workspace/ to full client-side SPA #58

Convert /workspace/ to full client-side SPA

Convert /workspace/ to full client-side SPA #58

Workflow file for this run

name: CI
on:
push:
branches:
- main
pull_request:
workflow_dispatch:
permissions:
contents: read
jobs:
moon:
name: Moon check and test
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Install MoonBit CLI
run: |
curl -fsSL https://cli.moonbitlang.com/install/unix.sh | bash
echo "$HOME/.moon/bin" >> "$GITHUB_PATH"
- name: Moon update
run: moon update
- name: Moon check (js)
run: moon check --target js
- name: Moon test (js)
run: moon test --target js
e2e:
name: Playwright e2e
runs-on: ubuntu-latest
needs: moon
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup pnpm
uses: pnpm/action-setup@v4
with:
version: 10
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: 24
cache: pnpm
- name: Install MoonBit CLI
run: |
curl -fsSL https://cli.moonbitlang.com/install/unix.sh | bash
echo "$HOME/.moon/bin" >> "$GITHUB_PATH"
- name: Moon update
run: moon update
- name: Install Node dependencies
run: pnpm install --frozen-lockfile
- name: Install Playwright browser
run: pnpm exec playwright install --with-deps chromium
- name: Run Playwright viewer tests
run: pnpm test:e2e:viewer
- name: Run Playwright mars_http tests
run: pnpm test:e2e:mars
- name: Run Playwright Cloudflare fetch tests
run: pnpm test:e2e:cf
- name: Run Playwright CI webhook tests
run: pnpm test:e2e:ci
- name: Run Playwright commits/branches tests
run: pnpm test:e2e:git
- name: Run Playwright feature tests
run: pnpm test:e2e:features
- name: Run Playwright PR/webhook tests
run: pnpm exec playwright test --project pulls-webhooks
bench:
name: Moon benchmark
runs-on: ubuntu-latest
needs: moon
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Install MoonBit CLI
run: |
curl -fsSL https://cli.moonbitlang.com/install/unix.sh | bash
echo "$HOME/.moon/bin" >> "$GITHUB_PATH"
- name: Moon update
run: moon update
- name: Run viewer benchmark (js)
run: moon bench -p bit-vcs/bithub/cmd/bithub --target js -f bench_viewer_test.mbt