Hacktoberfest 2026: những issue maintainer đã đánh dấu cho tháng Mười, đang mở và phù hợp người mới. Xem issue Hacktoberfest

Refactor logic out of YAML/Bash and into a TypeScript package

Đang mở
#373 5 bình luận 0 reaction 1 người được giao Xem trên GitHub

@parthasaradhie đang làm issue này rồi.

Từ ngày 25/11/2025.

  • #422 của @parthasaradhie — đang mở

Đánh giá

Issue này chưa được đánh giá.

Mô tả

area/quality area/telemetry area/tools area/workflows github_actions kind/enhancement

Description:

The action.yml currently contains significant amounts of complex logic embedded directly within bash run steps. This approach makes the action difficult to test, maintain, and debug. Refactoring this logic into a dedicated TypeScript package will improve code quality, enable proper unit testing, and enhance reusability.

Specific areas for refactoring:

  1. Input Validation Logic: The Validate Inputs step contains extensive conditional logic for validating authentication methods and input combinations. This should be moved into a TypeScript module.
  2. Gemini CLI Installation Logic: The Install Gemini CLI step handles different installation methods based on the gemini_cli_version. This logic, including npm and git operations, should be encapsulated in a TypeScript function.
  3. Gemini CLI Execution and Output Handling: The Run Gemini CLI step manages the execution of the Gemini CLI, captures its stdout/stderr, and handles error conditions. The output parsing and error reporting could be made more robust and testable in a TypeScript module.
  4. Telemetry Upload Logic: The Upload Telemetry to Google Cloud step involves Docker commands, file manipulation, and a polling mechanism. This complex sequence should be refactored into a dedicated TypeScript module for better testability and maintainability.

Acceptance Criteria:

  • All identified complex bash logic is replaced with calls to functions within a new TypeScript package.
  • The action.yml remains focused on orchestrating steps rather than implementing detailed logic.
  • A clear project structure for the TypeScript package is established (e.g., src/, dist/, package.json).
Ngôn ngữ chính
TypeScript
Star
2.1k
Fork
288
Chỉ số merge pull request
Không có pull request nào được merge trong 30 ngày

Chuẩn bị môi trường

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của google-github-actions/run-gemini-cli

Tất cả issue của google-github-actions/run-gemini-cli

Issue tương tự

Thêm issue về TypeScript

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.