github / github/vscode-github-actions
Feature: freshness indicator + one-click bump for outdated uses: action versions
- Ngôn ngữ chính
- TypeScript
- Star
- 660
- Fork
- 213
- Chỉ số merge pull request
- Không có pull request nào được merge trong 30 ngày
Mô tả
### Summary
The extension already resolves `uses: owner/repo@ref` for validation. It does not surface whether the pinned ref is the latest.
Effect: workflows quietly drift onto EOL action majors (e.g. `actions/checkout@v3` after v4 is default, `actions/upload-artifact@v3` after the v3 sunset). Users only notice on a deprecation warning in a run log, weeks later.
### Proposal
For each `uses:` line:
1. On workflow open, resolve the pinned ref against the action's releases (already an authenticated call the extension can make).
2. If a newer major/minor exists, render a subtle CodeLens above the line: `v3 -> v4 available (published 3 months ago)`.
3. Clicking the CodeLens offers a Quick Fix: rewrite `@v3` to `@v4` (or `@ # v4.1.7` if the current pin is a SHA, preserving the pin style).
4. Results cached per-action for 24h to avoid API-limit churn. Setting: `github-actions.versionCheck.enabled` (default: on) + `github-actions.versionCheck.pinStyle` (`tag` | `sha` | `preserve`, default `preserve`).
### Why this belongs in the extension
Dependabot handles it eventually, but only after a PR round-trip. Renovate/Dependabot are async, this is inline. Same latency benefit as npm-outdated inline hints in the JS ecosystem.
### Non-goals
- Not a security scanner (that is dependabot / `gh actions-secure` territory).
- Not automated PR opening.
### Related
- #592 (autocomplete for action inputs) - same "we already have action metadata loaded" muscle
- #593 (commit-pinned unresolved) - same resolution pipeline
Hướng dẫn đóng góp
Hướng nghiên cứu
Bắt đầu bằng cách theo dõi các cách sử dụng hiện có của extension: quá trình phân giải và các lệnh gọi metadata của action đã xác thực, bao gồm cả phần việc liên quan trong #592 và #593. Xác định cách các kết quả về độ mới, CodeLens, hành vi của Quick Fix, bộ nhớ đệm 24 giờ và các cài đặt github-actions.versionCheck phù hợp với pipeline đó. Hoàn tất nghĩa là các refs đã lỗi thời được hiển thị inline và có thể được cập nhật trong khi vẫn giữ nguyên kiểu pin đã cấu hình.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Đánh giá
- Công nghệ
- github-actions, typescript, vscode
- Lĩnh vực
- ci-cd, developer-experience, devtools
- Loại issue
- Tính năng
- Độ khó
- 5/5
- Thời gian dự kiến
- Hơn một tuần
- Mức độ hoạt động
- Ít trao đổi
- Độ rõ ràng
- Khá rõ ràng
- Mức phù hợp với người mới
- 45/100