Skip to content

Publish corrected browser RUM alpha packages #5

Publish corrected browser RUM alpha packages

Publish corrected browser RUM alpha packages #5

Workflow file for this run

name: Alpha Release
on:
push:
branches:
- petyosi/browser-rum-alpha-release
workflow_dispatch: {}
jobs:
publish-alpha:
runs-on: ubuntu-latest
permissions:
contents: read
environment:
name: npm
env:
CI: true
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Vite+
uses: voidzero-dev/setup-vp@v1
with:
node-version: '24'
cache: true
- name: Install dependencies
run: vp install --frozen-lockfile
- name: Build packages
run: vp run --filter "./packages/*" build
- name: Configure npm authentication
env:
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
run: |
test -n "$NPM_TOKEN" || { echo "NPM_TOKEN secret is not available"; exit 1; }
npm config set //registry.npmjs.org/:_authToken "$NPM_TOKEN"
npm whoami
- name: Publish alpha packages
run: |
set -euo pipefail
publish_alpha() {
local package_name="$1"
local package_json="$2"
local version
version="$(node -p "require('./${package_json}').version")"
if npm view "${package_name}@${version}" version >/dev/null 2>&1; then
echo "${package_name}@${version} already exists; ensuring alpha dist-tag"
npm dist-tag add "${package_name}@${version}" alpha
else
echo "Publishing ${package_name}@${version} with alpha dist-tag"
vp pm publish -r --filter "${package_name}" --access public --tag alpha --no-git-checks
fi
}
publish_alpha "@pydantic/logfire-session-replay" "packages/logfire-session-replay/package.json"
publish_alpha "@pydantic/logfire-browser" "packages/logfire-browser/package.json"
replay_version="$(node -p "require('./packages/logfire-session-replay/package.json').version")"
replay_latest="$(npm view @pydantic/logfire-session-replay dist-tags.latest --json 2>/dev/null | tr -d '"')"
if [ "$replay_latest" != "$replay_version" ]; then
echo "Moving @pydantic/logfire-session-replay latest dist-tag to the fixed alpha package; npm keeps latest on first-published packages"
npm dist-tag add "@pydantic/logfire-session-replay@${replay_version}" latest
fi
env:
NPM_CONFIG_PROVENANCE: false