Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
20 commits
Select commit Hold shift + click to select a range
100b1cc
fix(agy-acp): support .db conversation format (agy v1.0.4)
chaodu-agent Jun 2, 2026
77db26e
feat(agy-acp): read response from SQLite steps table (P1)
chaodu-agent Jun 2, 2026
c1e1124
refactor(agy-acp): deprecate line-count delta, go all-in SQLite
chaodu-agent Jun 2, 2026
be326e1
fix(agy-acp): don't fallback to full stdout on SQLite miss
chaodu-agent Jun 2, 2026
cefab85
fix(agy-acp): return error response when extraction fails
chaodu-agent Jun 2, 2026
2fd2454
chore(agy-acp): pin rusqlite to =0.31.0
chaodu-agent Jun 2, 2026
1aa32c1
fix(agy-acp): correct protobuf extraction (field 20.1) + add e2e test
Jun 2, 2026
fc52adc
fix(e2e): use GEMINI_API_KEY instead of OAuth keyring for CI
Jun 2, 2026
11e91a4
docs(agy-acp): add README with build, test, and e2e instructions
Jun 3, 2026
4c7613d
test(agy-acp): add multi-turn, session continuity, and error path e2e…
Jun 3, 2026
0e3f661
chore(agy-acp): remove deprecated auth seed script (using GEMINI_API_…
Jun 3, 2026
ab09fe9
fix(agy-acp): add schema validation + multi-step delta tests
chaodu-agent Jun 3, 2026
cf4f8ec
chore: pin agy to v1.0.4 in Dockerfile.antigravity
chaodu-agent Jun 3, 2026
08325b6
fix(ci): initialize agy config dir so GEMINI_API_KEY is recognized
Jun 3, 2026
56128ae
fix(ci): use ~/.gemini/.env for GEMINI_API_KEY (per official docs)
Jun 3, 2026
bee6f36
ci(agy-acp): run unit tests only in CI, e2e remains local-only
Jun 3, 2026
493c627
ci: rename e2e-agy-acp.yml → ci-agy-acp.yml
Jun 3, 2026
e9a1297
ci: retrigger checks
Jun 3, 2026
9d2d102
ci: trigger fresh workflow run
Jun 3, 2026
7135a16
revert(ci): revert Docker smoke test optimization (#982)
Jun 3, 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
36 changes: 36 additions & 0 deletions .github/workflows/ci-agy-acp.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
name: "CI: agy-acp"

on:
pull_request:
paths:
- "agy-acp/**"
workflow_dispatch:

env:
CARGO_TERM_COLOR: always

jobs:
ci:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6

- name: Install Rust
uses: dtolnay/rust-toolchain@stable

- name: Cache cargo
uses: actions/cache@v4
with:
path: |
~/.cargo/registry
~/.cargo/git
agy-acp/target
key: agy-acp-${{ runner.os }}-${{ hashFiles('agy-acp/Cargo.lock') }}

- name: Build
working-directory: agy-acp
run: cargo build --release

- name: Run tests
working-directory: agy-acp
run: cargo test -- --include-ignored --skip e2e
66 changes: 3 additions & 63 deletions .github/workflows/docker-smoke-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,37 +8,7 @@ on:
- 'Cargo.*'

jobs:
build-binary:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6

- name: Build openab binary (once)
run: |
mkdir -p .binaries
DOCKER_BUILDKIT=1 docker build --target builder -t openab-builder -f Dockerfile .
CID=$(docker create openab-builder)
docker cp "$CID:/build/target/release/openab" .binaries/openab
docker rm "$CID"

- name: Build agy-acp adapter (for Dockerfile.antigravity)
run: |
if [ -f Dockerfile.antigravity ]; then
DOCKER_BUILDKIT=1 docker build --target adapter-builder -t agy-acp-builder -f Dockerfile.antigravity .
CID=$(docker create agy-acp-builder)
docker cp "$CID:/build/target/release/agy-acp" .binaries/agy-acp
docker rm "$CID"
fi

- name: Upload binaries
uses: actions/upload-artifact@v4
with:
name: openab-binary
path: .binaries/
retention-days: 1

smoke-test:
needs: build-binary
strategy:
fail-fast: false
matrix:
Expand All @@ -59,39 +29,8 @@ jobs:
steps:
- uses: actions/checkout@v6

- name: Download pre-built binary
uses: actions/download-artifact@v4
with:
name: openab-binary
path: .pre-built

- name: Build image (skip Rust compilation)
run: |
chmod +x .pre-built/*
DF="${{ matrix.variant.dockerfile }}"

if grep -q "FROM rust" "$DF"; then
# Create fake builder context with pre-built binary at the expected path
mkdir -p .fake-builder/build/target/release
cp .pre-built/openab .fake-builder/build/target/release/openab

BUILD_CONTEXTS="--build-context builder=.fake-builder"

# Handle additional named Rust stages (e.g. adapter-builder)
grep -i '^FROM rust' "$DF" | sed -n 's/.*AS \([a-zA-Z0-9_-]*\).*/\1/p' | grep -v '^builder$' | while read stage; do
mkdir -p ".fake-${stage}/build/target/release"
cp .pre-built/* ".fake-${stage}/build/target/release/"
echo "--build-context ${stage}=.fake-${stage}"
done > /tmp/extra-contexts.txt

if [ -s /tmp/extra-contexts.txt ]; then
BUILD_CONTEXTS="$BUILD_CONTEXTS $(cat /tmp/extra-contexts.txt | tr '\n' ' ')"
fi

docker buildx build $BUILD_CONTEXTS -t openab-test${{ matrix.variant.suffix }} -f "$DF" .
else
docker buildx build -t openab-test${{ matrix.variant.suffix }} -f "$DF" .
fi
- name: Build image
run: docker build -t openab-test${{ matrix.variant.suffix }} -f ${{ matrix.variant.dockerfile }} .

- name: Verify openab CMD does not crash
run: |
Expand All @@ -109,6 +48,7 @@ jobs:
run: |
INIT='{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-03-26","clientCapabilities":{},"clientInfo":{"name":"ci-test","version":"0.0.1"}}}'

# Start agent in background, send init, capture output with timeout
CID=$(docker run -d -i --entrypoint sh openab-test${{ matrix.variant.suffix }} -c 'exec ${{ matrix.variant.agent }} ${{ matrix.variant.agent_args }} 2>/dev/null')
echo "$INIT" | docker attach --no-stdin=false "$CID" &
sleep 5
Expand Down
12 changes: 6 additions & 6 deletions Dockerfile.antigravity
Original file line number Diff line number Diff line change
Expand Up @@ -18,16 +18,16 @@ RUN touch src/main.rs && cargo build --release
FROM debian:bookworm-slim
RUN apt-get update && apt-get install -y --no-install-recommends ca-certificates curl procps tini unzip && rm -rf /var/lib/apt/lists/*

# Install agy (Google Antigravity CLI)
# Install agy (Google Antigravity CLI) — pinned to v1.0.4
ENV AGY_VERSION=1.0.4
RUN ARCH=$(dpkg --print-architecture) && \
case "$ARCH" in \
amd64) PLATFORM="linux_amd64" ;; \
arm64) PLATFORM="linux_arm64" ;; \
amd64) ASSET="agy_cli_linux_x64.tar.gz" ;; \
arm64) ASSET="agy_cli_linux_arm64.tar.gz" ;; \
*) echo "unsupported arch: $ARCH" && exit 1 ;; \
esac && \
MANIFEST_URL="https://antigravity-cli-auto-updater-974169037036.us-central1.run.app/manifests/${PLATFORM}.json" && \
DOWNLOAD_URL=$(curl -fsSL "$MANIFEST_URL" | grep -o '"url": *"[^"]*"' | cut -d'"' -f4) && \
curl -fsSL "$DOWNLOAD_URL" | tar -xz -C /usr/local/bin && \
curl -fsSL "https://github.com/google-antigravity/antigravity-cli/releases/download/${AGY_VERSION}/${ASSET}" \
| tar -xz -C /usr/local/bin && \
mv /usr/local/bin/antigravity /usr/local/bin/agy && \
chmod +x /usr/local/bin/agy

Expand Down
Loading
Loading