mirror of
https://github.com/vercel/chat.git
synced 2026-09-14 18:32:29 +08:00
aa3e014824
Bumps [pnpm/action-setup](https://github.com/pnpm/action-setup) from 6.0.9 to 6.0.10. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/pnpm/action-setup/releases">pnpm/action-setup's releases</a>.</em></p> <blockquote> <h2>v6.0.10</h2> <h2>What's Changed</h2> <ul> <li>docs(README): point users to the successor pnpm/setup action by <a href="https://github.com/BlackHole1"><code>@BlackHole1</code></a> in <a href="https://redirect.github.com/pnpm/action-setup/pull/282">pnpm/action-setup#282</a></li> <li>refactor: introduce restore keys for cache by <a href="https://github.com/SukkaW"><code>@SukkaW</code></a> in <a href="https://redirect.github.com/pnpm/action-setup/pull/280">pnpm/action-setup#280</a></li> <li>ci: use pnpm 11 for <code>pr-check</code> by <a href="https://github.com/jamietanna"><code>@jamietanna</code></a> in <a href="https://redirect.github.com/pnpm/action-setup/pull/284">pnpm/action-setup#284</a></li> <li>fix: update pnpm to v11.19.0 by <a href="https://github.com/jamietanna"><code>@jamietanna</code></a> in <a href="https://redirect.github.com/pnpm/action-setup/pull/283">pnpm/action-setup#283</a></li> <li>docs: update README to include devEngines.packageManager by <a href="https://github.com/nemchik"><code>@nemchik</code></a> in <a href="https://redirect.github.com/pnpm/action-setup/pull/273">pnpm/action-setup#273</a></li> </ul> <h2>New Contributors</h2> <ul> <li><a href="https://github.com/jamietanna"><code>@jamietanna</code></a> made their first contribution in <a href="https://redirect.github.com/pnpm/action-setup/pull/284">pnpm/action-setup#284</a></li> <li><a href="https://github.com/nemchik"><code>@nemchik</code></a> made their first contribution in <a href="https://redirect.github.com/pnpm/action-setup/pull/273">pnpm/action-setup#273</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/pnpm/action-setup/compare/v6...v6.0.10">https://github.com/pnpm/action-setup/compare/v6...v6.0.10</a></p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/pnpm/action-setup/commit/0977fd99725f1db4007ccb2928dbb4e90d06cc86"><code>0977fd9</code></a> docs: Update README to include devEngines.packageManager (<a href="https://redirect.github.com/pnpm/action-setup/issues/273">#273</a>)</li> <li><a href="https://github.com/pnpm/action-setup/commit/48261aca053e825d84804e8ce05524d558249ac9"><code>48261ac</code></a> fix: update pnpm to v11.19.0 (<a href="https://redirect.github.com/pnpm/action-setup/issues/283">#283</a>)</li> <li><a href="https://github.com/pnpm/action-setup/commit/75677f717d48404e86ae8ee4891543f40de175aa"><code>75677f7</code></a> ci: use pnpm 11 for <code>pr-check</code> (<a href="https://redirect.github.com/pnpm/action-setup/issues/284">#284</a>)</li> <li><a href="https://github.com/pnpm/action-setup/commit/769ae71fb33e6e448a5dc92ad5da997c268eecec"><code>769ae71</code></a> refactor: introduce restore keys for cache (<a href="https://redirect.github.com/pnpm/action-setup/issues/280">#280</a>)</li> <li><a href="https://github.com/pnpm/action-setup/commit/6fed91f804570c1144bfe1911c348642cb986bd4"><code>6fed91f</code></a> docs(README): point users to the successor pnpm/setup action (<a href="https://redirect.github.com/pnpm/action-setup/issues/282">#282</a>)</li> <li>See full diff in <a href="https://github.com/pnpm/action-setup/compare/0ebf47130e4866e96fce0953f49152a61190b271...0977fd99725f1db4007ccb2928dbb4e90d06cc86">compare view</a></li> </ul> </details> <br /> [](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
231 lines
7.2 KiB
YAML
231 lines
7.2 KiB
YAML
name: CI
|
|
|
|
on:
|
|
push:
|
|
branches: [main]
|
|
pull_request:
|
|
branches: [main]
|
|
|
|
concurrency:
|
|
group: ${{ github.workflow }}-${{ github.ref }}
|
|
cancel-in-progress: true
|
|
|
|
permissions:
|
|
contents: read
|
|
|
|
jobs:
|
|
changeset:
|
|
runs-on: ubuntu-latest
|
|
# Skipped on the release PR: it consumes every changeset and bumps the
|
|
# versions, which is exactly the state `changeset status` reports as an
|
|
# error, so the check always fails there.
|
|
if: github.event_name == 'pull_request' && github.head_ref != 'changeset-release/main'
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v6.0.0
|
|
with:
|
|
fetch-depth: 0
|
|
|
|
- name: Install pnpm
|
|
uses: pnpm/action-setup@0977fd99725f1db4007ccb2928dbb4e90d06cc86 # v6.0.0
|
|
|
|
- name: Setup Node.js
|
|
uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v6.0.0
|
|
with:
|
|
node-version-file: .nvmrc
|
|
cache: "pnpm"
|
|
|
|
- name: Install dependencies
|
|
run: pnpm install --frozen-lockfile
|
|
|
|
- name: Check if packages changed
|
|
id: packages-changed
|
|
env:
|
|
BASE_REF: ${{ github.base_ref }}
|
|
run: |
|
|
git fetch origin "$BASE_REF" --depth=1
|
|
if git diff --name-only "origin/$BASE_REF"...HEAD | grep '^packages/' | grep -qEv '\.md$|^packages/chat/resources/|^packages/integration-tests/'; then
|
|
echo "changed=true" >> "$GITHUB_OUTPUT"
|
|
else
|
|
echo "changed=false" >> "$GITHUB_OUTPUT"
|
|
echo "No package code changes detected — skipping changeset check."
|
|
fi
|
|
|
|
- name: Verify changeset present
|
|
if: steps.packages-changed.outputs.changed == 'true'
|
|
env:
|
|
BASE_REF: ${{ github.base_ref }}
|
|
run: pnpm changeset status --since="origin/$BASE_REF"
|
|
|
|
lint:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v6.0.0
|
|
|
|
- name: Install pnpm
|
|
uses: pnpm/action-setup@0977fd99725f1db4007ccb2928dbb4e90d06cc86 # v6.0.0
|
|
|
|
- name: Setup Node.js
|
|
uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v6.0.0
|
|
with:
|
|
node-version-file: .nvmrc
|
|
cache: "pnpm"
|
|
|
|
- name: Install dependencies
|
|
run: pnpm install --frozen-lockfile
|
|
|
|
- name: Check
|
|
run: pnpm check
|
|
|
|
- name: Knip
|
|
run: pnpm knip
|
|
|
|
konsistent:
|
|
name: 'Code Consistency'
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v6.0.0
|
|
|
|
- name: Install pnpm
|
|
uses: pnpm/action-setup@0977fd99725f1db4007ccb2928dbb4e90d06cc86 # v6.0.0
|
|
|
|
- name: Setup Node.js
|
|
uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v6.0.0
|
|
with:
|
|
node-version-file: .nvmrc
|
|
cache: "pnpm"
|
|
|
|
- name: Install dependencies
|
|
run: pnpm install --frozen-lockfile
|
|
|
|
- name: Run konsistent
|
|
run: pnpm konsistent
|
|
|
|
typecheck:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v6.0.0
|
|
|
|
- name: Install pnpm
|
|
uses: pnpm/action-setup@0977fd99725f1db4007ccb2928dbb4e90d06cc86 # v6.0.0
|
|
|
|
- name: Setup Node.js
|
|
uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v6.0.0
|
|
with:
|
|
node-version-file: .nvmrc
|
|
cache: "pnpm"
|
|
|
|
- name: Install dependencies
|
|
run: pnpm install --frozen-lockfile
|
|
|
|
- name: Typecheck
|
|
run: pnpm typecheck
|
|
|
|
build-and-test-matrix:
|
|
runs-on: ubuntu-latest
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
node-version: [22, 24]
|
|
name: build-and-test (Node ${{ matrix.node-version }})
|
|
env:
|
|
SLACK_BOT_TOKEN: xoxb-mock
|
|
SLACK_SIGNING_SECRET: mock
|
|
TEAMS_APP_ID: mock
|
|
TEAMS_APP_PASSWORD: mock
|
|
TEAMS_APP_TENANT_ID: mock
|
|
GOOGLE_CHAT_CREDENTIALS: '{"type":"service_account","project_id":"mock","private_key":"-----BEGIN RSA PRIVATE KEY-----\nMOCK\n-----END RSA PRIVATE KEY-----","client_email":"mock@mock.iam.gserviceaccount.com"}'
|
|
REDIS_URL: redis://localhost:6379
|
|
RECORDING_ENABLED: "false"
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v6.0.0
|
|
|
|
- name: Install pnpm
|
|
uses: pnpm/action-setup@0977fd99725f1db4007ccb2928dbb4e90d06cc86 # v6.0.0
|
|
|
|
- name: Setup Node.js
|
|
uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v6.0.0
|
|
with:
|
|
node-version: ${{ matrix.node-version }}
|
|
cache: "pnpm"
|
|
|
|
- name: Install dependencies
|
|
run: pnpm install --frozen-lockfile
|
|
|
|
- name: Build
|
|
run: pnpm turbo build --filter='!example-nextjs-chat' --filter='!example-nuxt-chat'
|
|
|
|
- name: Test
|
|
run: pnpm test
|
|
|
|
# Guards the ai@^6 || ^7 peer range: the workspace devDependency pins ai@7, so
|
|
# the matrix above only exercises v7. This job forces the v6 constellation and
|
|
# builds/typechecks/tests the ai-dependent packages so a v6 regression cannot
|
|
# land unnoticed.
|
|
ai-sdk-v6-compat:
|
|
runs-on: ubuntu-latest
|
|
name: ai-sdk-v6-compat
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v6.0.0
|
|
|
|
- name: Install pnpm
|
|
uses: pnpm/action-setup@0977fd99725f1db4007ccb2928dbb4e90d06cc86 # v6.0.0
|
|
|
|
- name: Setup Node.js
|
|
uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v6.0.0
|
|
with:
|
|
node-version-file: .nvmrc
|
|
cache: "pnpm"
|
|
|
|
- name: Pin AI SDK to v6
|
|
run: |
|
|
node -e '
|
|
const fs = require("node:fs");
|
|
const pkg = JSON.parse(fs.readFileSync("package.json", "utf8"));
|
|
pkg.pnpm ??= {};
|
|
pkg.pnpm.overrides = {
|
|
...pkg.pnpm.overrides,
|
|
ai: "6.0.182",
|
|
"@ai-sdk/react": "3.0.184",
|
|
"@ai-sdk/svelte": "4.0.182",
|
|
"@ai-sdk/vue": "3.0.182",
|
|
};
|
|
fs.writeFileSync("package.json", JSON.stringify(pkg, null, 2) + "\n");
|
|
'
|
|
|
|
- name: Install dependencies (ai@6)
|
|
run: pnpm install --no-frozen-lockfile
|
|
|
|
- name: Verify ai@6 resolved
|
|
run: |
|
|
if ls node_modules/.pnpm | grep -qE '^ai@6\.'; then
|
|
echo "ai@6 resolved"
|
|
else
|
|
echo "expected ai@6 to resolve; got:"
|
|
ls node_modules/.pnpm | grep -E '^ai@' || true
|
|
exit 1
|
|
fi
|
|
|
|
- name: Build, typecheck, and test against ai@6
|
|
run: pnpm turbo build typecheck test --filter=chat --filter=@chat-adapter/web
|
|
|
|
# Separate "build-and-test" job to set as required in branch protections,
|
|
# as the matrix build names above change each time Node versions change.
|
|
build-and-test:
|
|
runs-on: ubuntu-latest
|
|
needs: [build-and-test-matrix, ai-sdk-v6-compat]
|
|
if: ${{ !cancelled() }}
|
|
name: build-and-test (Summary)
|
|
steps:
|
|
- name: All matrix versions passed
|
|
if: ${{ !(contains(needs.*.result, 'failure')) }}
|
|
run: exit 0
|
|
- name: Some matrix version failed
|
|
if: ${{ contains(needs.*.result, 'failure') }}
|
|
run: exit 1
|