Skip to content

Update SDK API to 5322ddbb8a8de914d631df350d7a4d91e77edbb7 #938

Update SDK API to 5322ddbb8a8de914d631df350d7a4d91e77edbb7

Update SDK API to 5322ddbb8a8de914d631df350d7a4d91e77edbb7 #938

Workflow file for this run

name: CI
on:
push:
branches: ['*'] # Triggers on push to any branch.
pull_request:
branches: [main]
merge_group:
permissions:
id-token: write # Required for JFrog OIDC token exchange.
contents: read # Required for actions/checkout.
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
lint:
name: Lint (${{ matrix.shard }})
runs-on:
group: databricks-protected-runner-group
labels: linux-ubuntu-latest
strategy:
fail-fast: false
matrix:
# Shards partition packages by the first letter after `@databricks/sdk-`.
# Together the four ranges cover a-z.
shard: ['[a-c]*', '[d-l]*', '[m-r]*', '[s-z]*']
steps:
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
- name: Setup JFrog CLI
uses: jfrog/setup-jfrog-cli@1641575d87647fb969c0545f0b6a76873e328b7c # v5.0.0
env:
JF_URL: https://databricks.jfrog.io
with:
oidc-provider-name: github-actions
- name: Setup Node.js
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
with:
node-version: '22'
cache: 'npm'
- name: Configure npm for JFrog
run: jf npmc --repo-resolve=db-npm
- name: Install dependencies
run: jf npm ci
- name: Run lint and format checks
run: npm run checks -- --filter='@databricks/sdk-${{ matrix.shard }}'
typecheck:
name: Type Check (${{ matrix.shard }})
runs-on:
group: databricks-protected-runner-group
labels: linux-ubuntu-latest
strategy:
fail-fast: false
matrix:
shard: ['[a-c]*', '[d-l]*', '[m-r]*', '[s-z]*']
steps:
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
- name: Setup JFrog CLI
uses: jfrog/setup-jfrog-cli@1641575d87647fb969c0545f0b6a76873e328b7c # v5.0.0
env:
JF_URL: https://databricks.jfrog.io
with:
oidc-provider-name: github-actions
- name: Setup Node.js
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
with:
node-version: '22'
cache: 'npm'
- name: Configure npm for JFrog
run: jf npmc --repo-resolve=db-npm
- name: Install dependencies
run: jf npm ci
- name: Run type check
run: npm run typecheck -- --filter='@databricks/sdk-${{ matrix.shard }}'
test:
name: Test (Node.js ${{ matrix.node-version }})
runs-on:
group: databricks-protected-runner-group
labels: linux-ubuntu-latest
strategy:
fail-fast: false
matrix:
node-version: ['22', '24']
steps:
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
- name: Setup JFrog CLI
uses: jfrog/setup-jfrog-cli@1641575d87647fb969c0545f0b6a76873e328b7c # v5.0.0
env:
JF_URL: https://databricks.jfrog.io
with:
oidc-provider-name: github-actions
- name: Setup Node.js ${{ matrix.node-version }}
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
with:
node-version: ${{ matrix.node-version }}
cache: 'npm'
- name: Configure npm for JFrog
run: jf npmc --repo-resolve=db-npm
- name: Install dependencies
run: jf npm ci
- name: Run tests
run: npm test
test-browser:
name: Test (Browser, Node.js ${{ matrix.node-version }})
runs-on:
group: databricks-protected-runner-group
labels: linux-ubuntu-latest
strategy:
fail-fast: false
matrix:
node-version: ['22', '24']
steps:
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
- name: Setup JFrog CLI
uses: jfrog/setup-jfrog-cli@1641575d87647fb969c0545f0b6a76873e328b7c # v5.0.0
env:
JF_URL: https://databricks.jfrog.io
with:
oidc-provider-name: github-actions
- name: Setup Node.js ${{ matrix.node-version }}
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
with:
node-version: ${{ matrix.node-version }}
cache: 'npm'
- name: Configure npm for JFrog
run: jf npmc --repo-resolve=db-npm
- name: Install dependencies
run: jf npm ci
- name: Install Playwright browsers
run: npx playwright install chromium --with-deps
- name: Run browser tests
run: npm run test:browser
build:
name: Build (Node.js ${{ matrix.node-version }}, ${{ matrix.shard }})
runs-on:
group: databricks-protected-runner-group
labels: linux-ubuntu-latest
strategy:
fail-fast: false
matrix:
node-version: ['22', '24']
shard: ['[a-c]*', '[d-l]*', '[m-r]*', '[s-z]*']
steps:
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
- name: Setup JFrog CLI
uses: jfrog/setup-jfrog-cli@1641575d87647fb969c0545f0b6a76873e328b7c # v5.0.0
env:
JF_URL: https://databricks.jfrog.io
with:
oidc-provider-name: github-actions
- name: Setup Node.js ${{ matrix.node-version }}
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
with:
node-version: ${{ matrix.node-version }}
cache: 'npm'
- name: Configure npm for JFrog
run: jf npmc --repo-resolve=db-npm
- name: Install dependencies
run: jf npm ci
- name: Build
run: npm run build -- --filter='@databricks/sdk-${{ matrix.shard }}'
check-licenses:
name: Check Licenses
runs-on:
group: databricks-protected-runner-group
labels: linux-ubuntu-latest
steps:
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
- name: Setup Node.js
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
with:
node-version: '22'
- name: Verify every published package ships a LICENSE
run: node scripts/check-licenses.mjs
# This job gates merging. It depends on all CI jobs so that branch protection
# only needs to reference this single check. When adding new jobs, append
# them to the "needs" list below and branch protection stays in sync.
ci-gate:
name: CI Gate
if: always()
needs: [lint, typecheck, test, test-browser, build, check-licenses]
runs-on:
group: databricks-protected-runner-group
labels: linux-ubuntu-latest
steps:
- name: Check results
run: |
results="${{ join(needs.*.result, ' ') }}"
for r in $results; do
if [ "$r" != "success" ]; then
echo "One or more CI jobs failed or were cancelled."
exit 1
fi
done
echo "All CI jobs passed."