Skip to content

fix: change all langflow self hosted runners to github ubuntu-latest#2081

Merged
lucaseduoli merged 3 commits into
mainfrom
fix/runners
Jul 14, 2026
Merged

fix: change all langflow self hosted runners to github ubuntu-latest#2081
lucaseduoli merged 3 commits into
mainfrom
fix/runners

Conversation

@lucaseduoli

@lucaseduoli lucaseduoli commented Jul 13, 2026

Copy link
Copy Markdown
Collaborator

This pull request updates the GitHub Actions workflows to use the default ubuntu-latest runner 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:

Summary by CodeRabbit

  • Chores
    • Updated automated build and test workflows to run on standard Ubuntu-based runners.
    • Improved consistency across image builds, test execution, and end-to-end validation jobs.

@lucaseduoli
lucaseduoli requested a review from rodageve July 13, 2026 19:05
@lucaseduoli lucaseduoli self-assigned this Jul 13, 2026
@github-actions github-actions Bot added the ci ⬛ CI/CD, build, and infrastructure issues label Jul 13, 2026
@coderabbitai

coderabbitai Bot commented Jul 13, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

Walkthrough

GitHub Actions runner selectors are changed from self-hosted ARM64 labels to ubuntu-latest for the ARM64 backend image build and six CI jobs.

Changes

GitHub Actions runner migration

Layer / File(s) Summary
Image build runner selection
.github/workflows/build-multiarch.yml
The ARM64 backend matrix entry now uses ubuntu-latest.
CI job runner selection
.github/workflows/test-ci.yml
The build-images, test-suite, end-to-end, and test jobs now use ubuntu-latest runners.

Estimated code review effort: 1 (Trivial) | ~2 minutes

Possibly related PRs

Suggested labels: bug

Suggested reviewers: rodageve, edwinjosechittilappilly, zzzming, dependabot[bot], pushkala-datastax

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately summarizes the main change: migrating Langflow self-hosted CI runners to GitHub-hosted ubuntu-latest.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/runners

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@github-actions github-actions Bot added bug 🔴 Something isn't working. and removed bug 🔴 Something isn't working. labels Jul 13, 2026

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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

📥 Commits

Reviewing files that changed from the base of the PR and between 89769ff and 62f7af7.

📒 Files selected for processing (3)
  • .github/workflows/build-multiarch.yml
  • .github/workflows/nightly-build.yml
  • .github/workflows/test-ci.yml

Comment thread .github/workflows/build-multiarch.yml Outdated
@github-actions github-actions Bot added bug 🔴 Something isn't working. and removed bug 🔴 Something isn't working. labels Jul 13, 2026
@github-actions

github-actions Bot commented Jul 13, 2026

Copy link
Copy Markdown
Contributor

React Doctor found no new issues. 🎉

Reviewed by React Doctor for commit 2000f54.

@github-actions github-actions Bot added bug 🔴 Something isn't working. and removed bug 🔴 Something isn't working. labels Jul 13, 2026

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

♻️ Duplicate comments (1)
.github/workflows/build-multiarch.yml (1)

91-91: 🩺 Stability & Availability | 🟠 Major

Add ARM64 emulation or use a native ARM64 runner.

ubuntu-latest selects an x64 runner, while this matrix entry builds linux/arm64. The job only configures Buildx and does not install QEMU/binfmt, so Dockerfile.backend builds that execute target-architecture commands can fail. GitHub documents ubuntu-24.04-arm for native ARM64 jobs, and Docker’s Buildx workflow uses setup-qemu-action to support additional platforms. (docs.github.com)

Add docker/setup-qemu-action@v3 before 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

📥 Commits

Reviewing files that changed from the base of the PR and between 62f7af7 and 8c16269.

📒 Files selected for processing (1)
  • .github/workflows/build-multiarch.yml

@github-actions github-actions Bot added bug 🔴 Something isn't working. and removed bug 🔴 Something isn't working. labels Jul 13, 2026
@lucaseduoli
lucaseduoli requested a review from Wallgau July 14, 2026 12:25
@github-actions github-actions Bot added the lgtm label Jul 14, 2026
@lucaseduoli
lucaseduoli merged commit d28706a into main Jul 14, 2026
41 of 43 checks passed
@github-actions
github-actions Bot deleted the fix/runners branch July 14, 2026 12:31
Wallgau pushed a commit that referenced this pull request Jul 14, 2026
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>
Wallgau pushed a commit that referenced this pull request Jul 14, 2026
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>
Wallgau added a commit that referenced this pull request Jul 15, 2026
…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>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug 🔴 Something isn't working. ci ⬛ CI/CD, build, and infrastructure issues lgtm

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants