Skip to content

bifrost moves to go1.26#1651

Merged
akshaydeo merged 1 commit intomainfrom
02-14-bifrost_moves_to_go1.26
Feb 14, 2026
Merged

bifrost moves to go1.26#1651
akshaydeo merged 1 commit intomainfrom
02-14-bifrost_moves_to_go1.26

Conversation

@akshaydeo
Copy link
Contributor

@akshaydeo akshaydeo commented Feb 14, 2026

Summary

Upgrade Go version from 1.25.x to 1.26 across all GitHub workflows and project files.

Changes

  • Updated Go version from 1.25.5/1.25.7 to 1.26 in all GitHub workflow files
  • Updated Go version in Dockerfile from 1.25.5 to 1.26
  • Updated all go.mod files to specify Go 1.26
  • Updated bytedance/sonic dependency from v1.14.2 to v1.15.0
  • Updated bytedance/sonic/loader dependency from v0.4.0 to v0.5.0
  • Added a new load test script for Bifrost in .github/workflows/scripts/load-test.sh

Type of change

  • Bug fix
  • Feature
  • Refactor
  • Documentation
  • Chore/CI

Affected areas

  • Core (Go)
  • Transports (HTTP)
  • Providers/Integrations
  • Plugins
  • UI (Next.js)
  • Docs

How to test

Verify that the project builds and tests pass with Go 1.26:

# Core/Transports
go version  # Should show go version go1.26 ...
go test ./...

Breaking changes

  • Yes
  • No

Security considerations

This update includes the latest Go version which may contain security improvements.

Checklist

  • I read docs/contributing/README.md and followed the guidelines
  • I added/updated tests where appropriate
  • I updated documentation where needed
  • I verified builds succeed (Go and UI)
  • I verified the CI pipeline passes locally if applicable

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Feb 14, 2026

Caution

Review failed

The pull request is closed.

📝 Walkthrough

Summary by CodeRabbit

  • Chores

    • Upgraded Go toolchain to version 1.26 across the project and CI/CD workflows.
    • Updated dependencies to latest compatible versions for improved performance and stability.
  • Tests

    • Added comprehensive load testing script for end-to-end performance benchmarking.

Walkthrough

The PR updates the Go toolchain version from 1.25.5 to 1.26 across the entire project, including GitHub Actions workflows, Dockerfiles, and all go.mod files. Bytedance/sonic dependencies are updated from v1.14.2 to v1.15.0. A new load-testing script is introduced for end-to-end performance validation using Vegeta.

Changes

Cohort / File(s) Summary
CI/CD Workflow Updates
.github/workflows/e2e-tests.yml, .github/workflows/pr-tests.yml, .github/workflows/release-pipeline.yml, .github/workflows/snyk.yml
Updated Go setup steps across all workflows from 1.25.5 to 1.26.
Docker and Build Configuration
Makefile, transports/Dockerfile
Updated Docker base image and build targets to use golang:1.26-alpine3.22 instead of 1.25.5.
Core and Framework Modules
core/go.mod, framework/go.mod, transports/go.mod
Bumped Go version to 1.26; updated github.com/bytedance/sonic from v1.14.2 to v1.15.0 and sonic/loader from v0.4.0 to v0.5.0.
Plugin Modules
plugins/*/go.mod
Bumped Go version to 1.26 across all plugins; updated bytedance/sonic (v1.15.0) and sonic/loader (v0.5.0).
Example Modules
examples/mcps/*/go.mod, examples/plugins/*/go.mod
Updated Go version to 1.26 in all example modules.
Test Modules
tests/governance/go.mod, tests/scripts/*/go.mod
Updated Go version to 1.26 in test modules.
Load Testing Script
.github/workflows/scripts/load-test.sh
New Bash script orchestrating end-to-end load testing against bifrost-http with mocker provider; manages dependencies (Vegeta), binary builds, mock server startup, load generation (default 1000 RPS, 60s), latency bucketing with threshold validation, and generates Markdown and JSON results files with performance metrics.

Sequence Diagram

sequenceDiagram
    participant Script as Load Test Script
    participant Go as Go Build
    participant Mocker as Mock Provider
    participant BifrostHTTP as Bifrost HTTP
    participant Vegeta as Vegeta Load Gen
    participant Results as Results Reporter

    Script->>Go: Build bifrost-http binary
    Go-->>Script: Binary ready
    Script->>Mocker: Clone/update mocker repo
    Mocker-->>Script: Mocker ready
    Script->>Mocker: Start mock server (latency simulation)
    Mocker-->>Script: Server running on port
    Script->>BifrostHTTP: Start bifrost-http
    BifrostHTTP->>Mocker: Ready signal detected
    BifrostHTTP-->>Script: Service ready
    Script->>Vegeta: Execute load test (1000 RPS, 60s)
    Vegeta->>BifrostHTTP: Send requests
    BifrostHTTP->>Mocker: Forward to mock provider
    Mocker-->>BifrostHTTP: Mock responses
    BifrostHTTP-->>Vegeta: Collect responses
    Vegeta-->>Script: Binary results
    Script->>Results: Parse latency data & compute statistics
    Results->>Results: Generate Markdown table (min/mean/p50/p90/p95/p99/max)
    Results->>Results: Generate JSON report with metadata
    Results-->>Script: Results exported
    Script->>Script: Cleanup processes & temporary files
Loading

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~35 minutes

Poem

🐰 From 1.25.5 to 1.26 we leap,
With sonic speeds and dependencies deep,
A load test script born, with Vegeta's swift might,
Bifrost gets measured through benchmark's bright light,
The rabbit salutes this upgrade in stride! 🎯

✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch 02-14-bifrost_moves_to_go1.26

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

Copy link
Contributor Author

This stack of pull requests is managed by Graphite. Learn more about stacking.

@github-actions
Copy link
Contributor

🧪 Test Suite Available

This PR can be tested by a repository admin.

Run tests for PR #1651

@akshaydeo akshaydeo marked this pull request as ready for review February 14, 2026 08:35
@akshaydeo akshaydeo merged commit 7fcf6da into main Feb 14, 2026
9 of 11 checks passed
@akshaydeo akshaydeo deleted the 02-14-bifrost_moves_to_go1.26 branch February 14, 2026 08:47
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.

2 participants