Skip to content

Release tracking (#2892) #26

Release tracking (#2892)

Release tracking (#2892) #26

Workflow file for this run

# CI for the xata-cli mirror.
#
# Verifies the standalone mirror builds from source using only its committed
# lockfile and packages published to npm. The monorepo's mirror sync regenerates
# pnpm-lock.yaml on every push, so `--frozen-lockfile` here proves the committed
# lockfile stays in sync.
#
# Maintained directly in this repo (.github is not part of the synced subtree).
name: CI
on:
push:
branches: [main]
pull_request:
jobs:
build:
name: Build from source
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: pnpm/action-setup@v4
with:
version: 10.33.0
- uses: actions/setup-node@v4
with:
node-version: 24
cache: pnpm
- uses: oven-sh/setup-bun@v2
with:
bun-version: latest
- name: Install (frozen lockfile)
run: pnpm install --frozen-lockfile
- name: Run package checks
run: |
run_if_present() {
local script="$1"
if node -e "process.exit(require('./package.json').scripts?.[process.argv[1]] ? 0 : 1)" "$script"; then
pnpm run "$script"
else
echo "Skipping missing script: $script"
fi
}
run_if_present tsc
run_if_present build
if node -e "process.exit(require('./package.json').scripts?.['test-unit'] ? 0 : 1)"; then
pnpm run test-unit
else
run_if_present test
fi