Files
Ivan Cheung 4f74c1c091 PR and Regression testing for Go snippets (#973)
* Added pr checks and regression test code

* Added github workflows and go.mod/go.sum

* Added comments to files_to_test.txt

* Moved check_go_snippets.sh

* Fixed issues with workflows

* Removed unneeded workflow

* Revert bad change

* Added runner tests

* Added README

* refactor(go-snippets): Unify Go module structure and dynamically update ADK dependency

Consolidate all Go snippet module dependencies to a single  file located at . This simplifies dependency management and ensures consistent versions across all Go examples.

Update Usage: tools/go-snippets/runner.sh <build|run> [file1 file2 ...] to dynamically fetch the latest  module () before running any builds or tests. This ensures that PR and regression checks always validate against the most recent ADK release, preventing outdated dependency issues.

Address breaking changes in  by removing the  initialization from , which is no longer available.

Cleaned up extraneous  and  files from subdirectories within , as well as the unused  file.

* feat(go-snippets): Reinforce strict `files_to_test.txt` adherence

Reverts previous attempts to infer Go snippet dependencies and clarifies the strict testing model.

- **`runner.sh`**: Restores `find_snippet_line` to rely on exact substring matching of changed files within `files_to_test.txt` lines. Adds `go get` exit code check.
- **`tools/go-snippets/README.md`**: Adds "Understanding the Test Runner" section detailing `files_to_test.txt` adherence, multi-file `package main` requirements, and `_test.go` file handling.
- **`runner_test.sh`**: Adds `test_find_snippet_line_multi_file_match` to verify correct behavior for multi-file snippets listed on a single line.

---------

Co-authored-by: ivanmkc <ivanmkc@google.com>
2025-12-03 14:32:21 -05:00
..