NO-JIRA: feat(ci): add skopeo and gh CLI to ARC runner image#8627
Conversation
|
Pipeline controller notification For optional jobs, comment This repository is configured in: LGTM mode |
|
@enxebre: 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. |
WalkthroughThis pull request updates the GitHub Actions runner Dockerfile to include two additional tools. It adds Sequence Diagram(s)sequenceDiagram
participant BuildStage
participant APT
participant GitHubAPTRepo
BuildStage->>APT: apt-get install (existing deps + skopeo)
BuildStage->>GitHubAPTRepo: fetch GitHub CLI GPG key + add deb entry
BuildStage->>APT: apt-get update
BuildStage->>APT: apt-get install gh
Possibly related PRs
Suggested reviewers
Important 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 |
There was a problem hiding this comment.
Actionable comments posted: 0
🧹 Nitpick comments (1)
Dockerfile.github-actions-runner (1)
45-45: 💤 Low valueConsider adding a HEALTHCHECK instruction.
The container security guidelines require a HEALTHCHECK to be defined. While this is a pre-existing omission, adding one would improve container orchestration and health monitoring.
Example HEALTHCHECK
HEALTHCHECK --interval=30s --timeout=5s --start-period=5s --retries=3 \ CMD pgrep -x Runner.Listener || exit 1As per coding guidelines: "HEALTHCHECK defined".
🤖 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 `@Dockerfile.github-actions-runner` at line 45, Add a Docker HEALTHCHECK instruction after the USER runner line to satisfy the "HEALTHCHECK defined" guideline; implement a lightweight check that verifies the Runner process is alive (e.g., using a command that looks for the Runner.Listener process or equivalent) and configure sensible flags like --interval, --timeout, --start-period and --retries so orchestration can detect unhealthy containers.
🤖 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.
Nitpick comments:
In `@Dockerfile.github-actions-runner`:
- Line 45: Add a Docker HEALTHCHECK instruction after the USER runner line to
satisfy the "HEALTHCHECK defined" guideline; implement a lightweight check that
verifies the Runner process is alive (e.g., using a command that looks for the
Runner.Listener process or equivalent) and configure sensible flags like
--interval, --timeout, --start-period and --retries so orchestration can detect
unhealthy containers.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Repository YAML (base), Central YAML (inherited)
Review profile: CHILL
Plan: Enterprise
Run ID: d08b99c8-0a53-496f-80ee-1ef6658960e3
📒 Files selected for processing (1)
Dockerfile.github-actions-runner
|
/retest |
bryan-cox
left a comment
There was a problem hiding this comment.
Can we update the hack docs so its documented we added skopeo and gh cli?
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #8627 +/- ##
==========================================
- Coverage 45.84% 40.68% -5.17%
==========================================
Files 440 755 +315
Lines 52824 93363 +40539
==========================================
+ Hits 24218 37985 +13767
- Misses 26816 52645 +25829
- Partials 1790 2733 +943 see 315 files with indirect coverage changes
Flags with carried forward coverage won't be shown. Click here to find out more. 🚀 New features to boost your workflow:
|
These tools are needed by the CPO override validation workflow to inspect container images and query PR metadata. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
538e292 to
97ee248
Compare
|
/retest |
|
/area ci-tooling |
|
/verified later @enxebre |
|
@bryan-cox: This PR has been marked to be verified later by 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. |
|
Scheduling tests matching the |
|
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: bryan-cox, enxebre 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 |
Test Resultse2e-aws
e2e-aks
|
|
/retest |
AI Test Failure AnalysisJob: Generated by hypershift-analyze-e2e-failure post-step using Claude claude-opus-4-6 |
|
/hold Revision 97ee248 was retested 3 times: holding |
Dockerfiles contain no Go code and should not be included in coverage analysis. PRs that only modify Dockerfiles (e.g. #8627) fail patch coverage checks unnecessarily. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
@enxebre: all tests passed! 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. |
|
Now I have complete understanding of the failure. Here is the analysis: Test Failure Analysis CompleteJob Information
Test Failure AnalysisErrorSummaryThis is not a real test or code failure. The Root CauseThe root cause is a stale Codecov base comparison combined with significant
Recommendations
Evidence
|
Summary
skopeoandghCLI to the ARC runner Docker imagewanted by #8616
Test plan
skopeo inspectworks inside the runnergh pr viewworks inside the runner🤖 Generated with Claude Code
Summary by CodeRabbit