Skip to content

Conversation

@tobias-tengler
Copy link
Member

@tobias-tengler tobias-tengler commented Jan 9, 2026

No description provided.

@tobias-tengler tobias-tengler force-pushed the tte/fusion-upload-command branch from 25edaf9 to d4094f4 Compare January 11, 2026 16:25
@tobias-tengler tobias-tengler force-pushed the tte/fusion-upload-command branch from 7f7c30d to c2be144 Compare January 21, 2026 07:52
@tobias-tengler tobias-tengler marked this pull request as ready for review January 21, 2026 16:56
@tobias-tengler tobias-tengler force-pushed the tte/fusion-upload-command branch from d5f8887 to 13db0d3 Compare January 21, 2026 16:56
Copilot AI review requested due to automatic review settings January 21, 2026 16:56
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This pull request adds a new fusion upload command to the Nitro CLI for uploading source schemas for later composition. The PR also standardizes option naming by renaming --fusion-archive to --archive throughout the codebase and refactors composition logic for better code reuse.

Changes:

  • Adds new fusion upload command for uploading source schemas
  • Renames --fusion-archive option to --archive with backwards-compatible alias
  • Refactors composition logic into reusable helper methods
  • Updates configuration file naming from Directory.Build.props.user to Directory.Build.user.props

Reviewed changes

Copilot reviewed 26 out of 31 changed files in this pull request and generated no comments.

Show a summary per file
File Description
FusionUploadCommand.cs New command for uploading source schemas to Nitro Cloud
FusionPublishCommand.cs Major refactoring to support multiple input modes (archive, source files, source identifiers)
FusionPublishHelpers.cs Added helper methods for downloading source schemas and composition
FusionValidateCommand.cs Updated to support both archive files and source schema files
FusionComposeCommand.cs Refactored to extract reusable source schema reading logic
FusionArchiveFileOption.cs New option replacing ConfigurationFileOption with backwards-compatible alias
Various option classes New option classes for improved modularity
schema.graphql Updated with new types and mutation for upload functionality
Test files Updated to use new --archive option name
Files not reviewed (1)
  • src/Nitro/CommandLine/src/CommandLine/Properties/CommandLineResources.Designer.cs: Language not supported

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@github-actions
Copy link
Contributor

🚀 Fusion Gateway Performance Results

Simple Composite Query

Constant Load (50 VUs)

Requests/sec Error Rate
5812.38 req/s 0.00%
📊 Response Time Metrics
Min Med Max Avg P90 P95
0.81ms 7.16ms 162.14ms 8.45ms 13.04ms 19.00ms

Ramping Load (0→50→500→50 VUs)

Requests/sec Error Rate
4519.24 req/s 0.00%
📊 Response Time Metrics
Min Med Max Avg P90 P95
0.75ms 38.67ms 258.25ms 49.06ms 110.83ms 129.57ms

Executed Query

fragment User on User {
  id
  username
  name
}

fragment Review on Review {
  id
  body
}

fragment Product on Product {
  inStock
  name
  price
  shippingEstimate
  upc
  weight
}

query TestQuery {
  topProducts(first: 5) {
    ...Product
    reviews {
      ...Review
      author {
        ...User
      }
    }
  }
}

Deep Recursion Query

Constant Load (50 VUs)

Requests/sec Error Rate
271.50 req/s 0.00%
📊 Response Time Metrics
Min Med Max Avg P90 P95
12.32ms 174.23ms 619.58ms 178.71ms 224.78ms 247.52ms

Ramping Load (0→50→500→50 VUs)

Requests/sec Error Rate
305.43 req/s 0.00%
📊 Response Time Metrics
Min Med Max Avg P90 P95
3.05ms 665.15ms 1718.04ms 690.80ms 1390.62ms 1517.21ms

Executed Query

fragment User on User {
  id
  username
  name
}

fragment Review on Review {
  id
  body
}

fragment Product on Product {
  inStock
  name
  price
  shippingEstimate
  upc
  weight
}

query TestQuery {
  users {
    ...User
    reviews {
      ...Review
      product {
        ...Product
        reviews {
          ...Review
          author {
            ...User
            reviews {
              ...Review
              product {
                ...Product
              }
            }
          }
        }
      }
    }
  }
  topProducts(first: 5) {
    ...Product
    reviews {
      ...Review
      author {
        ...User
        reviews {
          ...Review
          product {
            ...Product
          }
        }
      }
    }
  }
}

Variable Batching Throughput

Constant Load (50 VUs)

Requests/sec Error Rate
23889.01 req/s 0.00%
📊 Response Time Metrics
Min Med Max Avg P90 P95
0.09ms 1.69ms 39.52ms 2.04ms 3.89ms 4.75ms

Ramping Load (0→50→500→50 VUs)

Requests/sec Error Rate
18726.68 req/s 0.00%
📊 Response Time Metrics
Min Med Max Avg P90 P95
0.09ms 9.18ms 100.62ms 11.29ms 23.36ms 28.34ms

Executed Query

query TestQuery_8f7a46ce_2(
  $__fusion_1_upc: ID!
  $__fusion_2_price: Long!
  $__fusion_2_weight: Long!
) {
  productByUpc(upc: $__fusion_1_upc) {
    inStock
    shippingEstimate(weight: $__fusion_2_weight, price: $__fusion_2_price)
  }
}

