15 Commits

Author SHA1 Message Date
Wei Sun (Jack) 5054784b67 chore: remove internal helper scripts and clean up unused imports
Co-authored-by: Wei Sun (Jack) <weisun@google.com>
PiperOrigin-RevId: 931538760
2026-06-13 00:24:06 -07:00
Wei (Jack) Sun 7cae06e001 chore: Adopt ruff for unused-import enforcement
Merge https://github.com/google/adk-python/pull/6097

## Summary

Adopts **ruff** to enforce unused-import (F401) hygiene going forward, so dead imports are caught automatically instead of relying on IDE highlights. (The bulk one-time cleanup already landed in #6095; this is just the tooling.)

- `[tool.ruff]` in `pyproject.toml`: select `F401`, exempt `__init__.py` (intentional public re-exports), and exclude four files that hardcode `googleapis.com` URLs so cleanup doesn't trip the `check-file-contents` mTLS policy.
- ruff pre-commit hook scoped to `src/`.
- `scripts/run_precommit_checks.py` (the no-git standalone runner) learns the ruff hook, passing `--force-exclude` so excludes are honored on explicit file args.
- Pin `ruff` in the dev extra to match the hook version.

## Test plan

- [x] `ruff check src/` passes (excludes honored)
- [x] pre-commit ruff hook runs green
- [x] standalone runner check/fix modes verified

Co-authored-by: Wei Sun (Jack) <weisun@google.com>
COPYBARA_INTEGRATE_REVIEW=https://github.com/google/adk-python/pull/6097 from google:chore/adopt-ruff-f401 b0636523926d02f12af4b86cff2b1a1bb94af150
PiperOrigin-RevId: 931304052
2026-06-12 13:28:02 -07:00
Wei (Jack) Sun b170f7bdf5 chore(dev): add standalone pre-commit check script
Merge https://github.com/google/adk-python/pull/6084

## Summary

Adds `scripts/run_precommit_checks.py` to run the `.pre-commit-config.yaml` checks **without** the `pre-commit` framework, which requires a git repository and so cannot run in environments such as a piper checkout that has no `.git`.

- Parses `.pre-commit-config.yaml` so the file lists, global/per-hook `exclude` and `files` patterns, and `args` all come from the config — only the hook-id → CLI command mapping (and each hook's implicit file-type/text filter) is maintained in the script.
- Defaults to fixing in place; pass `--check` to verify only (CI behavior).
- Limits the walk to `src`/`tests`/`contributing`/`pyproject.toml` and never follows symlinks, so `.venv`, build artifacts, and out-of-repo code (e.g. a symlinked `a2a`) are never touched.
- Skips binary files for text fixers, and batches arguments to stay under the OS arg limit.
- `scripts/run_precommit.sh` is a thin wrapper that prefers an already-synced interpreter (`.venv` / active venv) before falling back to `uv run`.
- Adds the standalone lint tools to the `dev` extra (capped at the next major) so `uv sync --extra dev` provides everything the script needs.

## Test plan

- [ ] `scripts/run_precommit.sh --check` passes on a clean tree
- [ ] `scripts/run_precommit.sh` (default fix mode) does not modify binaries (images/PDFs) or `.venv`
- [ ] Runs from any directory; PATH args are repo-root-relative
- [ ] `addlicense` / `check-new-py-prefix` degrade gracefully when unavailable / git-only

Co-authored-by: Wei Sun (Jack) <weisun@google.com>
COPYBARA_INTEGRATE_REVIEW=https://github.com/google/adk-python/pull/6084 from google:chore/dev-precommit-script fa3863332f9acf824df2a3ad3b923141d7838f5d
PiperOrigin-RevId: 930799785
2026-06-11 16:27:47 -07:00
George Weale 9127febfd5 fix: remove the issue/PR analyze and fix agent workflows
Co-authored-by: George Weale <gweale@google.com>
PiperOrigin-RevId: 929277910
2026-06-09 10:37:02 -07:00
Bo Yang 04924bfb44 ci(workflows): Support running analysis on pull request comments
Enables issue analysis workflow to trigger on comments posted to pull requests. This is done by removing the `!github.event.issue.pull_request` check from the GHA issue analysis workflow definition, since GitHub models PR comments under the `issue_comment` event. The fix implementation workflow remains restricted to issues to prevent PR-on-PR loops and permission issues.

- Update scripts/run_antigravity.py to include comments and review comments in JSON payloads fetched by helper tools.
- Update adk-issue and adk-issue-analyze skills to prevent routing conflicts when /adk-issue-analyze is explicitly requested.
- Update branch validation in issue-fix workflow to fail if the agent does not successfully create and checkout fix/issue-<number>.
- Update adk-issue-fix skill branch template to match expected GHA workflow fallback pattern.

Change-Id: I34405266bb6b11cc4ad18878ef932bb46677c89d
2026-06-04 13:27:26 -07:00
Bo Yang ded6dbb55a ci(workflow): Support intermediate steps output in Antigravity runner
- Adds secure command policy to the LocalAgentConfig in scripts/run_antigravity.py
  that denies unsafe command executions and checks for shell injection.
- Allows both `gh` and `git` commands to be executed by the agent runner.
- Adds custom `fetch_github_issue` and `fetch_github_pr` Python tools to the
  Antigravity agent runner configuration, using `curl` to enable direct JSON
  metadata fetches from GitHub without requiring a configured `gh` CLI environment.
- Introduces the --show-steps CLI flag to scripts/run_antigravity.py
  to output intermediate thoughts, tool calls, and tool results (default off).
- Updates .github/workflows/issue-analyze.yml to capture stdout from the
  runner script, run automatic triage for any user's opened issues, and post
  the report to the triggering GitHub issue as a comment via the `gh` CLI tool.
- Updates the adk-issue-analyze and adk-pr-triage skills to prefer using the
  custom `fetch_github_issue` Python tool over raw `gh` command lines, and
  strictly enforces that the issue-analyze skill is read-only and must not edit files.

Change-Id: I58a9c64f0680a56d07b9877cbcb9ffe027afeee2
2026-06-03 16:10:34 -07:00
Bo Yang b0f4b917be ci(workflow): Run issue analysis using Antigravity Python SDK
Installs the public google-antigravity SDK via pip and executes a runner
python script scripts/run_antigravity.py to run any antigravity prompts.
This replaces the Node-based @google/antigravity CLI tool, and allows general
executions via Python.

Change-Id: Iade60816b4613567e261934a46285d7933adfc00
2026-06-03 14:54:47 -07:00
Sasha Sobran 162279358c chore: switch main to v2.0.0 GA (transition to v2)
Co-authored-by: Bo Yang <ybo@google.com>
Co-authored-by: Wei Sun (Jack) <weisun@google.com>
Co-authored-by: George Weale <gweale@google.com>
Co-authored-by: Swapnil Agarwal <swapnilag@google.com>
Co-authored-by: Xuan Yang <xygoogle@google.com>
Co-authored-by: Shangjie Chen <deanchen@google.com>
Co-authored-by: Yifan Wang <wanyif@google.com>
Co-authored-by: Kathy Wu <wukathy@google.com>
2026-05-19 02:01:33 +00:00
Shangjie Chen c6d02c8198 chore: Format contributing folder using pre-commit
Co-authored-by: Shangjie Chen <deanchen@google.com>
PiperOrigin-RevId: 904672556
2026-04-23 15:44:03 -07:00
Divyansh Shukla b3fcd8a21f feat: Add ability to run individual unit tests to unittests.sh
PiperOrigin-RevId: 888314229
2026-03-23 15:38:23 -07:00
Divyansh Shukla e6476c9790 fix: Prevent uv.lock modifications in unittests.sh
PiperOrigin-RevId: 884597343
2026-03-16 13:01:15 -07:00
Divyansh Shukla 6f6fd955f6 fix: Fix IDE hangs by moving test venv and cache to /tmp
PiperOrigin-RevId: 882270600
2026-03-11 17:04:24 -07:00
Liang Wu 845818be44 ci: only use --extra test for unit tests
This can fix unit test github action error by removing `--extra eval`. `--extra a2a` is not needed because it's included in `test`. All tests are still passing.

Co-authored-by: Liang Wu <wuliang@google.com>
PiperOrigin-RevId: 869014318
2026-02-11 21:39:48 -08:00
Liang Wu 025b42c836 chore: Add unittests.sh script and update CONTRIBUTING.md
This change introduces a new `unittests.sh` script to simplify running unit tests. The script automatically sets up a minimal test environment, runs `pytest`, and then restores the previous development environment. The CONTRIBUTING.md has been updated to include instructions on using this new script.

Co-authored-by: Liang Wu <wuliang@google.com>
PiperOrigin-RevId: 860222798
2026-01-23 13:01:06 -08:00
Dongyu Jia 338c3c89c6 fix: Add example and fix for loading and upgrading old ADK session databases
This change introduces a sample (`migration_session_db`) demonstrating how to load a session database created with an older version of ADK (e.g., 1.15.0) and make it compatible with the current version. It includes a script (`db_migration.sh`) to alter the SQLite schema automatically. to_event is updated to handle potential discrepancies in pickled `EventActions` by using `model_copy` to ensure compatibility with the latest `EventActions` model definition.

Related to #3272 #3197, Closes #3197 #3272

Co-authored-by: Dongyu Jia <dongyuj@google.com>
PiperOrigin-RevId: 826524368
2025-10-31 09:47:53 -07:00