chore: import upstream snapshot with attribution
This commit is contained in:
@@ -0,0 +1,70 @@
|
||||
name: CI
|
||||
|
||||
# `paths-ignore` keeps doc-only / website / README / CHANGELOG churn from
|
||||
# burning runner minutes. Source / config / workflow changes always run.
|
||||
# `workflow_dispatch` gives a manual re-run button for flake debugging.
|
||||
on:
|
||||
push:
|
||||
branches: [main]
|
||||
paths-ignore:
|
||||
- "README.md"
|
||||
- "CHANGELOG.md"
|
||||
- "AGENTS.md"
|
||||
- "ROADMAP.md"
|
||||
- "website/**"
|
||||
- "docs/**"
|
||||
- "assets/**"
|
||||
- "deploy/**/README.md"
|
||||
- "**/*.md"
|
||||
- "**/*.mdx"
|
||||
pull_request:
|
||||
branches: [main]
|
||||
paths-ignore:
|
||||
- "README.md"
|
||||
- "CHANGELOG.md"
|
||||
- "AGENTS.md"
|
||||
- "ROADMAP.md"
|
||||
- "website/**"
|
||||
- "docs/**"
|
||||
- "assets/**"
|
||||
- "deploy/**/README.md"
|
||||
- "**/*.md"
|
||||
- "**/*.mdx"
|
||||
workflow_dispatch:
|
||||
|
||||
# Cancel in-flight PR runs when a force-push lands. Keep push runs to
|
||||
# protect against partial state on main.
|
||||
concurrency:
|
||||
group: ${{ github.workflow }}-${{ github.ref }}
|
||||
cancel-in-progress: ${{ github.event_name == 'pull_request' }}
|
||||
|
||||
jobs:
|
||||
test:
|
||||
runs-on: ${{ matrix.os }}
|
||||
strategy:
|
||||
# Don't bail the whole matrix on one cell's failure — we want to
|
||||
# see whether the same failure reproduces across OSes (e.g.
|
||||
# whether a flake is platform-specific or universal).
|
||||
fail-fast: false
|
||||
matrix:
|
||||
# Windows held back: test/obsidian-export.test.ts has hardcoded
|
||||
# POSIX paths (`/tmp/...`) that fail on D:\ drive runners.
|
||||
# src/functions/obsidian-export.ts needs os.tmpdir() + path.join
|
||||
# rework before Windows can be added back. Tracked as follow-up.
|
||||
os: [ubuntu-latest, macos-latest]
|
||||
node-version: [20, 22]
|
||||
steps:
|
||||
- uses: actions/checkout@v6
|
||||
with:
|
||||
persist-credentials: false
|
||||
- uses: actions/setup-node@v6
|
||||
with:
|
||||
node-version: ${{ matrix.node-version }}
|
||||
# Two-step install: generate a lockfile in-runner with
|
||||
# --package-lock-only, then install from it with `npm ci`.
|
||||
# Lockfiles are gitignored at the repo level.
|
||||
- run: npm install --package-lock-only --legacy-peer-deps --no-audit --no-fund
|
||||
- run: npm ci --legacy-peer-deps --no-audit --no-fund
|
||||
- run: npm run build
|
||||
- run: npm run skills:check
|
||||
- run: npm test
|
||||
Reference in New Issue
Block a user