Skip to content

[Nitro CLI] Download latest fusion archive version if extension is not .fgp#9174

Merged
tobias-tengler merged 3 commits intomainfrom
tte/download-latest-fusion-config
Mar 3, 2026
Merged

[Nitro CLI] Download latest fusion archive version if extension is not .fgp#9174
tobias-tengler merged 3 commits intomainfrom
tte/download-latest-fusion-config

Conversation

@tobias-tengler
Copy link
Copy Markdown
Member

No description provided.

Copilot AI review requested due to automatic review settings February 22, 2026 10:22
Copy link
Copy Markdown
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 PR updates Nitro CLI’s fusion configuration download flow to support downloading the latest fusion archive format when the requested output is not a .fgp, and removes the now-unused GraphQL operation that previously provided a downloadUrl.

Changes:

  • Switch DownloadLatestFusionArchiveAsync from a StrawberryShake GraphQL lookup to a direct REST download endpoint, with an isFgp switch to request FAR output when needed.
  • Update fusion commands to pass the new isFgp argument and change fusion download default output to gateway.far.
  • Remove the FetchConfiguration GraphQL operation and update persisted operations accordingly.

Reviewed changes

Copilot reviewed 5 out of 7 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
src/Nitro/CommandLine/src/CommandLine/persisted/operations.json Removes the persisted FetchConfiguration operation entry after GraphQL removal.
src/Nitro/CommandLine/src/CommandLine/Commands/Fusion/FusionValidateCommand.cs Updates callsite to new DownloadLatestFusionArchiveAsync signature.
src/Nitro/CommandLine/src/CommandLine/Commands/Fusion/FusionPublishHelpers.cs Reworks latest configuration download to REST endpoint and adds request builder.
src/Nitro/CommandLine/src/CommandLine/Commands/Fusion/FusionPublishCommand.cs Updates callsite to new helper signature.
src/Nitro/CommandLine/src/CommandLine/Commands/Fusion/FusionDownloadCommand.graphql Removes obsolete GraphQL query used to fetch downloadUrl.
src/Nitro/CommandLine/src/CommandLine/Commands/Fusion/FusionDownloadCommand.cs Defaults to .far output and infers isFgp from output extension.

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

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Feb 22, 2026

Fusion Gateway Performance Results

Simple Composite Query

Req/s Err%
Constant (50 VUs) 6888.00 0.00%
Ramping (0-500-0 VUs) 7382.08 0.00%
Response Times & Query
Min Med Avg P90 P95 Max
Constant 0.56ms 5.99ms 7.12ms 11.00ms 15.60ms 177.36ms
Ramping 0.57ms 24.70ms 29.87ms 62.63ms 74.78ms 191.11ms
query TestQuery {
  topProducts(first: 5) {
    inStock
    name
    price
    shippingEstimate
    upc
    weight
    reviews {
      id
      body
      author {
        id
        username
        name
      }
    }
  }
}

Deep Recursion Query

Req/s Err%
Constant (50 VUs) 1293.67 0.00%
Ramping (0-500-0 VUs) 1350.72 0.00%
Response Times & Query
Min Med Avg P90 P95 Max
Constant 4.16ms 33.55ms 37.54ms 50.97ms 60.87ms 432.07ms
Ramping 1.88ms 131.41ms 156.94ms 337.42ms 385.45ms 677.08ms
query TestQuery {
  users {
    id
    username
    name
    reviews {
      id
      body
      product {
        inStock
        name
        price
        shippingEstimate
        upc
        weight
        reviews {
          id
          body
          author {
            id
            username
            name
            reviews {
              id
              body
              product {
                inStock
                name
                price
                shippingEstimate
                upc
                weight
              }
            }
          }
        }
      }
    }
  }
  topProducts(first: 5) {
    inStock
    name
    price
    shippingEstimate
    upc
    weight
    reviews {
      id
      body
      author {
        id
        username
        name
        reviews {
          id
          body
          product {
            inStock
            name
            price
            shippingEstimate
            upc
            weight
          }
        }
      }
    }
  }
}

Variable Batching Throughput

Req/s Err%
Constant (50 VUs) 23687.51 0.00%
Ramping (0-500-0 VUs) 18482.43 0.00%
Response Times & Query
Min Med Avg P90 P95 Max
Constant 0.08ms 1.72ms 2.06ms 3.96ms 4.80ms 50.08ms
Ramping 0.08ms 9.41ms 11.43ms 23.57ms 28.30ms 107.88ms
query TestQuery($upc: ID!, $price: Long!, $weight: Long!) {
  productByUpc(upc: $upc) {
    inStock
    shippingEstimate(weight: $weight, price: $price)
  }
}

Variables (5 sets batched per request)

[
  { "upc": "1", "price": 899, "weight": 100 },
  { "upc": "2", "price": 1299, "weight": 1000 },
  { "upc": "3", "price": 15, "weight": 20 },
  { "upc": "4", "price": 499, "weight": 100 },
  { "upc": "5", "price": 1299, "weight": 1000 }
]

Run 22387619953 • Commit 293dd4e • Wed, 25 Feb 2026 08:24:37 GMT

@tobias-tengler tobias-tengler merged commit c7f866c into main Mar 3, 2026
117 checks passed
@tobias-tengler tobias-tengler deleted the tte/download-latest-fusion-config branch March 3, 2026 12:25
@codecov
Copy link
Copy Markdown

codecov Bot commented Mar 3, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 0.00%. Comparing base (797873b) to head (21f8973).
⚠️ Report is 63 commits behind head on main.

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

☔ 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