Skip to content

chore: sync release and preview CI with alchemy - #836

Merged
BlankParticle merged 1 commit into
mainfrom
chore/sync-release-preview-ci
Oct 7, 2026
Merged

BlankParticle merged 1 commit into
mainfrom
chore/sync-release-preview-ci

Conversation

@BlankParticle

@BlankParticle BlankParticle commented Oct 7, 2026 •

Copy link
Copy Markdown
Member

Brings distilled's release and preview-package CI in line with alchemy's (alchemy-run/alchemy#2119, #2121, #2124), and changes how the release picks its version.

Preview packages

pr-package.yml (pkg.ing, PR_PACKAGE_TOKEN) is replaced by pkg.yml, alchemy's workflow on @alchemy.run/pkg (from npm, 2.0.0-beta.81), publishing to https://pkg.distilled.cloud.

  • No secrets or permissions: the run vouches for its manifest by uploading it as an artifact, so fork PRs get previews too.
  • PRs publish the changed packages, their dependents and the dependencies that set needs (feat(pkg): publish affected packages and their dependencies alchemy#1727); force-ci publishes everything. Pushes to main publish everything.
  • One --group '@distilled.cloud=./packages/*' covers every published package. The old hand-written list was missing about 60 SDKs.

Known cost: pkg treats pnpm-lock.yaml and tsconfig.json as global files, and adding a provider touches both, so those PRs republish every package. Unchanged packages produce identical tarballs, so the registry skips uploading them.

Release

  • prepare.ts, publish.ts and commit.sh come from alchemy. Every release publishes to latest, which latest already tracks (1.0.0-rc.13), and the force-latest and branch inputs are gone.
  • prepare.ts no longer asks npm and git tags for the next version. It reads the version every packages/*/package.json shares, fails if they differ, and bumps from it:
Spec From 1.0.0-rc.13
rc (default) 1.0.0-rc.14
rc.N, beta[.N], alpha[.N] that candidate; must be newer
patch / minor / major 1.0.0 (the rc becomes stable)
x.y.z[-rc.N] exactly that version; must be newer
anything else 0.0.0-<name>, published but not committed

The old logic released rc.13 again whenever any package was missing from npm at the latest rc. @distilled.cloud/iceberg was added after rc.13, so the next default release would have been rc.13 again instead of rc.14.

  • publish.ts still skips tarballs whose version is already on npm, so a publish job that fails partway can be re-run.
  • CI's format job runs pnpm validate:publish-packages, which checks that all packages share one version.

- Preview packages publish through @alchemy.run/pkg to pkg.distilled.cloud
  (pkg.yml), replacing pr-package.yml and PR_PACKAGE_TOKEN.
- Release uses alchemy's prepare/publish/commit scripts, without the
  force-latest and branch inputs or NPM_TOKEN.
- prepare.ts bumps from the version every package.json shares and fails
  when they differ, instead of deriving the next version from npm.
- CI checks that the packages share one version.
@alchemy-version-bot

Copy link
Copy Markdown
Contributor

Install the packages built from this commit:

@distilled.cloud

pnpm install https://pkg.distilled.cloud/@distilled.cloud/acme/pr:836:5d4aeb9
pnpm install https://pkg.distilled.cloud/@distilled.cloud/adyen/pr:836:5d4aeb9
pnpm install https://pkg.distilled.cloud/@distilled.cloud/apache-superset/pr:836:5d4aeb9
pnpm install https://pkg.distilled.cloud/@distilled.cloud/archil/pr:836:5d4aeb9
pnpm install https://pkg.distilled.cloud/@distilled.cloud/argocd/pr:836:5d4aeb9
pnpm install https://pkg.distilled.cloud/@distilled.cloud/auth0/pr:836:5d4aeb9
pnpm install https://pkg.distilled.cloud/@distilled.cloud/aws/pr:836:5d4aeb9
pnpm install https://pkg.distilled.cloud/@distilled.cloud/axiom/pr:836:5d4aeb9
pnpm install https://pkg.distilled.cloud/@distilled.cloud/azure/pr:836:5d4aeb9
pnpm install https://pkg.distilled.cloud/@distilled.cloud/boat-dev/pr:836:5d4aeb9
pnpm install https://pkg.distilled.cloud/@distilled.cloud/celld/pr:836:5d4aeb9
pnpm install https://pkg.distilled.cloud/@distilled.cloud/chronosphere/pr:836:5d4aeb9
pnpm install https://pkg.distilled.cloud/@distilled.cloud/clerk/pr:836:5d4aeb9
pnpm install https://pkg.distilled.cloud/@distilled.cloud/cloudflare/pr:836:5d4aeb9
pnpm install https://pkg.distilled.cloud/@distilled.cloud/coinbase/pr:836:5d4aeb9
pnpm install https://pkg.distilled.cloud/@distilled.cloud/coolify/pr:836:5d4aeb9
pnpm install https://pkg.distilled.cloud/@distilled.cloud/core/pr:836:5d4aeb9
pnpm install https://pkg.distilled.cloud/@distilled.cloud/customerio/pr:836:5d4aeb9
pnpm install https://pkg.distilled.cloud/@distilled.cloud/datadog/pr:836:5d4aeb9
pnpm install https://pkg.distilled.cloud/@distilled.cloud/daytona/pr:836:5d4aeb9
pnpm install https://pkg.distilled.cloud/@distilled.cloud/digitalocean/pr:836:5d4aeb9
pnpm install https://pkg.distilled.cloud/@distilled.cloud/discord/pr:836:5d4aeb9
pnpm install https://pkg.distilled.cloud/@distilled.cloud/docker/pr:836:5d4aeb9
pnpm install https://pkg.distilled.cloud/@distilled.cloud/doppler/pr:836:5d4aeb9
pnpm install https://pkg.distilled.cloud/@distilled.cloud/elasticsearch/pr:836:5d4aeb9
pnpm install https://pkg.distilled.cloud/@distilled.cloud/expo-eas/pr:836:5d4aeb9
pnpm install https://pkg.distilled.cloud/@distilled.cloud/fly-io/pr:836:5d4aeb9
pnpm install https://pkg.distilled.cloud/@distilled.cloud/forgejo/pr:836:5d4aeb9
pnpm install https://pkg.distilled.cloud/@distilled.cloud/gcp/pr:836:5d4aeb9
pnpm install https://pkg.distilled.cloud/@distilled.cloud/github/pr:836:5d4aeb9
pnpm install https://pkg.distilled.cloud/@distilled.cloud/google-workspace/pr:836:5d4aeb9
pnpm install https://pkg.distilled.cloud/@distilled.cloud/grafana/pr:836:5d4aeb9
pnpm install https://pkg.distilled.cloud/@distilled.cloud/growthbook/pr:836:5d4aeb9
pnpm install https://pkg.distilled.cloud/@distilled.cloud/gusto/pr:836:5d4aeb9
pnpm install https://pkg.distilled.cloud/@distilled.cloud/hetzner/pr:836:5d4aeb9
pnpm install https://pkg.distilled.cloud/@distilled.cloud/hostinger/pr:836:5d4aeb9
pnpm install https://pkg.distilled.cloud/@distilled.cloud/huggingface/pr:836:5d4aeb9
pnpm install https://pkg.distilled.cloud/@distilled.cloud/iceberg/pr:836:5d4aeb9
pnpm install https://pkg.distilled.cloud/@distilled.cloud/infisical/pr:836:5d4aeb9
pnpm install https://pkg.distilled.cloud/@distilled.cloud/inngest/pr:836:5d4aeb9
pnpm install https://pkg.distilled.cloud/@distilled.cloud/intercom/pr:836:5d4aeb9
pnpm install https://pkg.distilled.cloud/@distilled.cloud/kubernetes/pr:836:5d4aeb9
pnpm install https://pkg.distilled.cloud/@distilled.cloud/launchdarkly/pr:836:5d4aeb9
pnpm install https://pkg.distilled.cloud/@distilled.cloud/meilisearch/pr:836:5d4aeb9
pnpm install https://pkg.distilled.cloud/@distilled.cloud/mercury/pr:836:5d4aeb9
pnpm install https://pkg.distilled.cloud/@distilled.cloud/metabase/pr:836:5d4aeb9
pnpm install https://pkg.distilled.cloud/@distilled.cloud/modal/pr:836:5d4aeb9
pnpm install https://pkg.distilled.cloud/@distilled.cloud/modrinth/pr:836:5d4aeb9
pnpm install https://pkg.distilled.cloud/@distilled.cloud/mongodb-atlas/pr:836:5d4aeb9
pnpm install https://pkg.distilled.cloud/@distilled.cloud/neon/pr:836:5d4aeb9
pnpm install https://pkg.distilled.cloud/@distilled.cloud/okta/pr:836:5d4aeb9
pnpm install https://pkg.distilled.cloud/@distilled.cloud/onepassword/pr:836:5d4aeb9
pnpm install https://pkg.distilled.cloud/@distilled.cloud/opencode/pr:836:5d4aeb9
pnpm install https://pkg.distilled.cloud/@distilled.cloud/ovh/pr:836:5d4aeb9
pnpm install https://pkg.distilled.cloud/@distilled.cloud/paypal/pr:836:5d4aeb9
pnpm install https://pkg.distilled.cloud/@distilled.cloud/plaid/pr:836:5d4aeb9
pnpm install https://pkg.distilled.cloud/@distilled.cloud/planetscale/pr:836:5d4aeb9
pnpm install https://pkg.distilled.cloud/@distilled.cloud/polar/pr:836:5d4aeb9
pnpm install https://pkg.distilled.cloud/@distilled.cloud/porkbun/pr:836:5d4aeb9
pnpm install https://pkg.distilled.cloud/@distilled.cloud/posthog/pr:836:5d4aeb9
pnpm install https://pkg.distilled.cloud/@distilled.cloud/prisma/pr:836:5d4aeb9
pnpm install https://pkg.distilled.cloud/@distilled.cloud/railway/pr:836:5d4aeb9
pnpm install https://pkg.distilled.cloud/@distilled.cloud/redis-cloud/pr:836:5d4aeb9
pnpm install https://pkg.distilled.cloud/@distilled.cloud/remote/pr:836:5d4aeb9
pnpm install https://pkg.distilled.cloud/@distilled.cloud/render/pr:836:5d4aeb9
pnpm install https://pkg.distilled.cloud/@distilled.cloud/resend/pr:836:5d4aeb9
pnpm install https://pkg.distilled.cloud/@distilled.cloud/s2/pr:836:5d4aeb9
pnpm install https://pkg.distilled.cloud/@distilled.cloud/sentry/pr:836:5d4aeb9
pnpm install https://pkg.distilled.cloud/@distilled.cloud/slack/pr:836:5d4aeb9
pnpm install https://pkg.distilled.cloud/@distilled.cloud/spacetimedb/pr:836:5d4aeb9
pnpm install https://pkg.distilled.cloud/@distilled.cloud/squarespace/pr:836:5d4aeb9
pnpm install https://pkg.distilled.cloud/@distilled.cloud/stackit/pr:836:5d4aeb9
pnpm install https://pkg.distilled.cloud/@distilled.cloud/stripe/pr:836:5d4aeb9
pnpm install https://pkg.distilled.cloud/@distilled.cloud/supabase/pr:836:5d4aeb9
pnpm install https://pkg.distilled.cloud/@distilled.cloud/surrealdb/pr:836:5d4aeb9
pnpm install https://pkg.distilled.cloud/@distilled.cloud/temporal/pr:836:5d4aeb9
pnpm install https://pkg.distilled.cloud/@distilled.cloud/trigger-dev/pr:836:5d4aeb9
pnpm install https://pkg.distilled.cloud/@distilled.cloud/turbopuffer/pr:836:5d4aeb9
pnpm install https://pkg.distilled.cloud/@distilled.cloud/turso/pr:836:5d4aeb9
pnpm install https://pkg.distilled.cloud/@distilled.cloud/typesense/pr:836:5d4aeb9
pnpm install https://pkg.distilled.cloud/@distilled.cloud/unkey/pr:836:5d4aeb9
pnpm install https://pkg.distilled.cloud/@distilled.cloud/vanta/pr:836:5d4aeb9
pnpm install https://pkg.distilled.cloud/@distilled.cloud/vercel/pr:836:5d4aeb9
pnpm install https://pkg.distilled.cloud/@distilled.cloud/whop/pr:836:5d4aeb9
pnpm install https://pkg.distilled.cloud/@distilled.cloud/workos/pr:836:5d4aeb9
pnpm install https://pkg.distilled.cloud/@distilled.cloud/xata/pr:836:5d4aeb9
pnpm install https://pkg.distilled.cloud/@distilled.cloud/zendesk/pr:836:5d4aeb9
pnpm install https://pkg.distilled.cloud/@distilled.cloud/zerossl/pr:836:5d4aeb9

Published Oct 7, 2026, 7:20 PM UTC. Expires Oct 14, 2026, 7:20 PM UTC, extended while this pull request is open.

@BlankParticle
BlankParticle added this pull request to the merge queue Oct 7, 2026
Merged via the queue into main with commit 834dd46 Oct 7, 2026
9 checks passed
@BlankParticle
BlankParticle deleted the chore/sync-release-preview-ci branch October 7, 2026 19:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant