Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
ba67067
Add OpenSwarm product profile env
nicko-ai May 19, 2026
5d064bb
Prepare OpenSwarm local release parity
nicko-ai May 22, 2026
b1d0f32
Tighten OpenSwarm model smoke proof
nicko-ai May 22, 2026
33b3f48
Fail when OpenSwarm TUI is unavailable
nicko-ai May 22, 2026
5793b8e
Align OpenSwarm smoke proof with local TUI
nicko-ai May 22, 2026
8d1f6b7
Fix OpenSwarm local launch parity
nicko-ai May 22, 2026
467451a
Restore OpenSwarm TUI logo
nicko-ai May 22, 2026
7efbb1f
Restore OpenSwarm wordmark logo parity
nicko-ai May 22, 2026
fc45264
Bootstrap OpenSwarm before agent imports
nicko-ai May 22, 2026
681bc2a
Use latest AgentSwarm package for OpenSwarm
nicko-ai May 22, 2026
d6ff3f8
Refresh OpenSwarm lockfile for AgentSwarm 1.4.35
nicko-ai May 23, 2026
f95b6a6
Pin AgentSwarm release dependency
nicko-ai May 23, 2026
4bee009
Build OpenSwarm arm64 release assets
nicko-ai May 23, 2026
95aefdc
Package OpenSwarm run utilities
nicko-ai May 23, 2026
4614c9e
Align Python OpenSwarm product env
nicko-ai May 23, 2026
81dae45
Use downloaded OpenSwarm TUI in Python paths
nicko-ai May 23, 2026
d732409
Require all OpenSwarm release assets
nicko-ai May 23, 2026
420596b
Publish baseline OpenSwarm TUI assets
nicko-ai May 23, 2026
f0437dd
fix: use standalone Python for OpenSwarm launch
nicko-ai May 24, 2026
a2f1502
ci: build OpenSwarm with standalone Python policy
nicko-ai May 24, 2026
e3a7f2b
fix: honor OpenSwarm TUI env override before bootstrap
nicko-ai May 24, 2026
554770f
fix: use baseline OpenSwarm TUI from Python bootstrap
nicko-ai May 24, 2026
c122b3e
fix: avoid bootstrap side effects on swarm imports
nicko-ai May 24, 2026
29118bb
fix: preserve musl launcher fallback
nicko-ai May 24, 2026
fe032c0
test: avoid launcher startup in platform smoke
nicko-ai May 24, 2026
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
61 changes: 52 additions & 9 deletions .github/workflows/build-tui.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ permissions:
contents: read

env:
AGENTSWARM_CLI_VERSION: 1.4.34
AGENTSWARM_CLI_VERSION: 1.4.35

jobs:
prepare:
Expand Down Expand Up @@ -111,15 +111,48 @@ jobs:
- os: macos-latest
platform: darwin
arch: arm64
baseline: false
asset: agentswarm-darwin-arm64
- os: macos-15-intel
platform: darwin
arch: x64
baseline: false
asset: agentswarm-darwin-x64
- os: macos-15-intel
platform: darwin
arch: x64
baseline: true
asset: agentswarm-darwin-x64-baseline
- os: ubuntu-latest
platform: linux
arch: x64
baseline: false
asset: agentswarm-linux-x64
- os: ubuntu-latest
platform: linux
arch: x64
baseline: true
asset: agentswarm-linux-x64-baseline
- os: ubuntu-24.04-arm
platform: linux
arch: arm64
baseline: false
asset: agentswarm-linux-arm64
- os: windows-latest
platform: windows
arch: x64
baseline: false
asset: agentswarm-windows-x64.exe
- os: windows-latest
platform: windows
arch: x64
baseline: true
asset: agentswarm-windows-x64-baseline.exe
- os: windows-11-arm
platform: windows
arch: arm64
baseline: false
asset: agentswarm-windows-arm64.exe

runs-on: ${{ matrix.os }}
steps:
Expand Down Expand Up @@ -151,28 +184,33 @@ jobs:
AGENTSWARM_PRODUCT_MDNS_DOMAIN: openswarm.local
AGENTSWARM_PRODUCT_STARTER_REPO: VRSEN/OpenSwarm
AGENTSWARM_PRODUCT_STARTER_FOLDER: openswarm
AGENTSWARM_PRODUCT_ENTRY_FILES: swarm.py,agency.py
AGENTSWARM_PRODUCT_ENTRY_FILES: swarm.py
AGENTSWARM_PRODUCT_SKIP_POST_AUTH_MODEL_SELECTION: "true"
AGENTSWARM_PRODUCT_TUI_LOGO_LEFT: '[" "," ██████╗ ██████╗ ███████╗███╗ ██╗","██╔═══██╗██╔══██╗██╔════╝████╗ ██║","██║ ██║██████╔╝█████╗ ██╔██╗ ██║","██║ ██║██╔═══╝ ██╔══╝ ██║╚██╗██║","╚██████╔╝██║ ███████╗██║ ╚████║"," ╚═════╝ ╚═╝ ╚══════╝╚═╝ ╚═══╝"]'
AGENTSWARM_PRODUCT_TUI_LOGO_RIGHT: '["","███████╗██╗ ██╗ █████╗ ██████╗ ███╗ ███╗","██╔════╝██║ ██║██╔══██╗██╔══██╗████╗ ████║","███████╗██║ █╗ ██║███████║██████╔╝██╔████╔██║","╚════██║██║███╗██║██╔══██║██╔══██╗██║╚██╔╝██║","███████║╚███╔███╔╝██║ ██║██║ ██║██║ ╚═╝ ██║","╚══════╝ ╚══╝╚══╝ ╚═╝ ╚═╝╚═╝ ╚═╝╚═╝ ╚═╝"]'
AGENTSWARM_PRODUCT_WORDMARK_LINES: '[""," ██████╗ ██████╗ ███████╗███╗ ██╗ ███████╗██╗ ██╗ █████╗ ██████╗ ███╗ ███╗","██╔═══██╗██╔══██╗██╔════╝████╗ ██║ ██╔════╝██║ ██║██╔══██╗██╔══██╗████╗ ████║","██║ ██║██████╔╝█████╗ ██╔██╗ ██║ ███████╗██║ █╗ ██║███████║██████╔╝██╔████╔██║","██║ ██║██╔═══╝ ██╔══╝ ██║╚██╗██║ ╚════██║██║███╗██║██╔══██╗██╔══██╗██║╚██╔╝██║","╚██████╔╝██║ ███████╗██║ ╚████║ ███████║╚███╔███╔╝██║ ██║██║ ██║██║ ╚═╝ ██║"," ╚═════╝ ╚═╝ ╚══════╝╚═╝ ╚═══╝ ╚══════╝ ╚══╝╚══╝ ╚═╝ ╚═╝╚═╝ ╚═╝╚═╝ ╚═╝"]'
AGENTSWARM_PRODUCT_PYTHON_ENVIRONMENT: standalone
AGENTSWARM_PRODUCT_VERSION: ${{ needs.prepare.outputs.release_version }}
run: bun run script/build.ts --single --skip-install
run: bun run script/build.ts --single --skip-install ${{ matrix.baseline && '--baseline' || '' }}

- name: Rename binary (Unix)
if: matrix.platform != 'windows'
run: |
mv agentswarm-cli/packages/opencode/dist/agentswarm-cli-${{ matrix.platform }}-${{ matrix.arch }}/bin/agentswarm \
agentswarm-${{ matrix.platform }}-${{ matrix.arch }}
mv agentswarm-cli/packages/opencode/dist/agentswarm-cli-${{ matrix.platform }}-${{ matrix.arch }}${{ matrix.baseline && '-baseline' || '' }}/bin/agentswarm \
${{ matrix.asset }}

- name: Rename binary (Windows)
if: matrix.platform == 'windows'
shell: pwsh
run: |
Move-Item agentswarm-cli/packages/opencode/dist/agentswarm-cli-${{ matrix.platform }}-${{ matrix.arch }}/bin/agentswarm.exe `
agentswarm-${{ matrix.platform }}-${{ matrix.arch }}.exe
Move-Item agentswarm-cli/packages/opencode/dist/agentswarm-cli-${{ matrix.platform }}-${{ matrix.arch }}${{ matrix.baseline && '-baseline' || '' }}/bin/agentswarm.exe `
${{ matrix.asset }}

- name: Upload artifact
uses: actions/upload-artifact@v4
with:
name: agentswarm-${{ matrix.platform }}-${{ matrix.arch }}
path: agentswarm-${{ matrix.platform }}-${{ matrix.arch }}${{ matrix.platform == 'windows' && '.exe' || '' }}
name: ${{ matrix.asset }}
path: ${{ matrix.asset }}
if-no-files-found: error

release:
Expand Down Expand Up @@ -285,8 +323,13 @@ jobs:
required_assets=(
agentswarm-darwin-arm64
agentswarm-darwin-x64
agentswarm-darwin-x64-baseline
agentswarm-linux-arm64
agentswarm-linux-x64
agentswarm-linux-x64-baseline
agentswarm-windows-arm64.exe
agentswarm-windows-x64.exe
agentswarm-windows-x64-baseline.exe
)

for required in "${required_assets[@]}"; do
Expand Down
48 changes: 46 additions & 2 deletions .github/workflows/live-run-mode-smoke.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,11 +29,55 @@ jobs:
- uses: actions/setup-python@v5
with:
python-version: '3.12'
- uses: actions/checkout@v4
with:
repository: VRSEN/agentswarm-cli
ref: v1.4.35
path: agentswarm-cli
- uses: oven-sh/setup-bun@v2
with:
bun-version: "1.3.13"
- name: Resolve OpenSwarm package version
id: openswarm
run: node -e "console.log('version=' + require('./package.json').version)" >> "$GITHUB_OUTPUT"
- name: Build local OpenSwarm TUI
shell: bash
working-directory: agentswarm-cli
env:
OPENCODE_CHANNEL: rc
AGENTSWARM_PRODUCT_DISPLAY_NAME: OpenSwarm
AGENTSWARM_PRODUCT_COMMAND: openswarm
AGENTSWARM_PRODUCT_PACKAGE_NAME: "@vrsen/openswarm"
AGENTSWARM_PRODUCT_LAUNCHER_PACKAGE_NAME: "@vrsen/openswarm"
AGENTSWARM_PRODUCT_RELEASE_REPO: VRSEN/OpenSwarm
AGENTSWARM_PRODUCT_DOCS_URL: https://github.com/VRSEN/OpenSwarm
AGENTSWARM_PRODUCT_ISSUE_URL: https://github.com/VRSEN/OpenSwarm/issues/new?template=bug-report.yml
AGENTSWARM_PRODUCT_MDNS_DOMAIN: openswarm.local
AGENTSWARM_PRODUCT_STARTER_REPO: VRSEN/OpenSwarm
AGENTSWARM_PRODUCT_STARTER_FOLDER: openswarm
AGENTSWARM_PRODUCT_ENTRY_FILES: swarm.py
AGENTSWARM_PRODUCT_SKIP_POST_AUTH_MODEL_SELECTION: "true"
AGENTSWARM_PRODUCT_TUI_LOGO_LEFT: '[" "," ██████╗ ██████╗ ███████╗███╗ ██╗","██╔═══██╗██╔══██╗██╔════╝████╗ ██║","██║ ██║██████╔╝█████╗ ██╔██╗ ██║","██║ ██║██╔═══╝ ██╔══╝ ██║╚██╗██║","╚██████╔╝██║ ███████╗██║ ╚████║"," ╚═════╝ ╚═╝ ╚══════╝╚═╝ ╚═══╝"]'
AGENTSWARM_PRODUCT_TUI_LOGO_RIGHT: '["","███████╗██╗ ██╗ █████╗ ██████╗ ███╗ ███╗","██╔════╝██║ ██║██╔══██╗██╔══██╗████╗ ████║","███████╗██║ █╗ ██║███████║██████╔╝██╔████╔██║","╚════██║██║███╗██║██╔══██║██╔══██╗██║╚██╔╝██║","███████║╚███╔███╔╝██║ ██║██║ ██║██║ ╚═╝ ██║","╚══════╝ ╚══╝╚══╝ ╚═╝ ╚═╝╚═╝ ╚═╝╚═╝ ╚═╝"]'
AGENTSWARM_PRODUCT_WORDMARK_LINES: '[""," ██████╗ ██████╗ ███████╗███╗ ██╗ ███████╗██╗ ██╗ █████╗ ██████╗ ███╗ ███╗","██╔═══██╗██╔══██╗██╔════╝████╗ ██║ ██╔════╝██║ ██║██╔══██╗██╔══██╗████╗ ████║","██║ ██║██████╔╝█████╗ ██╔██╗ ██║ ███████╗██║ █╗ ██║███████║██████╔╝██╔████╔██║","██║ ██║██╔═══╝ ██╔══╝ ██║╚██╗██║ ╚════██║██║███╗██║██╔══██╗██╔══██╗██║╚██╔╝██║","╚██████╔╝██║ ███████╗██║ ╚████║ ███████║╚███╔███╔╝██║ ██║██║ ██║██║ ╚═╝ ██║"," ╚═════╝ ╚═╝ ╚══════╝╚═╝ ╚═══╝ ╚══════╝ ╚══╝╚══╝ ╚═╝ ╚═╝╚═╝ ╚═╝╚═╝ ╚═╝"]'
AGENTSWARM_PRODUCT_PYTHON_ENVIRONMENT: standalone
AGENTSWARM_PRODUCT_VERSION: ${{ steps.openswarm.outputs.version }}
run: |
bun install
cd packages/opencode
bun run script/build.ts --single --skip-install
binary="$(find dist -path '*/bin/agentswarm' -type f -perm -111 | head -n 1)"
if [ -z "$binary" ]; then
echo "FAILED: built agentswarm binary not found under agentswarm-cli/packages/opencode/dist" >&2
find dist -maxdepth 4 -type f >&2
exit 1
fi
echo "OPENSWARM_TUI_BINARY=$PWD/$binary" >> "$GITHUB_ENV"
- name: Verify OpenSwarm agent roster through TUI
env:
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
run: python3 scripts/smoke-run-mode.py --source local --check agents
run: python3 scripts/smoke-run-mode.py --source local --openswarm-tui-binary "$OPENSWARM_TUI_BINARY" --check agents
- name: Verify live Agency Swarm Run-mode prompt
env:
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
run: python3 scripts/smoke-run-mode.py --source local --check prompt
run: python3 scripts/smoke-run-mode.py --source local --openswarm-tui-binary "$OPENSWARM_TUI_BINARY" --check prompt
Loading
Loading