Skip to content

chore(deps): bump next from 16.2.4 to 16.2.6 in /frontend #1312

chore(deps): bump next from 16.2.4 to 16.2.6 in /frontend

chore(deps): bump next from 16.2.4 to 16.2.6 in /frontend #1312

Workflow file for this run

name: CI
on:
push:
branches: [main, "feature/**"]
pull_request:
branches: [main]
jobs:
codex-review-tests:
name: Codex Review Script Tests
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v6
- name: Setup Node.js
uses: actions/setup-node@v6
with:
node-version: 20
- name: Run Codex review script tests
run: node --test .github/scripts/*.test.mjs
cli-changeset:
name: CLI Changeset Check
runs-on: ubuntu-latest
if: github.event_name == 'pull_request' && github.actor != 'dependabot[bot]'
steps:
- name: Checkout repository
uses: actions/checkout@v6
with:
fetch-depth: 0
- name: Require changeset for CLI source changes
shell: bash
run: |
set -euo pipefail
BASE_REF="${{ github.base_ref }}"
git fetch origin "${BASE_REF}"
CHANGED_FILES="$(git diff --name-only "origin/${BASE_REF}"...HEAD)"
echo "Changed files:"
echo "${CHANGED_FILES}"
if ! echo "${CHANGED_FILES}" | grep -q '^cli/'; then
echo "No CLI changes detected."
exit 0
fi
CHANGESET_FILES="$(echo "${CHANGED_FILES}" | grep -E '^\.changeset/[^/]+\.md$' | grep -v '^\.changeset/README\.md$' || true)"
if [ -n "${CHANGESET_FILES}" ]; then
echo "Changeset file detected."
exit 0
fi
# Changeset enforcement is scoped to CLI paths only.
# If CLI changes are exclusively release-maintenance artifacts,
# allow commit/PR without a changeset.
CLI_CHANGED_FILES="$(echo "${CHANGED_FILES}" | grep -E '^cli/' || true)"
DISALLOWED_CLI_CHANGES="$(
echo "${CLI_CHANGED_FILES}" \
| grep -Ev '^(cli/(CHANGELOG\.md|package\.json|package-lock\.json)|cli/\.changeset/.*)$' \
|| true
)"
if [ -z "${DISALLOWED_CLI_CHANGES}" ]; then
echo "Only release-maintenance allowlisted files changed; skipping changeset requirement."
exit 0
fi
echo "::error::CLI changes detected without a changeset file."
echo "::error::Disallowed CLI changed files without changeset:"
echo "${DISALLOWED_CLI_CHANGES}"
echo "::error::Run 'npx --yes @changesets/cli add' and commit the generated file in .changeset/."
exit 1
- name: Validate root changesets config (present and valid JSON)
shell: bash
run: |
set -euo pipefail
if [ ! -f .changeset/config.json ]; then
echo "::error::Missing required .changeset/config.json at repo root."
exit 1
fi
node -e "JSON.parse(require('node:fs').readFileSync('.changeset/config.json', 'utf8'))"
cli-tests:
name: CLI Tests
runs-on: ubuntu-latest
defaults:
run:
working-directory: cli
steps:
- name: Checkout repository
uses: actions/checkout@v6
- name: Setup Node.js
uses: actions/setup-node@v6
with:
node-version: 22
cache: npm
cache-dependency-path: cli/package-lock.json
- name: Install dependencies
run: npm ci --workspaces=false
- name: Run CLI unit tests
run: |
npm run test
cli-shell-regression:
name: CLI Shell Regression
runs-on: ubuntu-latest
defaults:
run:
working-directory: cli
steps:
- name: Checkout repository
uses: actions/checkout@v6
- name: Setup Node.js
uses: actions/setup-node@v6
with:
node-version: 22
cache: npm
cache-dependency-path: cli/package-lock.json
- name: Install dependencies
run: npm ci --workspaces=false
- name: Run shell regression tests
run: npm run test:shell-regression
backend-tests:
name: Backend Tests
runs-on: ubuntu-latest
defaults:
run:
working-directory: backend
steps:
- name: Checkout repository
uses: actions/checkout@v6
- name: Check for .NET solution
id: check
run: |
if find backend -name '*.sln' -o -name '*.csproj' 2>/dev/null | grep -q .; then
echo "exists=true" >> "$GITHUB_OUTPUT"
else
echo "exists=false" >> "$GITHUB_OUTPUT"
echo "⏭️ No .NET project found in backend/ — skipping."
fi
working-directory: .
- name: Setup .NET
if: steps.check.outputs.exists == 'true'
uses: actions/setup-dotnet@v5
with:
dotnet-version: 9.0.x
- name: Restore dependencies
if: steps.check.outputs.exists == 'true'
run: dotnet restore
- name: Build
if: steps.check.outputs.exists == 'true'
run: dotnet build --no-restore --configuration Release
- name: Run tests
if: steps.check.outputs.exists == 'true'
run: dotnet test --no-build --configuration Release --verbosity normal --collect:"XPlat Code Coverage"
- name: Run document intelligence regression gate
if: steps.check.outputs.exists == 'true'
run: >
dotnet test --no-build --configuration Release --verbosity normal
--filter "(FullyQualifiedName~AttachmentRoutingPolicyTests)
|(FullyQualifiedName~DocumentParseServiceTests)
|(FullyQualifiedName~AttachmentExtractionLifecycleIntegrationTests)
|(FullyQualifiedName~LargeDocumentRegressionCorpusIntegrationTests)
|(FullyQualifiedName~RunAnalysisRoundAsync_LongAttachment_UsesChunkPreludeAndFinalSynthesisPass)"