Documentation

Everything to ship over-the-air updates with Pulsar — from install to multi-deployment testing.

Release from CI/CD

The CLI reads PULSAR_TOKEN and PULSAR_API_URL from the environment, so there’s no interactive pulsar login in CI — set those two and run pulsar release from any shell (GitHub Actions, GitLab CI, or a plain script).

Create an API token in Settings → API tokens, store it as a secret, and expose it to the job as PULSAR_TOKEN. Set PULSAR_API_URL to https://api.usepulsar.dev.

GitHub Actions
yaml
name: Pulsar release
on:
  push:
    branches: [release]

jobs:
  release:
    runs-on: ubuntu-latest
    env:
      PULSAR_API_URL: ${{ secrets.PULSAR_API_URL }}
      PULSAR_TOKEN: ${{ secrets.PULSAR_TOKEN }}
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-node@v4
        with:
          node-version: 20
      - run: yarn install --frozen-lockfile
      - run: npm i -g @novacraft-engineering/pulsar-cli
      - run: pulsar release MyApp Staging --platform ios --target 1.0.0
GitLab CI / any shell
bash
export PULSAR_API_URL=https://api.usepulsar.dev
export PULSAR_TOKEN=$CI_PULSAR_TOKEN
npm i -g @novacraft-engineering/pulsar-cli
pulsar release MyApp Staging --platform ios --target 1.0.0