-
Notifications
You must be signed in to change notification settings - Fork 8.3k
chore: use self hosted ephemeral runner #11253
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
base: main
Are you sure you want to change the base?
Conversation
In November and periodically since we have ran into issue with runners hanging and not properly cleaning themselves up causing our CI/CD pipeline to fail due to timeout or self canceling.
|
Important Review skippedAuto incremental reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the You can disable this status message by setting the WalkthroughAll GitHub Actions workflow files have been updated to use ephemeral ARM64 runner labels by appending "-ephemeral" to the runner specification. Additional minor changes include quote style updates, environment variable removal, matrix restructuring, and whitespace cleanup. Changes
Estimated code review effort🎯 1 (Trivial) | ⏱️ ~3 minutes 🚥 Pre-merge checks | ✅ 7✅ Passed checks (7 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing touches🧪 Generate unit tests (beta)
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 |
|
Right now I only change some of the easeir options to test what happens. I will push up a commit replacing all |
Codecov Report✅ All modified and coverable lines are covered by tests. ❌ Your project check has failed because the head coverage (40.80%) is below the target coverage (60.00%). You can increase the head coverage or adjust the target coverage. Additional details and impacted files@@ Coverage Diff @@
## main #11253 +/- ##
==========================================
+ Coverage 34.12% 34.13% +0.01%
==========================================
Files 1408 1408
Lines 66770 66770
Branches 9858 9858
==========================================
+ Hits 22783 22790 +7
+ Misses 42794 42787 -7
Partials 1193 1193
Flags with carried forward coverage won't be shown. Click here to find out more. 🚀 New features to boost your workflow:
|
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)
.github/workflows/docker_test.yml (1)
17-17: LGTM! Docker test workflow updated to ephemeral runner.The runner specification is correctly updated. The actionlint warning about the unknown label is expected for custom self-hosted runners. If you want to suppress this warning, you can create an
actionlint.yamlconfiguration file in the.githubdirectory listing your custom labels.Optional: Suppress actionlint warnings for custom runner labels
Create
.github/actionlint.yamlwith your custom runner labels:self-hosted-runner: labels: - langflow-ai-arm64-40gb-ephemeral - langflow-ai-arm64-40gb - Langflow-runnerThis will help maintain cleaner static analysis output.
📜 Review details
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (8)
.github/workflows/ci.yml.github/workflows/docker-build-v2.yml.github/workflows/docker-build.yml.github/workflows/docker-nightly-build.yml.github/workflows/docker_test.yml.github/workflows/nightly_build.yml.github/workflows/python_test.yml.github/workflows/typescript_test.yml
🧰 Additional context used
🪛 actionlint (1.7.10)
.github/workflows/docker_test.yml
17-17: label "langflow-ai-arm64-40gb-ephemeral" is unknown. available labels are "windows-latest", "windows-latest-8-cores", "windows-2025", "windows-2022", "windows-11-arm", "ubuntu-slim", "ubuntu-latest", "ubuntu-latest-4-cores", "ubuntu-latest-8-cores", "ubuntu-latest-16-cores", "ubuntu-24.04", "ubuntu-24.04-arm", "ubuntu-22.04", "ubuntu-22.04-arm", "macos-latest", "macos-latest-xlarge", "macos-latest-large", "macos-26-xlarge", "macos-26", "macos-15-intel", "macos-15-xlarge", "macos-15-large", "macos-15", "macos-14-xlarge", "macos-14-large", "macos-14", "self-hosted", "x64", "arm", "arm64", "linux", "macos", "windows". if it is a custom label for self-hosted runner, set list of labels in actionlint.yaml config file
(runner-label)
.github/workflows/docker-build.yml
204-204: label "langflow-ai-arm64-40gb-ephemeral" is unknown. available labels are "windows-latest", "windows-latest-8-cores", "windows-2025", "windows-2022", "windows-11-arm", "ubuntu-slim", "ubuntu-latest", "ubuntu-latest-4-cores", "ubuntu-latest-8-cores", "ubuntu-latest-16-cores", "ubuntu-24.04", "ubuntu-24.04-arm", "ubuntu-22.04", "ubuntu-22.04-arm", "macos-latest", "macos-latest-xlarge", "macos-latest-large", "macos-26-xlarge", "macos-26", "macos-15-intel", "macos-15-xlarge", "macos-15-large", "macos-15", "macos-14-xlarge", "macos-14-large", "macos-14", "self-hosted", "x64", "arm", "arm64", "linux", "macos", "windows". if it is a custom label for self-hosted runner, set list of labels in actionlint.yaml config file
(runner-label)
291-291: label "langflow-ai-arm64-40gb-ephemeral" is unknown. available labels are "windows-latest", "windows-latest-8-cores", "windows-2025", "windows-2022", "windows-11-arm", "ubuntu-slim", "ubuntu-latest", "ubuntu-latest-4-cores", "ubuntu-latest-8-cores", "ubuntu-latest-16-cores", "ubuntu-24.04", "ubuntu-24.04-arm", "ubuntu-22.04", "ubuntu-22.04-arm", "macos-latest", "macos-latest-xlarge", "macos-latest-large", "macos-26-xlarge", "macos-26", "macos-15-intel", "macos-15-xlarge", "macos-15-large", "macos-15", "macos-14-xlarge", "macos-14-large", "macos-14", "self-hosted", "x64", "arm", "arm64", "linux", "macos", "windows". if it is a custom label for self-hosted runner, set list of labels in actionlint.yaml config file
(runner-label)
⏰ 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). (13)
- GitHub Check: Run Backend Tests / Unit Tests - Python 3.10 - Group 4
- GitHub Check: Run Backend Tests / Unit Tests - Python 3.10 - Group 1
- GitHub Check: Lint Backend / Run Mypy (3.11)
- GitHub Check: Run Backend Tests / Unit Tests - Python 3.10 - Group 3
- GitHub Check: Run Backend Tests / Unit Tests - Python 3.10 - Group 5
- GitHub Check: Run Backend Tests / Unit Tests - Python 3.10 - Group 2
- GitHub Check: Run Backend Tests / Integration Tests - Python 3.10
- GitHub Check: Run Backend Tests / LFX Tests - Python 3.10
- GitHub Check: Lint Backend / Run Mypy (3.12)
- GitHub Check: Lint Backend / Run Mypy (3.10)
- GitHub Check: Lint Backend / Run Mypy (3.13)
- GitHub Check: Run Frontend Unit Tests / Frontend Jest Unit Tests
- GitHub Check: Test Starter Templates
🔇 Additional comments (8)
.github/workflows/nightly_build.yml (1)
13-13: LGTM! Workflow dispatch option updated to ephemeral runner.The runner option for manual workflow dispatch is correctly updated to use the ephemeral variant, maintaining consistency with the broader CI migration.
.github/workflows/typescript_test.yml (1)
63-63: LGTM! TypeScript test workflow dispatch option updated.The runner option for manual workflow dispatch is correctly updated to the ephemeral variant, aligning with the infrastructure improvements across all workflows.
.github/workflows/python_test.yml (1)
46-46: LGTM! Python test workflow dispatch option updated.The runner option for manual workflow dispatch is correctly updated to use the ephemeral ARM64 runner, completing the consistent migration across all workflows in this PR.
.github/workflows/docker-build-v2.yml (1)
66-67: LGTM! Consistent ephemeral runner adoption across all build jobs.The switch to ephemeral ARM64 runners is correctly applied to all six build jobs (base, main, main-backend, main-frontend, main-ep, main-all) at lines 66-67, 152-153, 238-239, 328-329, 414-415, and 500-501. Each job properly configures the
langflow-ai-arm64-40gb-ephemeralrunner label with the correct matrix strategy for ARM64 architecture.Note: Runner registration status cannot be verified from the repository—confirm that
langflow-ai-arm64-40gb-ephemeralis registered in GitHub Actions settings before merging..github/workflows/docker-build.yml (2)
61-63: Summary inconsistency detected.The AI-generated summary states that the global env block was removed, but the code shows the env block is still present at lines 61-63 with
PYTHON_VERSION: "3.13"andTEST_TAG: "langflowai/langflow:test". The env variable is referenced at line 217, confirming it's still in use.
204-204: Ephemeral runner migration is complete.Both the
build(line 204) andbuild_components(line 291) jobs now use the ephemeral ARM64 runner labellangflow-ai-arm64-40gb-ephemeral, addressing the runner cleanup objectives..github/workflows/ci.yml (1)
61-61: Good addition of ephemeral runner option.Adding the ephemeral runner as a workflow_dispatch choice allows manual workflow runs to test with the new ephemeral infrastructure, which aligns with the PR objectives.
.github/workflows/docker-nightly-build.yml (1)
54-55: Ephemeral runner migration is correct.All three nightly build jobs have been consistently updated to use the
langflow-ai-arm64-40gb-ephemeralrunner label (lines 55, 149, 242). The changes should resolve the hanging runner cleanup issues.Ensure the
langflow-ai-arm64-40gb-ephemeralrunner label is registered in your GitHub self-hosted runner configuration before merging.
30e15ae to
73d479d
Compare
${{ inputs['runs_on'] || github.event.inputs['runs_on'] || 'ubuntu-latest' }}
In November and periodically since we have ran into issue with runners hanging and not properly cleaning themselves up causing our CI/CD pipeline to fail due to timeout or self canceling.
Summary by CodeRabbit
✏️ Tip: You can customize this high-level summary in your review settings.