Conversation
WalkthroughUpdated devcontainer comment hash, hardened the non-Windows UV installer curl call with timeouts/retries, added multiple dependency/version keys to the template/runtime context, and inserted a workflow step that prints the full GitHub Actions Changes
Sequence Diagram(s)sequenceDiagram
autonumber
actor Dev as Developer
participant GH as GitHub Actions Runner
participant Show as "Display full GitHub context"
participant Checkout as "Checkout code"
Dev->>GH: Trigger get-values workflow
GH->>Show: Run step -> toJSON(github)
Note right of Show #E8F5E9: Prints full `github` context JSON
Show-->>GH: Step completes
GH->>Checkout: Run checkout step
Checkout-->>GH: Repository checked out
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes Possibly related PRs
Poem
Pre-merge checks and finishing touches❌ Failed checks (1 warning)
✅ Passed checks (2 passed)
✨ Finishing touches
🧪 Generate unit tests
📜 Recent review detailsConfiguration used: CodeRabbit UI Review profile: CHILL Plan: Pro 📒 Files selected for processing (4)
🚧 Files skipped from review as they are similar to previous changes (4)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Pull Request Overview
Improves the robustness of uv installation in CI by adding retry logic and connection parameters to prevent timeout failures. Additionally includes various version updates for Python and Node.js dependencies.
- Enhanced
uvinstallation with timeout and retry parameters to handle network issues - Added new version context variables for various dependencies
- Integrated GitHub context display for troubleshooting purposes
Reviewed Changes
Copilot reviewed 6 out of 6 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| template/extensions/context.py.jinja-base | Adds new context variables for uuid-utils and various Node.js dependencies |
| template/.github/workflows/get-values.yaml.jinja-base | Adds GitHub context display step for debugging |
| template/.devcontainer/install-ci-tooling.py.jinja-base | Enhances curl command with timeout and retry parameters |
| extensions/context.py | Updates dependency versions and adds new context variables |
| .devcontainer/install-ci-tooling.py | Applies same curl improvements as template version |
| .devcontainer/devcontainer.json | Updates hash value reflecting devcontainer changes |
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
There was a problem hiding this comment.
Actionable comments posted: 0
🧹 Nitpick comments (3)
template/.github/workflows/get-values.yaml.jinja-base (1)
27-29: Gate context dump behind an opt-in and fix capitalization.
Unconditional full-context logs can be noisy; make it opt-in via a repo variable and avoid accidental shell interpolation.- - name: Display full Github context - run: echo "${{ toJSON(github) }}" + - name: Display full GitHub context + if: ${{ vars.SHOW_GITHUB_CONTEXT == 'true' }} + run: echo '${{ toJSON(github) }}'template/.devcontainer/install-ci-tooling.py.jinja-base (1)
68-68: Harden curl retries/timeouts for fewer flaky installs; keep TLS strict.
Add conn-refused retries, a higher max-time, and enforce HTTPS protocol.- f"curl -fsSL --connect-timeout 20 --max-time 40 --retry 3 --retry-delay 5 https://astral.sh/uv/{UV_VERSION}/install.sh | sh", + f"curl -fsSL --connect-timeout 20 --max-time 180 --retry 5 --retry-delay 5 --retry-connrefused --proto '=https' https://astral.sh/uv/{UV_VERSION}/install.sh | sh",Optional follow-up: mirror similar retry logic for the Windows PowerShell path (
install.ps1) for parity..devcontainer/install-ci-tooling.py (1)
55-55: Same resiliency improvements recommended here.
Align flags with the template to reduce CI flakes.- f"curl -fsSL --connect-timeout 20 --max-time 40 --retry 3 --retry-delay 5 https://astral.sh/uv/{UV_VERSION}/install.sh | sh", + f"curl -fsSL --connect-timeout 20 --max-time 180 --retry 5 --retry-delay 5 --retry-connrefused --proto '=https' https://astral.sh/uv/{UV_VERSION}/install.sh | sh",
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (6)
.devcontainer/devcontainer.json(1 hunks).devcontainer/install-ci-tooling.py(1 hunks)extensions/context.py(2 hunks)template/.devcontainer/install-ci-tooling.py.jinja-base(1 hunks)template/.github/workflows/get-values.yaml.jinja-base(1 hunks)template/extensions/context.py.jinja-base(2 hunks)
🔇 Additional comments (3)
.devcontainer/devcontainer.json (1)
62-62: LGTM: metadata hash update only.
No functional change; safe to merge.extensions/context.py (1)
46-46: Approve — context keys synced with template
All new version keys are present in template/extensions/context.py.jinja-base and mirrored in extensions/context.py; no drift detected.template/extensions/context.py.jinja-base (1)
41-41: Template keys in sync with runtime context — approved.
The referenced keys are present in template/extensions/context.py.jinja-base; keep them wired into generated package manifests.
Link to Issue or Message thread
#93
Why is this change necessary?
Sometimes it times out and the whole job fails
How does this change address the issue?
Adds some retry logic
What side effects does this change have?
None
How is this change tested?
This repo CI and downstream repo CI
Other
Added some context versions.
the Get Values job now displays the github context for troubleshooting
Summary by CodeRabbit
New Features
Chores