- checkout with fetch-depth: 0: the git log paging test needs the full repository history (default shallow clone yields one commit) - configure a global git identity on the runner: src/git.ts deliberately never sets one and revert/cherry-pick rely on ambient config - tests/unit.spec.ts: node-pty@1.1.0 ships a prebuilt spawn-helper only for darwin/win32; on linux node-gyp compiles it into build/Release. Align the assertion with ensureSpawnHelper's candidate list instead of hardcoding the prebuilds/ path (the Linux test run was red for this reason)
39 lines
1.0 KiB
YAML
39 lines
1.0 KiB
YAML
name: CI
|
|
|
|
on:
|
|
push:
|
|
branches: [main]
|
|
pull_request:
|
|
|
|
jobs:
|
|
ci:
|
|
runs-on: ubuntu-latest
|
|
timeout-minutes: 20
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
with:
|
|
# Tests run git log against this repository and need the full history.
|
|
fetch-depth: 0
|
|
- uses: pnpm/action-setup@v4
|
|
with:
|
|
version: 11
|
|
- uses: actions/setup-node@v4
|
|
with:
|
|
node-version: 22
|
|
cache: pnpm
|
|
# The plugin's git revert/cherry-pick spawn git without setting an
|
|
# identity (deliberate, see tests/smoke.spec.ts) and rely on ambient
|
|
# config; the runner has none by default.
|
|
- name: Configure git identity for tests
|
|
run: |
|
|
git config --global user.name "dsh-better-sidebar-ci"
|
|
git config --global user.email "ci@dsh.invalid"
|
|
- name: Install dependencies
|
|
run: pnpm install --frozen-lockfile
|
|
- name: Typecheck
|
|
run: pnpm typecheck
|
|
- name: Test
|
|
run: pnpm test
|
|
- name: Build
|
|
run: pnpm build
|