Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
8 changes: 0 additions & 8 deletions .changeset/config.json
Original file line number Diff line number Diff line change
Expand Up @@ -13,20 +13,12 @@
"@executor/api",
"@executor/config",
"@executor/execution",
"@executor/sdk",
"@executor/storage-file",
"@executor/host-mcp",
"@executor/codemode-core",
"@executor/ir",
"@executor/runtime-deno-subprocess",
"@executor/runtime-quickjs",
"@executor/plugin-file-secrets",
"@executor/plugin-google-discovery",
"@executor/plugin-graphql",
"@executor/plugin-keychain",
"@executor/plugin-mcp",
"@executor/plugin-onepassword",
"@executor/plugin-openapi",
"@executor/marketing"
]
}
13 changes: 13 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,12 @@ jobs:
uses: actions/setup-node@v4
with:
node-version: 24
registry-url: https://registry.npmjs.org

- name: Update npm for trusted publishing
run: |
npm install -g npm@latest
npm --version

- name: Install dependencies
run: bun install --frozen-lockfile
Expand All @@ -50,6 +56,13 @@ jobs:
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

- name: Publish @executor-js library packages
if: steps.changesets.outputs.hasChangesets == 'false'
env:
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
run: bun run release:publish:packages

- name: Detect release version change
if: steps.changesets.outputs.hasChangesets == 'false'
id: detect_release
Expand Down
26 changes: 18 additions & 8 deletions RELEASING.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
# Releasing

This repo uses Changesets for version orchestration and a custom publish script for the generated `executor` npm package plus its platform packages.
This repo uses Changesets for version orchestration and two publish paths:
the CLI (`executor` npm package plus its platform packages) and the
`@executor-js/*` library packages (`core`, `sdk`, and the public plugins).

## Normal release flow

Expand All @@ -9,12 +11,16 @@ This repo uses Changesets for version orchestration and a custom publish script
2. Merge that PR to `main`.
3. `.github/workflows/release.yml` opens or updates a `Version Packages` PR.
4. Merge the `Version Packages` PR.
5. The release workflow tags the commit and dispatches `.github/workflows/publish-executor-package.yml`.
6. The publish workflow:
- runs `bun run release:check`
- performs a full dry-run release build before publish
- publishes npm packages under the correct dist-tag
- creates or updates the GitHub release with build artifacts
5. The release workflow then does two things in parallel:
- Publishes every `@executor-js/*` library package whose current version
is not already on npm, via `bun run release:publish:packages`
(see `scripts/publish-packages.ts`).
- If `apps/cli/package.json` bumped, tags the commit and dispatches
`.github/workflows/publish-executor-package.yml`, which:
- runs `bun run release:check`
- performs a full dry-run release build before publish
- publishes the CLI npm package under the correct dist-tag
- creates or updates the GitHub release with build artifacts

## Beta releases

Expand All @@ -33,7 +39,7 @@ Beta versions publish to npm under `beta`.

## Local dry run

To build the full release payload without publishing to npm or GitHub:
To build the full CLI release payload without publishing to npm or GitHub:

- `bun run release:publish:dry-run`

Expand All @@ -42,6 +48,10 @@ That produces:
- platform archives in `apps/cli/dist`
- the packed wrapper tarball in `apps/cli/dist/release`

To pack the `@executor-js/*` library packages without publishing:

- `bun run release:publish:packages:dry-run`

## Notes

- Changesets owns the published CLI version via `apps/cli/package.json`.
Expand Down
15 changes: 6 additions & 9 deletions apps/cloud/src/services/executor.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,14 +6,8 @@ import { Effect } from "effect";

import { createExecutor } from "@executor/sdk";
import { makePgConfig, makePgKv } from "@executor/storage-postgres";
import {
openApiPlugin,
makeKvOperationStore,
} from "@executor/plugin-openapi";
import {
mcpPlugin,
makeKvBindingStore,
} from "@executor/plugin-mcp";
import { openApiPlugin, makeKvOperationStore } from "@executor/plugin-openapi";
import { mcpPlugin, makeKvBindingStore } from "@executor/plugin-mcp";
import {
googleDiscoveryPlugin,
makeKvBindingStore as makeKvGoogleDiscoveryBindingStore,
Expand Down Expand Up @@ -48,7 +42,10 @@ export const createOrgExecutor = (
bindingStore: makeKvBindingStore(kv, "mcp"),
}),
googleDiscoveryPlugin({
bindingStore: makeKvGoogleDiscoveryBindingStore(kv, "google-discovery"),
bindingStore: makeKvGoogleDiscoveryBindingStore(
kv,
"google-discovery",
),
}),
graphqlPlugin({
operationStore: makeKvGraphqlOperationStore(kv, "graphql"),
Expand Down
Loading