Skip to content

fix: optimize GitHub Actions runner usage#333

Merged
AlexMikhalev merged 3 commits into
mainfrom
fix/runner-configurations
Nov 20, 2025
Merged

fix: optimize GitHub Actions runner usage#333
AlexMikhalev merged 3 commits into
mainfrom
fix/runner-configurations

Conversation

@AlexMikhalev

Copy link
Copy Markdown
Contributor

Summary

Optimizes GitHub Actions workflows to use correct self-hosted runner labels and improve CI/CD efficiency.

🏃 Current Runner Status

Available Self-hosted Runners:

  • Linux: terraphim-docker-runner (labels: self-hosted, linux, x64, terraphim, production, docker)
  • macOS: Klarian-147 (labels: self-hosted, macOS, X64)

🔧 Issues Fixed

  1. Invalid Runner Labels

    • Removed non-existent bigbox label from all workflows
    • Updated to use correct [self-hosted, linux, x64] for Linux
  2. Underutilized macOS Runner

    • Configured macOS-specific jobs to use [self-hosted, macOS, X64]
    • Replaced macos-latest with self-hosted macOS runner
  3. Inefficient GitHub-hosted Runners

    • Migrated appropriate workflows from ubuntu-latest to self-hosted runners
    • Reduced dependency on GitHub-hosted infrastructure

📋 Workflows Updated

Linux Workflows (now use [self-hosted, linux, x64]):

  • ci-native.yml, ci-optimized.yml, claude-code-review.yml
  • earthly-runner.yml, frontend-build.yml, test-matrix.yml
  • vm-execution-tests.yml, python-bindings.yml
  • deploy-docs.yml, package-release.yml, docker-multiarch.yml

macOS Workflows (now use [self-hosted, macOS, X64]):

  • test-on-pr-desktop.yml (macOS jobs)
  • publish-tauri.yml (macOS builds)
  • tauri-build.yml (macOS builds)
  • release-comprehensive.yml (macOS builds)

🎯 Benefits

  • Faster CI/CD: Self-hosted runners with optimized environments
  • Cost Efficiency: Reduced GitHub-hosted runner usage
  • Better Resource Utilization: Leverages available infrastructure
  • Improved Reliability: Correct runner labels prevent job failures
  • Platform Optimization: macOS jobs use dedicated macOS runner

🧪 Testing

All runner label combinations now match available runners:

  • Linux jobs will route to terraphim-docker-runner
  • macOS jobs will route to Klarian-147
  • Windows and cross-platform jobs continue using GitHub-hosted runners

Fixes runner configuration issues causing workflow failures.

- Replace non-existent 'bigbox' label with correct Linux runner labels
- Update workflows to use [self-hosted, linux, x64] for Linux jobs
- Configure macOS workflows to use [self-hosted, macOS, X64] runner
- Migrate workflows from ubuntu-latest to self-hosted runners where appropriate
- Improve CI/CD efficiency by utilizing available self-hosted infrastructure

Runners updated:
- ci-native.yml, ci-optimized.yml, claude-code-review.yml
- earthly-runner.yml, frontend-build.yml, tauri-build.yml
- test-matrix.yml, vm-execution-tests.yml, python-bindings.yml
- deploy-docs.yml, package-release.yml, docker-multiarch.yml
- publish-tauri.yml, release-comprehensive.yml

This ensures all workflows use the correct available runners:
- Linux: terraphim-docker-runner (self-hosted, linux, x64)
- macOS: Klarian-147 (self-hosted, macOS, X64)

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread .github/workflows/python-bindings.yml Outdated
Comment on lines +116 to +120
source .venv/Scripts/activate
else
source .venv/bin/activate
fi
maturin develop --target native

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P1 Badge Remove invalid maturin target flag

maturin develop now runs with --target native, but maturin expects a full Rust target triple and there is no target named native defined in the project (.cargo/config.toml only lists explicit triples), so cargo will fail with “native is not a valid target triple” and the python-bindings test job will abort before building; the same flag is reused in the release build step, so both the test and benchmark jobs will break on every run.

Useful? React with 👍 / 👎.

@AlexMikhalev AlexMikhalev merged commit cfbf2cb into main Nov 20, 2025
20 of 50 checks passed
@AlexMikhalev AlexMikhalev deleted the fix/runner-configurations branch November 20, 2025 15:27
AlexMikhalev added a commit that referenced this pull request Apr 5, 2026
Feature-gated behind quickwit Cargo feature.
- quickwit.rs: async batched NDJSON shipper (mpsc channel + tokio background task)
- config.rs: QuickwitConfig struct with defaults (endpoint, index_id, batch_size, flush_interval)
- Cargo.toml: quickwit feature flag with optional reqwest dependency

Refs #330, #333
AlexMikhalev added a commit that referenced this pull request Apr 5, 2026
AlexMikhalev added a commit that referenced this pull request Apr 5, 2026
Feature-gated behind quickwit Cargo feature.
- quickwit.rs: async batched NDJSON shipper (mpsc channel + tokio background task)
- config.rs: QuickwitConfig struct with defaults (endpoint, index_id, batch_size, flush_interval)
- Cargo.toml: quickwit feature flag with optional reqwest dependency

Refs #330, #333
AlexMikhalev added a commit that referenced this pull request Apr 25, 2026
fix: optimize GitHub Actions runner usage
AlexMikhalev added a commit that referenced this pull request Apr 25, 2026
Feature-gated behind quickwit Cargo feature.
- quickwit.rs: async batched NDJSON shipper (mpsc channel + tokio background task)
- config.rs: QuickwitConfig struct with defaults (endpoint, index_id, batch_size, flush_interval)
- Cargo.toml: quickwit feature flag with optional reqwest dependency

Refs #330, #333
AlexMikhalev added a commit that referenced this pull request May 1, 2026
fix: optimize GitHub Actions runner usage
AlexMikhalev added a commit that referenced this pull request May 1, 2026
Feature-gated behind quickwit Cargo feature.
- quickwit.rs: async batched NDJSON shipper (mpsc channel + tokio background task)
- config.rs: QuickwitConfig struct with defaults (endpoint, index_id, batch_size, flush_interval)
- Cargo.toml: quickwit feature flag with optional reqwest dependency

Refs #330, #333
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant