Skip to content
Open
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
2 changes: 2 additions & 0 deletions .changeset/drop-setup-command-input.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
---
---
17 changes: 8 additions & 9 deletions .github/workflows/benchmark-community-world.yml
Original file line number Diff line number Diff line change
Expand Up @@ -34,11 +34,6 @@ on:
required: false
type: string
default: 'none'
setup-command:
description: 'Setup command to run after installing the world package'
required: false
type: string
default: ''
full-suite:
description: 'Run full benchmark suite including long-running tests'
required: false
Expand Down Expand Up @@ -116,14 +111,18 @@ jobs:
WORLD_PACKAGE: ${{ inputs.world-package }}
run: pnpm --filter "$APP_NAME" add "$WORLD_PACKAGE"

- name: Run setup command
if: ${{ inputs.setup-command != '' }}
# Per-world setup. Hardcoded (not taken from the matrix) so a malicious
# fork PR cannot smuggle arbitrary shell through matrix.world.setup-command.
- name: Per-world setup
env:
Comment on lines +114 to 117
Copy link

Copilot AI Apr 22, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The step name still implies an arbitrary command is executed, but the logic is now a fixed per-world switch. Consider renaming this step (e.g., "Per-world setup") and optionally adding an if so it only runs when the world actually needs setup, to reduce log noise for the common case.

Copilot uses AI. Check for mistakes.
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Renamed to 'Per-world setup' in 9cf6b2b. Skipping the optional if-guard since the default case just echoes and the per-world-id list already lives in one place (the case statement itself).

APP_NAME: ${{ inputs.app-name }}
SETUP_COMMAND: ${{ inputs.setup-command }}
WORLD_ID: ${{ inputs.world-id }}
run: |
cd "workbench/$APP_NAME"
eval "$SETUP_COMMAND"
case "$WORLD_ID" in
turso) pnpm exec workflow-turso-setup ;;
*) echo "No setup required for $WORLD_ID" ;;
esac

- name: Resolve symlinks
env:
Expand Down
1 change: 0 additions & 1 deletion .github/workflows/benchmarks.yml
Original file line number Diff line number Diff line change
Expand Up @@ -461,7 +461,6 @@ jobs:
world-package: ${{ matrix.world.package }}
service-type: ${{ matrix.world.service-type }}
env-vars: ${{ matrix.world.env-vars }}
setup-command: ${{ matrix.world.setup-command }}
# Run full suite only when manually triggered with full_suite=true
full-suite: ${{ (github.event_name == 'workflow_dispatch' && inputs.full_suite) || contains(github.event.pull_request.labels.*.name, 'stress-test') }}
secrets: inherit
Expand Down
17 changes: 8 additions & 9 deletions .github/workflows/e2e-community-world.yml
Original file line number Diff line number Diff line change
Expand Up @@ -34,11 +34,6 @@ on:
required: false
type: string
default: 'none'
setup-command:
description: 'Setup command to run after installing the world package'
required: false
type: string
default: ''

jobs:
e2e:
Expand Down Expand Up @@ -112,14 +107,18 @@ jobs:
WORLD_PACKAGE: ${{ inputs.world-package }}
run: pnpm --filter "$APP_NAME" add "$WORLD_PACKAGE"

- name: Run setup command
if: ${{ inputs.setup-command != '' }}
# Per-world setup. Hardcoded (not taken from the matrix) so a malicious
# fork PR cannot smuggle arbitrary shell through matrix.world.setup-command.
- name: Per-world setup
env:
Comment on lines +110 to 113
Copy link

Copilot AI Apr 22, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The step name still implies an arbitrary command is executed, but the logic is now a fixed per-world switch. Consider renaming this step (e.g., "Per-world setup") and optionally adding an if so it only runs when the world actually needs setup, to reduce log noise for the common case.

Copilot uses AI. Check for mistakes.
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Renamed to 'Per-world setup' in 9cf6b2b. Skipping the optional if-guard since the default case just echoes and the per-world-id list already lives in one place (the case statement itself).

APP_NAME: ${{ inputs.app-name }}
SETUP_COMMAND: ${{ inputs.setup-command }}
WORLD_ID: ${{ inputs.world-id }}
run: |
cd "workbench/$APP_NAME"
eval "$SETUP_COMMAND"
case "$WORLD_ID" in
turso) pnpm exec workflow-turso-setup ;;
*) echo "No setup required for $WORLD_ID" ;;
esac

- name: Resolve symlinks
env:
Expand Down
1 change: 0 additions & 1 deletion .github/workflows/tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -731,7 +731,6 @@ jobs:
world-package: ${{ matrix.world.package }}
service-type: ${{ matrix.world.service-type }}
env-vars: ${{ matrix.world.env-vars }}
setup-command: ${{ matrix.world.setup-command }}
secrets: inherit

# Final job: Aggregate all E2E results and update PR comment
Expand Down
1 change: 0 additions & 1 deletion scripts/create-community-worlds-matrix.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,6 @@ const matrix = {
package: world.package,
'service-type': serviceType,
'env-vars': JSON.stringify(world.env || {}),
'setup-command': world.setup || '',
};
}),
};
Expand Down
Loading