Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
4b9de4c
ci: add JFrog OIDC proxy for npm registry access
pffigueiredo Apr 13, 2026
1b033e1
fix(ci): write .npmrc to landing/ where bun runs
pffigueiredo Apr 13, 2026
c4fb3f1
fix(ci): add BUN_CONFIG_REGISTRY env var and debug step
pffigueiredo Apr 13, 2026
31e9245
fix(ci): prepend newline before appending to .npmrc
pffigueiredo Apr 13, 2026
9f1b84a
fix(ci): add NODE_EXTRA_CA_CERTS for CrowdStrike TLS interception
pffigueiredo Apr 13, 2026
66fa337
fix(ci): add TLS diagnostic step to debug cert verification
pffigueiredo Apr 13, 2026
7596e12
fix(ci): fix debug step path (landing/.npmrc, not .npmrc)
pffigueiredo Apr 13, 2026
1534037
fix(ci): drop --frozen-lockfile to test registry override
pffigueiredo Apr 13, 2026
a3ed31d
fix(ci): check JFrog manifest tarball URLs
pffigueiredo Apr 13, 2026
27b08e1
fix(ci): delete lockfile before install to force JFrog resolution
pffigueiredo Apr 13, 2026
106e849
fix(ci): clean up debug steps, add bunfig.toml for local dev
pffigueiredo Apr 13, 2026
02bf3ec
fix: route npm traffic through Databricks proxy for local dev
pffigueiredo Apr 13, 2026
3f4cf4f
fix(ci): override bunfig.toml in CI with JFrog registry
pffigueiredo Apr 13, 2026
53c8555
fix(ci): overwrite .npmrc in CI to remove local dev proxy scope
pffigueiredo Apr 13, 2026
cf890c0
chore: remove @neondatabase scope override from project .npmrc
pffigueiredo Apr 13, 2026
e4cedd4
chore: remove unnecessary @neondatabase scope from bunfig.toml
pffigueiredo Apr 13, 2026
2b8036d
fix(ci): simplify — use Databricks npm proxy instead of JFrog OIDC
pffigueiredo Apr 13, 2026
43cce6f
revert: restore JFrog OIDC — CI runners can't reach npm-proxy.dev
pffigueiredo Apr 13, 2026
6e52ae9
fix: move bunfig.toml to gitignore, add setup script
pffigueiredo Apr 13, 2026
d3a0979
fix: auto-generate bunfig.toml via preinstall hook
pffigueiredo Apr 13, 2026
33be0e5
fix: read registry from npm config instead of hardcoding
pffigueiredo Apr 13, 2026
0e7ae78
fix: fail fast if npm registry is the blocked default
pffigueiredo Apr 13, 2026
e3d991b
fix: improve registry detection and error message
pffigueiredo Apr 13, 2026
c2c57c2
fix: correct error message wording, remove duplicate check
pffigueiredo Apr 13, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 16 additions & 1 deletion .github/workflows/pr.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ on:

permissions:
contents: read
id-token: write

jobs:
lint-and-build:
Expand All @@ -19,6 +20,18 @@ jobs:
steps:
- name: Checkout code
uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4
- name: Setup JFrog CLI with OIDC
id: setup-jfrog
uses: jfrog/setup-jfrog-cli@279b1f629f43dd5bc658d8361ac4802a7ef8d2d5 # v4.9.1
env:
JF_URL: https://databricks.jfrog.io
with:
oidc-provider-name: github-actions
- name: Configure npm registry for JFrog
run: |
printf 'save-exact=true\nregistry=https://databricks.jfrog.io/artifactory/api/npm/db-npm/\n' > .npmrc
echo "//databricks.jfrog.io/artifactory/api/npm/db-npm/:_authToken=${{ steps.setup-jfrog.outputs.oidc-token }}" >> .npmrc
printf '[install]\nregistry = "https://databricks.jfrog.io/artifactory/api/npm/db-npm/"\n' > bunfig.toml
- name: Setup Node
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4
with:
Expand All @@ -35,7 +48,9 @@ jobs:
restore-keys: |
bun-${{ runner.os }}-
- name: Install dependencies
run: bun install --frozen-lockfile
run: |
rm -f bun.lock
bun install
- name: Validate server.json version sync
run: |
node -e "const fs=require('fs'); const pkg=JSON.parse(fs.readFileSync('package.json','utf8')); const server=JSON.parse(fs.readFileSync('../server.json','utf8')); if (pkg.version !== server.version) { console.error('Version mismatch: landing/package.json=' + pkg.version + ' server.json=' + server.version); process.exit(1); }"
Expand Down
3 changes: 3 additions & 0 deletions landing/.gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -47,3 +47,6 @@ tools.json
.env.e2e
test-results/
playwright-report/

# local registry config (generated by bin/setup-registry.sh)
bunfig.toml
35 changes: 35 additions & 0 deletions landing/bin/setup-registry.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
#!/usr/bin/env bash
# Generates bunfig.toml so bun uses an npm registry proxy.
# Checks multiple sources: BUN_CONFIG_REGISTRY env var, npm config, defaults.
# CI runners generate their own bunfig.toml (see .github/workflows/pr.yml).

set -euo pipefail
cd "$(dirname "$0")/.."

if [ -f bunfig.toml ]; then
exit 0
fi

# Check sources in priority order
if [ -n "${BUN_CONFIG_REGISTRY:-}" ]; then
REGISTRY="$BUN_CONFIG_REGISTRY"
elif command -v npm &>/dev/null; then
REGISTRY=$(npm config get registry 2>/dev/null || echo "https://registry.npmjs.org/")
else
REGISTRY="https://registry.npmjs.org/"
fi

if echo "$REGISTRY" | grep -q "registry.npmjs.org"; then
echo "Error: bun install requires an npm registry proxy on this network." >&2
echo "" >&2
echo "Fix with one of:" >&2
echo " 1. Set globally: echo 'registry=https://your-proxy.example.com/' >> ~/.npmrc" >&2
echo " 2. Set for session: BUN_CONFIG_REGISTRY=https://your-proxy.example.com/ bun install" >&2
echo " 3. Create manually: echo '[install]' > bunfig.toml && echo 'registry = \"https://your-proxy.example.com/\"' >> bunfig.toml" >&2
exit 1
fi

cat > bunfig.toml << EOF
[install]
registry = "$REGISTRY"
EOF
Loading
Loading