Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
37 commits
Select commit Hold shift + click to select a range
671d064
feat: add basic mcp-server support to tower-cli
socksy Aug 20, 2025
55f3371
chore: switch from fenix to rust-overlay
socksy Aug 20, 2025
9364525
refactor: more declarative approach
socksy Aug 20, 2025
cfced7a
feat(mcp): add rest of functionality
socksy Aug 20, 2025
d19fed0
chore: add docs to README
socksy Aug 20, 2025
a0759a5
chore: move test file to consistentlocation
socksy Aug 20, 2025
2cbfe70
refactor(mcp): use the abstractions from rmcp properly
socksy Aug 20, 2025
45ff6fb
feat: return errors from runs in mcp-server
socksy Aug 20, 2025
7051746
feat: add Towerfile generation and manipulation tools to MCP server
socksy Aug 22, 2025
b9fdfc1
wip: wip
socksy Aug 22, 2025
e209f98
test: add BDD tests, fix local runs bug (surfaced by tests)
socksy Aug 22, 2025
055f30a
feat: add BDD integration tests for MCP server with mock API
socksy Aug 22, 2025
0487641
refactor: clean up claude's code a bit
socksy Aug 22, 2025
f9870f2
chore: remove rust cucumber & integration tests
socksy Aug 22, 2025
7f78adb
refactor: clean up more claudisms
socksy Aug 22, 2025
d10a011
chore: rename tower_run to tower_run_local
socksy Aug 22, 2025
ae43a1c
chore: return error result when result is in fact, an error
socksy Aug 22, 2025
aeae405
feat: port to SSE to get streaming logs of runs
socksy Aug 25, 2025
dd5fa8e
chore: remove timeout logic
socksy Aug 25, 2025
b1fd3b7
fix: deploying got broke
socksy Aug 25, 2025
d6113aa
chore: reintroduce error handling and ctrl-c for normal remote runs i…
socksy Aug 25, 2025
0176a92
docs: update docs on how to connect to new SSE server
socksy Aug 25, 2025
3aa7ada
refactor: extract out run completion matching to its own fn
socksy Aug 25, 2025
f0c1e15
chore: remove now unused code
socksy Aug 25, 2025
a359842
fix: make Towerfile gen fns take path param
socksy Aug 25, 2025
d2998c5
chore: hide mock-api-server into tests folder
socksy Aug 25, 2025
0270385
chore: allow passing in working_directory in mcp client
socksy Aug 25, 2025
6d8f360
fix: adapt tests to use SSE server instead of stdio
socksy Aug 25, 2025
2335960
chore: nix Nix from the CI job deps
socksy Aug 25, 2025
388f46c
fix: remove unused params from structs
socksy Aug 25, 2025
1be6605
chore: add uv lock
socksy Aug 26, 2025
1baf85b
fix: generate valid TOML for Towerfile instead of JSON-like format
socksy Aug 26, 2025
d21329f
fix: resolve MCP BDD test hanging using behave's native async support
socksy Aug 26, 2025
9bb2074
fix: getting through the broken BDD tests
socksy Aug 26, 2025
078ddbc
refactor: pass in JWTs instead of convoluted temp dir, fix test
socksy Aug 27, 2025
1343578
chore: robustify integration test
socksy Sep 1, 2025
424ffa4
chore: add pre-project suggestion to LLM
socksy Sep 1, 2025
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: 61 additions & 0 deletions .github/workflows/integration-tests.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
name: Integration Tests

on:
pull_request:
branches:
- '*'
push:
branches:
- '*'
tags-ignore:
- '**'

jobs:
integration-tests:
runs-on: ubuntu-latest

steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Install the latest version of uv
uses: astral-sh/setup-uv@v6

- name: "Set up Python"
uses: actions/setup-python@v5
with:
python-version-file: ".python-version"

- name: Build Tower CLI
run: cargo build

- name: Install Python dependencies
run: uv sync --locked --group dev

- name: Start mock API server
run: |
cd tests/mock-api-server
uv run uvicorn main:app --host 127.0.0.1 --port 8000 &
echo $! > mock_server.pid

# Wait for server to be ready
for i in {1..30}; do
if curl -f http://127.0.0.1:8000/health 2>/dev/null; then
echo "Mock server is ready"
break
fi
echo "Waiting for mock server to start... ($i/30)"
sleep 1
done

- name: Run BDD integration tests
run: |
cd tests/integration
TOWER_MOCK_API_URL=http://127.0.0.1:8000 uv run behave features/

- name: Stop mock server
if: always()
run: |
if [ -f tests/mock-api-server/mock_server.pid ]; then
kill $(cat tests/mock-api-server/mock_server.pid) || true
fi
Loading
Loading