-
Notifications
You must be signed in to change notification settings - Fork 89
Add Warp on IBM Cloud docs #9231
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
WalkthroughAdds Changes
Sequence Diagram(s)sequenceDiagram
autonumber
actor Scheduler as Scheduler (CRON)
participant GH as GitHub Dispatcher
participant ProvWF as Provisioning Workflow
participant IBM as IBM Cloud
participant VM as Warp VM (cloud-init)
participant Tests as Warp Tests
participant COS as IBM COS
participant Slack as Slack Notifier
participant CleanDisp as Cleanup Dispatcher
participant CleanWF as Cleanup Workflow
Scheduler->>GH: Trigger provisioning dispatch (midnight)
GH->>ProvWF: Invoke provisioning workflow
ProvWF->>IBM: Provision VM & inject cloud-init
IBM-->>ProvWF: VM provisioned
ProvWF->>VM: cloud-init / run init scripts
VM->>Tests: Execute run_containerized_warp_on_cloud_runner.sh
Tests-->>COS: Upload logs/results
Tests-->>Slack: Post status via slack_notifier.js
Scheduler->>CleanDisp: Trigger cleanup dispatch (4 AM)
CleanDisp->>CleanWF: Invoke cleanup workflow
CleanWF->>IBM: Destroy VM/resources
IBM-->>CleanWF: Cleanup complete
CleanWF-->>Slack: Post cleanup status
Estimated code review effort🎯 1 (Trivial) | ⏱️ ~2 minutes Pre-merge checks and finishing touches✅ Passed checks (3 passed)
✨ Finishing touches🧪 Generate unit tests (beta)
📜 Recent review detailsConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro 📒 Files selected for processing (1)
🚧 Files skipped from review as they are similar to previous changes (1)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (3)
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 2
🧹 Nitpick comments (4)
docs/CI & Tests/warp-on-ibm.md (4)
45-45: Clarify JSON5 usage in code block.The code block uses JSON5 syntax (with inline comments), but the secret must be stored as plain JSON. Consider adding a note above the code block stating "Example structure (shown with comments for clarity; store as plain JSON without comments):" to avoid confusion.
287-296: Fix list indentation (optional).The unordered list items have inconsistent indentation. While readable, fixing this would align with markdown linting standards.
Apply this diff:
This cloud-init configuration automatically sets up the VM environment for Warp testing. The config includes: - - The required packages that'll be installed on the VM - - Additional setup commands - - An environment file (`warp.env`) that is used to pass env vars from GitHub to the runner (via `envsubst` variable templating) - - The 'entrypoint' (that is the last command that is run by cloud-init; in our case, the Warp scripts) +- The required packages that'll be installed on the VM +- Additional setup commands +- An environment file (`warp.env`) that is used to pass env vars from GitHub to the runner (via `envsubst` variable templating) +- The 'entrypoint' (that is the last command that is run by cloud-init; in our case, the Warp scripts)
317-321: Consider adding IBM COS log access details.The log locations are documented, but consider adding a brief note on how to access the IBM COS bucket logs (e.g., via IBM Cloud Console or AWS CLI with the configured endpoint).
337-368: Consider adding SSH connection example.The debug VM setup is well-documented, but step 4 ("SSH into the debug VM") could benefit from an actual command example, such as:
ssh -i ~/.ssh/your-private-key ubuntu@<FLOATING_IP>This would make the debugging process more actionable for someone following these steps.
📜 Review details
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (1)
docs/CI & Tests/warp-on-ibm.md(1 hunks)
🧰 Additional context used
🪛 markdownlint-cli2 (0.18.1)
docs/CI & Tests/warp-on-ibm.md
27-27: Table pipe style
Expected: leading_and_trailing; Actual: leading_only; Missing trailing pipe
(MD055, table-pipe-style)
71-71: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
293-293: Unordered list indentation
Expected: 0; Actual: 1
(MD007, ul-indent)
294-294: Unordered list indentation
Expected: 0; Actual: 1
(MD007, ul-indent)
295-295: Unordered list indentation
Expected: 0; Actual: 1
(MD007, ul-indent)
296-296: Unordered list indentation
Expected: 0; Actual: 1
(MD007, ul-indent)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (3)
- GitHub Check: Build Noobaa Image
- GitHub Check: run-jest-unit-tests
- GitHub Check: run-package-lock-validation
🔇 Additional comments (5)
docs/CI & Tests/warp-on-ibm.md (5)
62-82: Architecture overview looks good.The dispatcher pattern and component breakdown are clearly explained. The ASCII diagram effectively visualizes the flow.
84-98: Excellent timeline overview.The timeline breakdown provides clear expectations for each phase and helps understand the 4-hour window design.
99-218: Comprehensive execution flow documentation.The detailed walkthrough effectively maps the entire automation lifecycle with clear file references and timing expectations. The safety measures (auto-shutdown, tag-based cleanup) are well-documented.
298-316: Helper scripts well documented.Both scripts are clearly described with their purposes and key parameters. The file references make it easy to locate the actual implementations.
322-336: Excellent security-aware debugging documentation.The serial console access instructions are clear and the security context (no SSH by default) demonstrates good security practices. This provides a secure debugging path without compromising the production setup.
2ce6c10 to
a0d8c1a
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
🧹 Nitpick comments (1)
docs/CI & Tests/warp-on-ibm.md (1)
286-295: Consider standardizing list indentation (optional).The cloud-init configuration description is clear. The list items at lines 292-295 have a single space after the dash. While this is valid markdown, markdownlint prefers no space for consistency.
Apply this diff if you want to align with markdownlint preferences:
The config includes: - - The required packages that'll be installed on the VM - - Additional setup commands - - An environment file (`warp.env`) that is used to pass env vars from GitHub to the runner (via `envsubst` variable templating) - - The 'entrypoint' (that is the last command that is run by cloud-init; in our case, the Warp scripts) +- The required packages that'll be installed on the VM +- Additional setup commands +- An environment file (`warp.env`) that is used to pass env vars from GitHub to the runner (via `envsubst` variable templating) +- The 'entrypoint' (that is the last command that is run by cloud-init; in our case, the Warp scripts)
📜 Review details
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (1)
docs/CI & Tests/warp-on-ibm.md(1 hunks)
🧰 Additional context used
🧠 Learnings (1)
📓 Common learnings
Learnt from: Neon-White
PR: noobaa/noobaa-core#9229
File: .github/workflows/ibm-nightly-provision-dispatcher.yaml:13-13
Timestamp: 2025-09-30T08:56:55.452Z
Learning: In the noobaa-core repository, PR #9229 (nightly IBM VM provision dispatcher) has a dependency on `.github/ibm-warp-runner-config.yaml` which is provided in PR #9230, requiring PR #9230 to be merged first.
🪛 markdownlint-cli2 (0.18.1)
docs/CI & Tests/warp-on-ibm.md
71-71: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
292-292: Unordered list indentation
Expected: 0; Actual: 1
(MD007, ul-indent)
293-293: Unordered list indentation
Expected: 0; Actual: 1
(MD007, ul-indent)
294-294: Unordered list indentation
Expected: 0; Actual: 1
(MD007, ul-indent)
295-295: Unordered list indentation
Expected: 0; Actual: 1
(MD007, ul-indent)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (3)
- GitHub Check: run-package-lock-validation
- GitHub Check: run-jest-unit-tests
- GitHub Check: Build Noobaa Image
🔇 Additional comments (8)
docs/CI & Tests/warp-on-ibm.md (8)
1-15: LGTM! Clear and well-structured introduction.The table of contents and introduction provide a good overview of the automation infrastructure.
17-60: LGTM! Well-documented prerequisites and secret structures.The required secrets are clearly documented with comprehensive JSON examples and inline comments explaining each field.
62-82: LGTM! Clear architecture visualization.The component breakdown and ASCII diagram effectively communicate the dispatcher pattern and execution flow.
84-217: LGTM! Comprehensive execution flow documentation.The timeline overview and detailed phase-by-phase breakdown provide excellent traceability through the entire automation lifecycle, with clear file references and timing information.
219-284: LGTM! Accurate workflow documentation.The dispatcher pattern, cloud-init configuration, and secrets limitation are all correctly documented. The explanation of GitHub Actions' constraint on mixing
secrets: inheritwith individual secret passing is technically accurate.
297-314: LGTM! Helper scripts are well-documented.Both scripts are clearly described with their responsibilities and file locations. The Warp test parameters are consistent with the Execution Flow section.
316-319: LGTM! Log locations are clearly documented.All relevant log locations are listed, covering the GitHub Actions, VM, and cloud storage layers.
321-367: LGTM! Comprehensive debugging guidance with good security practices.The serial console access section provides a secure debugging method without compromising the production VMs. The SSH debug VM instructions are detailed and include an important cleanup reminder.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 2
📜 Review details
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (1)
docs/CI & Tests/warp-on-ibm.md(1 hunks)
🧰 Additional context used
🧠 Learnings (1)
📓 Common learnings
Learnt from: Neon-White
PR: noobaa/noobaa-core#9229
File: .github/workflows/ibm-nightly-provision-dispatcher.yaml:13-13
Timestamp: 2025-09-30T08:56:55.452Z
Learning: In the noobaa-core repository, PR #9229 (nightly IBM VM provision dispatcher) has a dependency on `.github/ibm-warp-runner-config.yaml` which is provided in PR #9230, requiring PR #9230 to be merged first.
🪛 markdownlint-cli2 (0.18.1)
docs/CI & Tests/warp-on-ibm.md
71-71: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
292-292: Unordered list indentation
Expected: 0; Actual: 1
(MD007, ul-indent)
293-293: Unordered list indentation
Expected: 0; Actual: 1
(MD007, ul-indent)
294-294: Unordered list indentation
Expected: 0; Actual: 1
(MD007, ul-indent)
295-295: Unordered list indentation
Expected: 0; Actual: 1
(MD007, ul-indent)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (3)
- GitHub Check: Build Noobaa Image
- GitHub Check: run-jest-unit-tests
- GitHub Check: run-package-lock-validation
docs/CI & Tests/warp-on-ibm.md
Outdated
| - The required packages that'll be installed on the VM | ||
| - Additional setup commands | ||
| - An environment file (`warp.env`) that is used to pass env vars from GitHub to the runner (via `envsubst` variable templating) | ||
| - The 'entrypoint' (that is the last command that is run by cloud-init; in our case, the Warp scripts) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fix bullet indentation.
The lines currently start with a leading space before the dash, tripping markdownlint (MD007). Remove the extra space so each bullet begins at column 0.
🧰 Tools
🪛 markdownlint-cli2 (0.18.1)
292-292: Unordered list indentation
Expected: 0; Actual: 1
(MD007, ul-indent)
293-293: Unordered list indentation
Expected: 0; Actual: 1
(MD007, ul-indent)
294-294: Unordered list indentation
Expected: 0; Actual: 1
(MD007, ul-indent)
295-295: Unordered list indentation
Expected: 0; Actual: 1
(MD007, ul-indent)
🤖 Prompt for AI Agents
In docs/CI & Tests/warp-on-ibm.md around lines 292 to 295, the list items have a
leading space before the dash which violates MD007; remove the extra leading
space so each bullet starts at column 0 (i.e., change " - " to "- " for each
line), save the file, and run markdownlint or preview to ensure the bullets are
correctly aligned.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM (could use some full stops at the end of sentences though).
33f7eb3 to
27c9de4
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 1
📜 Review details
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (1)
docs/CI & Tests/warp-on-ibm.md(1 hunks)
🧰 Additional context used
🧠 Learnings (1)
📓 Common learnings
Learnt from: Neon-White
PR: noobaa/noobaa-core#9229
File: .github/workflows/ibm-nightly-provision-dispatcher.yaml:13-13
Timestamp: 2025-09-30T08:56:55.478Z
Learning: In the noobaa-core repository, PR #9229 (nightly IBM VM provision dispatcher) has a dependency on `.github/ibm-warp-runner-config.yaml` which is provided in PR #9230, requiring PR #9230 to be merged first.
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (3)
- GitHub Check: Build Noobaa Image
- GitHub Check: run-package-lock-validation
- GitHub Check: run-jest-unit-tests
Signed-off-by: Ben <[email protected]>
Explain the Changes
This PR contains documentation for the code and flows added in #9229 and #9230
Summary by CodeRabbit