fix: change all langflow self hosted runners to github ubuntu-latest#2081
Conversation
WalkthroughGitHub Actions runner selectors are changed from self-hosted ARM64 labels to ChangesGitHub Actions runner migration
Estimated code review effort: 1 (Trivial) | ~2 minutes Possibly related PRs
Suggested labels: Suggested reviewers: 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ 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 |
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/workflows/build-multiarch.yml:
- Around line 90-91: ARM64 matrix jobs currently target x86 hosted runners
without emulation support. In .github/workflows/build-multiarch.yml at 90-91,
105-106, 120-121, and 135-136, and .github/workflows/nightly-build.yml at
108-114, 123-129, 138-144, and 153-159, either add docker/setup-qemu-action
before the Buildx steps or switch each ARM64 job to a native ARM64 runner.
🪄 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: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
Run ID: 72709d5e-8631-4c80-b169-196ade309bea
📒 Files selected for processing (3)
.github/workflows/build-multiarch.yml.github/workflows/nightly-build.yml.github/workflows/test-ci.yml
|
React Doctor found no new issues. 🎉 Reviewed by React Doctor for commit |
There was a problem hiding this comment.
♻️ Duplicate comments (1)
.github/workflows/build-multiarch.yml (1)
91-91: 🩺 Stability & Availability | 🟠 MajorAdd ARM64 emulation or use a native ARM64 runner.
ubuntu-latestselects an x64 runner, while this matrix entry buildslinux/arm64. The job only configures Buildx and does not install QEMU/binfmt, soDockerfile.backendbuilds that execute target-architecture commands can fail. GitHub documentsubuntu-24.04-armfor native ARM64 jobs, and Docker’s Buildx workflow usessetup-qemu-actionto support additional platforms. (docs.github.com)Add
docker/setup-qemu-action@v3before Buildx for ARM64 entries, or change this selector to a native ARM64 runner.🤖 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/workflows/build-multiarch.yml at line 91, Update the ARM64 matrix entry in the workflow so it either uses the native ubuntu-24.04-arm runner or adds docker/setup-qemu-action@v3 before docker/setup-buildx-action. Ensure the linux/arm64 Dockerfile.backend build has architecture emulation available without changing other matrix entries.Source: MCP tools
🤖 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.
Duplicate comments:
In @.github/workflows/build-multiarch.yml:
- Line 91: Update the ARM64 matrix entry in the workflow so it either uses the
native ubuntu-24.04-arm runner or adds docker/setup-qemu-action@v3 before
docker/setup-buildx-action. Ensure the linux/arm64 Dockerfile.backend build has
architecture emulation available without changing other matrix entries.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
Run ID: 8800063f-e044-46ff-85bf-2c6ccb8cc088
📒 Files selected for processing (1)
.github/workflows/build-multiarch.yml
The move to ubuntu-latest runners (#2081) dropped available disk from the ~40GB self-hosted runners to ~14GB, so `docker load` of all four OpenRAG images ran out of space unpacking OpenSearch ("no space left on device"). Add a step to build-images, test-suite, and e2e-run that removes the large preinstalled toolchains these jobs never use (Android SDK, .NET, GHC, CodeQL), reclaiming ~25GB before any image build/load. Co-authored-by: Cursor <cursoragent@cursor.com>
The image cache key used only runner.os (always "Linux") plus a source hash, with no CPU arch. After the ubuntu-latest migration (#2081) the amd64 build-images job hit the cache from earlier arm64 self-hosted runs and restored/re-tagged stale arm64 images, shipping arm64 images to the amd64 test jobs (caught by the arch guard as a host/image mismatch). Add runner.arch to every image cache key so amd64 and arm64 caches never collide, forcing a native rebuild per architecture. Co-authored-by: Cursor <cursoragent@cursor.com>
…aS) (#2051) * feat: add preview-mode ingest backend with live index proof (OSS + SaaS) Introduce preview ingest plumbing so the frontend can show ingest progress and verify indexed chunks without persisting Docling layout JSON. - Add preview=true on upload router and connector sync (enabled in OSS and SaaS via is_ingest_preview_enabled; disabled on_prem) - Thread preview_mode through UploadTask, task service, and connector sync - Keep completed files in /tasks/enhanced for preview tasks (multi-file carousel) - Add GET /ingest/preview/{task_id}/index-proof to query OpenSearch live for chunk metadata (phase, text previews, embedding model/dimensions) - Track document_id on FileTask for index-proof lookups (set in Langflow and connector processors before ingest) - Wire IngestPreviewService as a stateless helper (no in-memory Docling cache) Intentionally excludes the spike's /docling endpoint and preview-only Docling options (embedded page images). Layout skeleton stays frontend-only; backend serves task phase + index proof only. Tests: API guards, index proof service, router preview threading, enhanced task serialization for preview vs normal tasks. * Address code-review findings on the preview ingest backend: - Pass the validated upload_task into IngestPreviewService instead of re-fetching from TaskService (closes preview_mode TOCTOU gap) - Add service-level preview_mode guard and map not_preview_task to 404 - Gate index-proof endpoint with require_permission(knowledge:upload) - Return per-request JSONResponse instances (no shared response object) - Sort chunks by page + numeric suffix instead of lexicographic _id - Use OpenSearch hits.total for chunk_count; expose chunks_returned and chunks_truncated when the 200-chunk cap applies - Return file_not_found (404) for unknown ?file= paths in multi-file tasks - Update Langflow processor comment for document_id threading - Expand unit tests: single-fetch regression, ordering, totals, file_not_found, document_id threading, and non-preview rejection * fix lint ruff * adding a feature of flag * address minor issues raised by Mike P * style: ruff autofix (auto) * ci: fail fast on runner/image architecture mismatch in integration suite * ci: free up runner disk space before building/loading images The move to ubuntu-latest runners (#2081) dropped available disk from the ~40GB self-hosted runners to ~14GB, so `docker load` of all four OpenRAG images ran out of space unpacking OpenSearch ("no space left on device"). Add a step to build-images, test-suite, and e2e-run that removes the large preinstalled toolchains these jobs never use (Android SDK, .NET, GHC, CodeQL), reclaiming ~25GB before any image build/load. Co-authored-by: Cursor <cursoragent@cursor.com> * ci: scope image cache keys by runner architecture The image cache key used only runner.os (always "Linux") plus a source hash, with no CPU arch. After the ubuntu-latest migration (#2081) the amd64 build-images job hit the cache from earlier arm64 self-hosted runs and restored/re-tagged stale arm64 images, shipping arm64 images to the amd64 test jobs (caught by the arch guard as a host/image mismatch). Add runner.arch to every image cache key so amd64 and arm64 caches never collide, forcing a native rebuild per architecture. Co-authored-by: Cursor <cursoragent@cursor.com> * ci: relocate Docker data-root to /mnt to fix disk exhaustion Trimming preinstalled toolchains alone did not free enough space on the small ubuntu-latest root filesystem (~30GB), so `docker load` of all four OpenRAG images still hit "no space left on device". Move Docker's data-root onto the runner's large ephemeral /mnt disk (~70GB) before building/loading images, and additionally clear swift/powershell caches and apt lists. Co-authored-by: Cursor <cursoragent@cursor.com> * fix: forward explicit preview flag from v1 ingest endpoint The public /v1/documents ingest endpoint calls upload_ingest_router directly (not through FastAPI form parsing), so Form-defaulted params must be passed explicitly. The new preview param was omitted, leaking the Form("false") sentinel into `preview.lower()` and raising AttributeError -> HTTP 500 on every SDK ingest/delete/filter call (18 sdk-python + 6 sdk-typescript failures). Pass preview="false" (preview is frontend-only; v1 SDK does not expose it) and add a regression test asserting the flag is forwarded as a string. Co-authored-by: Cursor <cursoragent@cursor.com> * revert: drop CI runner/disk/cache workflow changes Revert the arch-mismatch guard, disk cleanup, arch-scoped image cache keys, and Docker data-root relocation added in this branch. The underlying CI infrastructure issues were fixed separately in another PR, so restore scripts/ci/run_integration_suite.sh and .github/workflows/test-ci.yml to their pre-change state. Keeps the v1 preview ingest code fix. Co-authored-by: Cursor <cursoragent@cursor.com> * resolve comment 2a --------- Co-authored-by: Olfa Maslah <olfamaslah@Olfas-MacBook-Pro.local> Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com> Co-authored-by: Cursor <cursoragent@cursor.com>
This pull request updates the GitHub Actions workflows to use the default
ubuntu-latestrunner instead of self-hosted ARM64 runners for all jobs. This change affects build, test, and nightly build workflows, standardizing the environment and potentially improving reliability and maintainability.CI/CD Runner Configuration Updates:
.github/workflows/build-multiarch.yml: Changed all ARM64 job steps to useubuntu-latestinstead of custom self-hosted runners. [1] [2] [3] [4].github/workflows/nightly-build.yml: Updated all ARM64 job steps to useubuntu-latestas the runner. [1] [2] [3] [4].github/workflows/test-ci.yml: Replaced self-hosted ARM64 runner labels withubuntu-latestfor all test jobs, including E2E, integration, and result-checking steps. [1] [2] [3] [4] [5] [6]Summary by CodeRabbit