Variables (5 sets batched in single request)

[
  { "__fusion_1_upc": "1", "__fusion_2_price": 899, "__fusion_2_weight": 100 },
  { "__fusion_1_upc": "2", "__fusion_2_price": 1299, "__fusion_2_weight": 1000 },
  { "__fusion_1_upc": "3", "__fusion_2_price": 15, "__fusion_2_weight": 20 },
  { "__fusion_1_upc": "4", "__fusion_2_price": 499, "__fusion_2_weight": 100 },
  { "__fusion_1_upc": "5", "__fusion_2_price": 1299, "__fusion_2_weight": 1000 }
]

No baseline data available for comparison.


Run 21218305284 • Commit afba3ac • Wed, 21 Jan 2026 17:17:46 GMT

@tobias-tengler tobias-tengler force-pushed the tte/fusion-upload-command branch from 13db0d3 to cffabc8 Compare January 23, 2026 13:22
@github-actions
Copy link
Contributor

🚀 Fusion Gateway Performance Results

Simple Composite Query

Constant Load (50 VUs)

Requests/sec Error Rate
5865.12 req/s 0.00%
📊 Response Time Metrics
Min Med Max Avg P90 P95
0.81ms 7.14ms 161.31ms 8.37ms 13.10ms 18.80ms

Ramping Load (0→50→500→50 VUs)

Requests/sec Error Rate
4492.76 req/s 0.00%
📊 Response Time Metrics
Min Med Max Avg P90 P95
0.87ms 38.48ms 250.88ms 49.35ms 110.59ms 129.01ms

Executed Query

fragment User on User {
  id
  username
  name
}

fragment Review on Review {
  id
  body
}

fragment Product on Product {
  inStock
  name
  price
  shippingEstimate
  upc
  weight
}

query TestQuery {
  topProducts(first: 5) {
    ...Product
    reviews {
      ...Review
      author {
        ...User
      }
    }
  }
}

Deep Recursion Query

Constant Load (50 VUs)

Requests/sec Error Rate
272.06 req/s 0.00%
📊 Response Time Metrics
Min Med Max Avg P90 P95
12.57ms 173.89ms 562.89ms 178.12ms 224.19ms 245.84ms

Ramping Load (0→50→500→50 VUs)

Requests/sec Error Rate
303.89 req/s 0.00%
📊 Response Time Metrics
Min Med Max Avg P90 P95
3.04ms 691.92ms 1717.12ms 695.82ms 1380.97ms 1458.35ms

Executed Query

fragment User on User {
  id
  username
  name
}

fragment Review on Review {
  id
  body
}

fragment Product on Product {
  inStock
  name
  price
  shippingEstimate
  upc
  weight
}

query TestQuery {
  users {
    ...User
    reviews {
      ...Review
      product {
        ...Product
        reviews {
          ...Review
          author {
            ...User
            reviews {
              ...Review
              product {
                ...Product
              }
            }
          }
        }
      }
    }
  }
  topProducts(first: 5) {
    ...Product
    reviews {
      ...Review
      author {
        ...User
        reviews {
          ...Review
          product {
            ...Product
          }
        }
      }
    }
  }
}

Variable Batching Throughput

Constant Load (50 VUs)

Requests/sec Error Rate
24033.67 req/s 0.00%
📊 Response Time Metrics
Min Med Max Avg P90 P95
0.09ms 1.67ms 43.72ms 2.03ms 3.87ms 4.72ms

Ramping Load (0→50→500→50 VUs)

Requests/sec Error Rate
19118.75 req/s 0.00%
📊 Response Time Metrics
Min Med Max Avg P90 P95
0.09ms 9.02ms 103.78ms 11.08ms 22.94ms 27.86ms

Executed Query

query TestQuery_8f7a46ce_2(
  $__fusion_1_upc: ID!
  $__fusion_2_price: Long!
  $__fusion_2_weight: Long!
) {
  productByUpc(upc: $__fusion_1_upc) {
    inStock
    shippingEstimate(weight: $__fusion_2_weight, price: $__fusion_2_price)
  }
}

Variables (5 sets batched in single request)

[
  { "__fusion_1_upc": "1", "__fusion_2_price": 899, "__fusion_2_weight": 100 },
  { "__fusion_1_upc": "2", "__fusion_2_price": 1299, "__fusion_2_weight": 1000 },
  { "__fusion_1_upc": "3", "__fusion_2_price": 15, "__fusion_2_weight": 20 },
  { "__fusion_1_upc": "4", "__fusion_2_price": 499, "__fusion_2_weight": 100 },
  { "__fusion_1_upc": "5", "__fusion_2_price": 1299, "__fusion_2_weight": 1000 }
]

No baseline data available for comparison.


Run 21287643068 • Commit 90cecc2 • Fri, 23 Jan 2026 14:18:52 GMT

@tobias-tengler tobias-tengler merged commit 08adb1d into main Jan 23, 2026
116 checks passed
@tobias-tengler tobias-tengler deleted the tte/fusion-upload-command branch January 23, 2026 15:37
@codecov
Copy link

codecov bot commented Jan 23, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 0.00%. Comparing base (55b9a4c) to head (cffabc8).
⚠️ Report is 2 commits behind head on main.

Additional details and impacted files
@@     Coverage Diff      @@
##   main   #9036   +/-   ##
============================
============================

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

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