NO-ISSUE: Consolidate CI setup into a single setup-dev action#682
NO-ISSUE: Consolidate CI setup into a single setup-dev action#682jhernand wants to merge 1 commit into
setup-dev action#682Conversation
Replace the separate `setup-go` and `setup-python` composite actions with a unified `setup-dev` action that provisions the full development environment: Go, Ginkgo, Python, uv, ruff, and the project-specific tools installed by `dev.py setup`. The tools downloaded by `dev.py` (currently `golangci-lint`) are now cached using `actions/cache` with a key derived from the runner OS and the hash of `dev/tools.py`. This avoids re-downloading binaries on every run while still invalidating the cache whenever tool versions or checksums change. Assisted-by: Cursor Signed-off-by: Juan Hernandez <juan.hernandez@redhat.com>
|
@jhernand: This pull request explicitly references no jira issue. DetailsIn response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository. |
|
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: jhernand The full list of commands accepted by this bot can be found here. The pull request process is described here DetailsNeeds approval from an approver in each of these files:
Approvers can indicate their approval by writing |
WalkthroughThis pull request consolidates development tool setup across the CI pipeline by expanding the ChangesCI/CD Setup Consolidation
Estimated Code Review Effort🎯 2 (Simple) | ⏱️ ~10 minutes Security Risk AssessmentRisk Severity: Low Impact Assessment:
Mitigation: The PR maintains all existing action version pinning and setup logic, reducing the risk of introducing new vulnerabilities. Ensure Possibly Related PRs
Suggested Labels
Suggested Reviewers
Caution Pre-merge checks failedPlease resolve all errors before merging. Addressing warnings is optional.
❌ Failed checks (1 error)
✅ Passed checks (10 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
|
@jhernand: The following tests failed, say
Full PR test history. Your PR dashboard. DetailsInstructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here. |
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In @.github/actions/setup-dev/action.yaml:
- Line 15: The action metadata is missing the required description field; update
the action metadata in action.yaml to include a top-level description key
alongside name (e.g., add a descriptive string under the description property)
so the metadata meets GitHub Actions schema and improves discoverability; ensure
the description succinctly explains the purpose of "Setup development tools" and
is a plain string value at the same level as name.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Repository: osac-project/coderabbit/.coderabbit.yaml
Review profile: ASSERTIVE
Plan: Enterprise
Run ID: ea468459-48e3-452b-b17e-fc54655a6d40
📒 Files selected for processing (3)
.github/actions/setup-dev/action.yaml.github/actions/setup-python/action.yaml.github/workflows/check-pull-request.yaml
💤 Files with no reviewable changes (1)
- .github/actions/setup-python/action.yaml
|
|
||
| name: Setup Go | ||
| description: Install and Go and Ginkgo | ||
| name: Setup development tools |
There was a problem hiding this comment.
Action metadata missing required description field.
The description field was removed when updating the action name. GitHub Actions metadata requires both name and description for proper documentation and discoverability. Risk: Medium – violates action metadata schema and impedes maintainability.
📝 Proposed fix
name: Setup development tools
+description: Setup Go, Python, and project-specific development tools with caching
runs:📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| name: Setup development tools | |
| name: Setup development tools | |
| description: Setup Go, Python, and project-specific development tools with caching | |
| runs: |
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In @.github/actions/setup-dev/action.yaml at line 15, The action metadata is
missing the required description field; update the action metadata in
action.yaml to include a top-level description key alongside name (e.g., add a
descriptive string under the description property) so the metadata meets GitHub
Actions schema and improves discoverability; ensure the description succinctly
explains the purpose of "Setup development tools" and is a plain string value at
the same level as name.
Source: Coding guidelines
Summary
setup-goandsetup-pythoncomposite actions with a unifiedsetup-devaction that provisions the full development environment (Go, Ginkgo, Python,uv, ruff, and project-specific tools from
dev.py setup).bin/directory containing tools downloaded bydev.pyusing a key derived fromdev/tools.py, so binaries are not re-downloaded on every CI run.Test plan
setup-devaction.dev/tools.pyis modified.Summary by CodeRabbit