Skip to content

chore(deps): bump zod from 4.6.5 to 4.6.7 #2538

chore(deps): bump zod from 4.6.5 to 4.6.7

chore(deps): bump zod from 4.6.5 to 4.6.7 #2538

Workflow file for this run

name: CI
on:
push:
branches: [main]
pull_request:
branches: [main]
jobs:
# Decides which of the expensive jobs below a push actually needs.
# Job-level `paths` doesn't exist in Actions, and a workflow-level filter
# would also skip lint-typecheck and vercel-build. Skipped jobs report as
# successful, so required checks don't block docs-only PRs.
changes:
name: Detect Changes
runs-on: ubuntu-latest
permissions:
contents: read
pull-requests: read
outputs:
test: ${{ steps.filter.outputs.test }}
e2e: ${{ steps.filter.outputs.e2e }}
contracts: ${{ steps.filter.outputs.contracts }}
steps:
- uses: actions/checkout@v7
- uses: dorny/paths-filter@v4
id: filter
with:
predicate-quantifier: some-with-excludes
filters: |
workspace: &workspace
- package.json
- pnpm-lock.yaml
- pnpm-workspace.yaml
- turbo.json
- tsconfig.json
- .github/workflows/ci.yml
test:
- *workspace
- "api/**"
- "apps/web/**"
- "apps/api-local/**"
- "apps/strategies/**"
- "packages/shared/**"
- "packages/stellar-sdk-helpers/**"
- "packages/api-core/**"
- "packages/strategies/**"
- "packages/sdk/**"
- "!**/*.md"
e2e:
- *workspace
- "api/**"
- "apps/web/**"
- "apps/api-local/**"
- "apps/strategies/**"
- "packages/shared/**"
- "packages/stellar-sdk-helpers/**"
- "packages/api-core/**"
- "!**/*.md"
contracts:
- .github/workflows/ci.yml
- "packages/contracts/**"
- "scripts/deploy-*.sh"
- "scripts/redeploy-*.sh"
- "scripts/lib/**"
- "!**/*.md"
lint-typecheck:
name: Lint & Typecheck
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v7
- uses: pnpm/action-setup@v6.1.0
- uses: actions/setup-node@v7
with:
node-version: 20
cache: pnpm
- run: pnpm install --frozen-lockfile
- run: pnpm format:check
- run: pnpm lint
- run: pnpm typecheck
- name: Verify apps/api-local build output is flat
run: |
pnpm --filter @meridian/api-local build
test -f apps/api-local/dist/index.js
vercel-build:
name: Verify Vercel Build
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v7
- uses: pnpm/action-setup@v6.1.0
- uses: actions/setup-node@v7
with:
node-version: 20
cache: pnpm
- run: pnpm install --frozen-lockfile
- name: Run the real Vercel build script
run: pnpm exec bash scripts/build-vercel.sh
- name: Assert every workspace package api/v1/* imports was bundled
run: |
for pkg in shared stellar-sdk-helpers api-core; do
if [ ! -f "packages/$pkg/dist/index.js" ]; then
echo "::error::packages/$pkg/dist/index.js was not produced by scripts/build-vercel.sh, but api/v1/* imports @meridian/$pkg. This is the exact failure mode from #398 (ERR_MODULE_NOT_FOUND in production)."
exit 1
fi
done
test:
name: Test
needs: changes
if: needs.changes.outputs.test == 'true'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v7
- uses: pnpm/action-setup@v6.1.0
- uses: actions/setup-node@v7
with:
node-version: 20
cache: pnpm
- run: pnpm install --frozen-lockfile
- run: pnpm test
- run: pnpm coverage
commitlint:
name: Commit Messages
runs-on: ubuntu-latest
if: github.event_name == 'pull_request'
steps:
- uses: actions/checkout@v7
with:
fetch-depth: 0
- uses: wagoid/commitlint-github-action@v6
with:
configFile: commitlint.config.mjs
dependency-review:
name: Dependency Review
runs-on: ubuntu-latest
if: github.event_name == 'pull_request'
steps:
- uses: actions/checkout@v7
- uses: actions/dependency-review-action@v5
e2e:
name: E2E Tests
needs: changes
if: needs.changes.outputs.e2e == 'true'
runs-on: ubuntu-latest
# Drives the real dev stack against real Stellar testnet RPC (wallet
# signing is mocked, see apps/web/e2e/fixtures.ts), so it exercises
# the real API and Soroban simulation paths end to end. Tests use page.route()
# to stub live-network-dependent data where it would otherwise be flaky on
# testnet RPC hiccups (see #535). Not a required check (#1036).
#
# STELLAR_NETWORK must be set explicitly: mainnet is now the default
# (packages/shared/src/constants.ts, #738) since the product is live
# there, and this suite's testnet assumptions (testnet contract
# addresses, mocked-wallet fixtures funded on testnet) would otherwise
# silently target mainnet instead.
env:
STELLAR_NETWORK: testnet
steps:
- uses: actions/checkout@v7
- uses: pnpm/action-setup@v6.1.0
- uses: actions/setup-node@v7
with:
node-version: 20
cache: pnpm
- run: pnpm install --frozen-lockfile
# apps/api-local imports its workspace deps (@meridian/shared etc.) by
# package resolution, which needs their dist/ output built first - the
# dev server doesn't build them itself. Scoped to api-local's own
# dependency graph so this doesn't also try to build contracts/docs.
- run: pnpm exec turbo run build --filter=@meridian/api-local...
- run: pnpm --filter @meridian/web exec playwright install --with-deps chromium
- run: pnpm --filter @meridian/web test:e2e
contracts:
name: Soroban Contract Tests
needs: changes
if: needs.changes.outputs.contracts == 'true'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v7
- uses: dtolnay/rust-toolchain@stable
with:
targets: wasm32v1-none
components: clippy, rustfmt
- uses: Swatinem/rust-cache@v2
with:
workspaces: packages/contracts
- name: Check formatting
working-directory: packages/contracts
run: cargo fmt --all -- --check
- name: Run clippy
working-directory: packages/contracts
run: cargo clippy --all-targets -- -D warnings
- name: Install cargo-llvm-cov
uses: taiki-e/install-action@cargo-llvm-cov
- name: Install LLVM coverage tools
run: rustup component add llvm-tools-preview
- name: Measure contract coverage
working-directory: packages/contracts
run: >-
cargo llvm-cov
--workspace
--summary-only
--fail-under-lines 97.5
- name: Build wasm
working-directory: packages/contracts
run: cargo build --target wasm32v1-none --release