Skip to content

Prefer stable version for docs app conflicts in backport workflow#1791

Merged
TooTallNate merged 3 commits intomainfrom
backport-prefer-stable-docs
Apr 17, 2026
Merged

Prefer stable version for docs app conflicts in backport workflow#1791
TooTallNate merged 3 commits intomainfrom
backport-prefer-stable-docs

Conversation

@TooTallNate
Copy link
Copy Markdown
Member

Summary

After #1786 restored a minimal Next.js placeholder docs app on stable, docs app conflicts should resolve to the stable branch version rather than being deleted.

  • Update the cherry-pick auto-resolution in backport.yml to use git checkout --ours + git add (keep stable) for docs/* conflicts outside of docs/content/, falling back to git rm only when the file doesn't exist on stable
  • Update the opencode AI prompt to reflect the new policy
  • Update AGENTS.md to match

Only docs/content/ is actively maintained on stable (markdown bundled into npm packages via prepack scripts), so conflicts there should still be resolved normally — that behavior is unchanged.

After #1786 restored a minimal Next.js placeholder docs app on stable,
docs app conflicts should resolve to the stable branch version rather
than being deleted. Only docs/content/ is actively maintained on stable,
so conflicts there should still be resolved normally.

Update both the auto-resolution logic in backport.yml and the AI prompt
to reflect the new policy, and update AGENTS.md to match.
@TooTallNate TooTallNate requested a review from a team as a code owner April 17, 2026 00:38
Copilot AI review requested due to automatic review settings April 17, 2026 00:38
@changeset-bot
Copy link
Copy Markdown

changeset-bot bot commented Apr 17, 2026

⚠️ No Changeset found

Latest commit: 3131cd2

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@vercel
Copy link
Copy Markdown
Contributor

vercel bot commented Apr 17, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
example-nextjs-workflow-turbopack Ready Ready Preview, Comment Apr 17, 2026 1:25am
example-nextjs-workflow-webpack Ready Ready Preview, Comment Apr 17, 2026 1:25am
example-workflow Ready Ready Preview, Comment Apr 17, 2026 1:25am
workbench-astro-workflow Ready Ready Preview, Comment Apr 17, 2026 1:25am
workbench-express-workflow Ready Ready Preview, Comment Apr 17, 2026 1:25am
workbench-fastify-workflow Ready Ready Preview, Comment Apr 17, 2026 1:25am
workbench-hono-workflow Ready Ready Preview, Comment Apr 17, 2026 1:25am
workbench-nitro-workflow Ready Ready Preview, Comment Apr 17, 2026 1:25am
workbench-nuxt-workflow Ready Ready Preview, Comment Apr 17, 2026 1:25am
workbench-sveltekit-workflow Ready Ready Preview, Comment Apr 17, 2026 1:25am
workbench-vite-workflow Ready Ready Preview, Comment Apr 17, 2026 1:25am
workflow-docs Ready Ready Preview, Comment, Open in v0 Apr 17, 2026 1:25am
workflow-swc-playground Ready Ready Preview, Comment Apr 17, 2026 1:25am
workflow-web Ready Ready Preview, Comment Apr 17, 2026 1:25am

@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Apr 17, 2026

🧪 E2E Test Results

Some tests failed

Summary

Passed Failed Skipped Total
✅ ▲ Vercel Production 923 0 67 990
✅ 💻 Local Development 994 0 86 1080
✅ 📦 Local Production 994 0 86 1080
✅ 🐘 Local Postgres 994 0 86 1080
✅ 🪟 Windows 90 0 0 90
❌ 🌍 Community Worlds 133 98 0 231
✅ 📋 Other 252 0 18 270
Total 4380 98 343 4821

❌ Failed Tests

🌍 Community Worlds (98 failed)

mongodb (15 failed):

  • readableStreamWorkflow | wrun_01KPCGJFBXBP5M2X321SV73676
  • hookWorkflow is not resumable via public webhook endpoint | wrun_01KPCGK5C30H0F1RSXS4NQ131Q
  • webhookWorkflow | wrun_01KPCGKE4YEYARA4V43KQ599AT
  • outputStreamWorkflow no startIndex (reads all chunks)
  • outputStreamWorkflow positive startIndex (skips first chunk)
  • outputStreamWorkflow negative startIndex (reads from end)
  • outputStreamWorkflow - getTailIndex and getChunks getTailIndex returns correct index after stream completes
  • outputStreamWorkflow - getTailIndex and getChunks getTailIndex returns -1 before any chunks are written
  • outputStreamWorkflow - getTailIndex and getChunks getChunks returns same content as reading the stream
  • outputStreamInsideStepWorkflow - getWritable() called inside step functions | wrun_01KPCGPEK8PBTBZZVB4A9D34HQ
  • fetchWorkflow | wrun_01KPCGPVXZ998GNBSC661RJ1N7
  • concurrent hook token conflict - two workflows cannot use the same hook token simultaneously | wrun_01KPCGV5C0JRPT2M0DSDFKPE7J
  • health check (queue-based) - workflow and step endpoints respond to health check messages
  • health check (CLI) - workflow health command reports healthy endpoints
  • resilient start: addTenWorkflow completes when run_created returns 500 | wrun_01KPCH206Q1KRRCJ0VWZ32DKZG

redis (15 failed):

  • readableStreamWorkflow | wrun_01KPCGJFBXBP5M2X321SV73676
  • hookWorkflow is not resumable via public webhook endpoint | wrun_01KPCGK5C30H0F1RSXS4NQ131Q
  • webhookWorkflow | wrun_01KPCGKE4YEYARA4V43KQ599AT
  • outputStreamWorkflow no startIndex (reads all chunks)
  • outputStreamWorkflow positive startIndex (skips first chunk)
  • outputStreamWorkflow negative startIndex (reads from end)
  • outputStreamWorkflow - getTailIndex and getChunks getTailIndex returns correct index after stream completes
  • outputStreamWorkflow - getTailIndex and getChunks getTailIndex returns -1 before any chunks are written
  • outputStreamWorkflow - getTailIndex and getChunks getChunks returns same content as reading the stream
  • outputStreamInsideStepWorkflow - getWritable() called inside step functions | wrun_01KPCGPEK8PBTBZZVB4A9D34HQ
  • fetchWorkflow | wrun_01KPCGPVXZ998GNBSC661RJ1N7
  • concurrent hook token conflict - two workflows cannot use the same hook token simultaneously | wrun_01KPCGV5C0JRPT2M0DSDFKPE7J
  • health check (queue-based) - workflow and step endpoints respond to health check messages
  • health check (CLI) - workflow health command reports healthy endpoints
  • resilient start: addTenWorkflow completes when run_created returns 500 | wrun_01KPCH206Q1KRRCJ0VWZ32DKZG

turso (68 failed):

  • addTenWorkflow | wrun_01KPCGJ0NQNCYMHSA683PQHMMN
  • addTenWorkflow | wrun_01KPCGJ0NQNCYMHSA683PQHMMN
  • wellKnownAgentWorkflow (.well-known/agent) | wrun_01KPCGK05NSR5NQP2AGZWSPWNM
  • should work with react rendering in step
  • promiseAllWorkflow | wrun_01KPCGJ7JBEF5CDWP83SXZ3VXX
  • promiseRaceWorkflow | wrun_01KPCGJB1YH3ACRZ2D5T5WKE14
  • promiseAnyWorkflow | wrun_01KPCGJD5HDBSV0VW068FK3DHT
  • importedStepOnlyWorkflow | wrun_01KPCGKB8TTZF5CFBKCPHQ1N8S
  • readableStreamWorkflow | wrun_01KPCGJFBXBP5M2X321SV73676
  • hookWorkflow | wrun_01KPCGJT10HNYQ5Y8S2JPF58BE
  • hookWorkflow is not resumable via public webhook endpoint | wrun_01KPCGK5C30H0F1RSXS4NQ131Q
  • webhookWorkflow | wrun_01KPCGKE4YEYARA4V43KQ599AT
  • sleepingWorkflow | wrun_01KPCGKM9H72DT6S8VW003KAAR
  • parallelSleepWorkflow | wrun_01KPCGM0HVP895FYQZ62YZZ2QQ
  • nullByteWorkflow | wrun_01KPCGM3VD2XFF555AV5EA5HV2
  • workflowAndStepMetadataWorkflow | wrun_01KPCGM5X4YK8RFBFAP5XGN3TF
  • outputStreamWorkflow no startIndex (reads all chunks)
  • outputStreamWorkflow positive startIndex (skips first chunk)
  • outputStreamWorkflow negative startIndex (reads from end)
  • outputStreamWorkflow - getTailIndex and getChunks getTailIndex returns correct index after stream completes
  • outputStreamWorkflow - getTailIndex and getChunks getTailIndex returns -1 before any chunks are written
  • outputStreamWorkflow - getTailIndex and getChunks getChunks returns same content as reading the stream
  • outputStreamInsideStepWorkflow - getWritable() called inside step functions | wrun_01KPCGPEK8PBTBZZVB4A9D34HQ
  • fetchWorkflow | wrun_01KPCGPVXZ998GNBSC661RJ1N7
  • promiseRaceStressTestWorkflow | wrun_01KPCGPY92PA4NX4GYCGAM4W1X
  • error handling error propagation workflow errors nested function calls preserve message and stack trace
  • error handling error propagation workflow errors cross-file imports preserve message and stack trace
  • error handling error propagation step errors basic step error preserves message and stack trace
  • error handling error propagation step errors cross-file step error preserves message and function names in stack
  • error handling retry behavior regular Error retries until success
  • error handling retry behavior FatalError fails immediately without retries
  • error handling retry behavior RetryableError respects custom retryAfter delay
  • error handling retry behavior maxRetries=0 disables retries
  • error handling catchability FatalError can be caught and detected with FatalError.is()
  • error handling not registered WorkflowNotRegisteredError fails the run when workflow does not exist
  • error handling not registered StepNotRegisteredError fails the step but workflow can catch it
  • error handling not registered StepNotRegisteredError fails the run when not caught in workflow
  • hookCleanupTestWorkflow - hook token reuse after workflow completion | wrun_01KPCGTH2EBNB8NGTGE5QP5VQ3
  • concurrent hook token conflict - two workflows cannot use the same hook token simultaneously | wrun_01KPCGV5C0JRPT2M0DSDFKPE7J
  • hookDisposeTestWorkflow - hook token reuse after explicit disposal while workflow still running | wrun_01KPCGVV9K84VFE19JBR1AV7YR
  • stepFunctionPassingWorkflow - step function references can be passed as arguments (without closure vars) | wrun_01KPCGWF4NX56004K4VE5JGM3G
  • stepFunctionWithClosureWorkflow - step function with closure variables passed as argument | wrun_01KPCGWS28QGATXS1TFA8S23W2
  • closureVariableWorkflow - nested step functions with closure variables | wrun_01KPCGWYPSKXXDM1X3C7C2FV1A
  • spawnWorkflowFromStepWorkflow - spawning a child workflow using start() inside a step | wrun_01KPCGX0W7QTE2D70QPZ3PC1RT
  • runClassSerializationWorkflow - Run instances serialize across workflow/step boundaries | wrun_01KPCGXC6RFMA9ZYQ2JBAJJQ3A
  • health check (queue-based) - workflow and step endpoints respond to health check messages
  • health check (CLI) - workflow health command reports healthy endpoints
  • pathsAliasWorkflow - TypeScript path aliases resolve correctly | wrun_01KPCGXVT9JFJ0P18TT899D1EG
  • Calculator.calculate - static workflow method using static step methods from another class | wrun_01KPCGY1DQ43Q64B8XDMJWZ5GT
  • AllInOneService.processNumber - static workflow method using sibling static step methods | wrun_01KPCGY786VKB38RFQG74G37XD
  • ChainableService.processWithThis - static step methods using this to reference the class | wrun_01KPCGYCV0X2ABHMFW2DFH9XSW
  • thisSerializationWorkflow - step function invoked with .call() and .apply() | wrun_01KPCGYKMG0XZ6C0GFP1TD9D7J
  • customSerializationWorkflow - custom class serialization with WORKFLOW_SERIALIZE/WORKFLOW_DESERIALIZE | wrun_01KPCGYVSYE00WXMT85BMC3KHA
  • instanceMethodStepWorkflow - instance methods with "use step" directive | wrun_01KPCGZ3SZNGJY9KQVDGXQ6VTJ
  • crossContextSerdeWorkflow - classes defined in step code are deserializable in workflow context | wrun_01KPCGZF5ST79QS2RCSB2S08PQ
  • stepFunctionAsStartArgWorkflow - step function reference passed as start() argument | wrun_01KPCGZR5PX7PTG0B691YT8RTQ
  • cancelRun - cancelling a running workflow | wrun_01KPCGZYWPNJDSS21AXK2C7HFN
  • cancelRun via CLI - cancelling a running workflow | wrun_01KPCH085739H86HQYXFEC5TVG
  • pages router addTenWorkflow via pages router
  • pages router promiseAllWorkflow via pages router
  • pages router sleepingWorkflow via pages router
  • hookWithSleepWorkflow - hook payloads delivered correctly with concurrent sleep | wrun_01KPCH0M9V65F6A346YSGCJ3HM
  • sleepInLoopWorkflow - sleep inside loop with steps actually delays each iteration | wrun_01KPCH19VPWG2HDSA8HV5XS6AZ
  • sleepWithSequentialStepsWorkflow - sequential steps work with concurrent sleep (control) | wrun_01KPCH1MAWFWZKEZDJHMS22YQ7
  • importMetaUrlWorkflow - import.meta.url is available in step bundles | wrun_01KPCH1VT46VBFHZ1SBYFMQMCX
  • metadataFromHelperWorkflow - getWorkflowMetadata/getStepMetadata work from module-level helper (#1577) | wrun_01KPCH1Y27BN042MZKPNGN5ZV8
  • resilient start: addTenWorkflow completes when run_created returns 500 | wrun_01KPCH206Q1KRRCJ0VWZ32DKZG
  • getterStepWorkflow - getter functions with "use step" directive | wrun_01KPCH23G4C6QKR80EZFAH80HY

Details by Category

✅ ▲ Vercel Production
App Passed Failed Skipped
✅ astro 83 0 7
✅ example 83 0 7
✅ express 83 0 7
✅ fastify 83 0 7
✅ hono 83 0 7
✅ nextjs-turbopack 88 0 2
✅ nextjs-webpack 88 0 2
✅ nitro 83 0 7
✅ nuxt 83 0 7
✅ sveltekit 83 0 7
✅ vite 83 0 7
✅ 💻 Local Development
App Passed Failed Skipped
✅ astro-stable 84 0 6
✅ express-stable 84 0 6
✅ fastify-stable 84 0 6
✅ hono-stable 84 0 6
✅ nextjs-turbopack-canary 71 0 19
✅ nextjs-turbopack-stable 90 0 0
✅ nextjs-webpack-canary 71 0 19
✅ nextjs-webpack-stable 90 0 0
✅ nitro-stable 84 0 6
✅ nuxt-stable 84 0 6
✅ sveltekit-stable 84 0 6
✅ vite-stable 84 0 6
✅ 📦 Local Production
App Passed Failed Skipped
✅ astro-stable 84 0 6
✅ express-stable 84 0 6
✅ fastify-stable 84 0 6
✅ hono-stable 84 0 6
✅ nextjs-turbopack-canary 71 0 19
✅ nextjs-turbopack-stable 90 0 0
✅ nextjs-webpack-canary 71 0 19
✅ nextjs-webpack-stable 90 0 0
✅ nitro-stable 84 0 6
✅ nuxt-stable 84 0 6
✅ sveltekit-stable 84 0 6
✅ vite-stable 84 0 6
✅ 🐘 Local Postgres
App Passed Failed Skipped
✅ astro-stable 84 0 6
✅ express-stable 84 0 6
✅ fastify-stable 84 0 6
✅ hono-stable 84 0 6
✅ nextjs-turbopack-canary 71 0 19
✅ nextjs-turbopack-stable 90 0 0
✅ nextjs-webpack-canary 71 0 19
✅ nextjs-webpack-stable 90 0 0
✅ nitro-stable 84 0 6
✅ nuxt-stable 84 0 6
✅ sveltekit-stable 84 0 6
✅ vite-stable 84 0 6
✅ 🪟 Windows
App Passed Failed Skipped
✅ nextjs-turbopack 90 0 0
❌ 🌍 Community Worlds
App Passed Failed Skipped
✅ mongodb-dev 6 0 0
❌ mongodb 56 15 0
✅ redis-dev 6 0 0
❌ redis 56 15 0
✅ turso-dev 6 0 0
❌ turso 3 68 0
✅ 📋 Other
App Passed Failed Skipped
✅ e2e-local-dev-nest-stable 84 0 6
✅ e2e-local-postgres-nest-stable 84 0 6
✅ e2e-local-prod-nest-stable 84 0 6

📋 View full workflow run

@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Apr 17, 2026

📊 Benchmark Results

📈 Comparing against baseline from main branch. Green 🟢 = faster, Red 🔺 = slower.

workflow with no steps

💻 Local Development

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
💻 Local 🥇 Nitro 0.037s (-13.9% 🟢) 1.005s (~) 0.968s 10 1.00x
💻 Local Express 0.041s (-6.5% 🟢) 1.005s (~) 0.964s 10 1.12x
🐘 Postgres Express 0.058s (~) 1.010s (~) 0.953s 10 1.56x
🐘 Postgres Nitro 0.069s (-27.7% 🟢) 1.012s (-3.0%) 0.943s 10 1.85x
💻 Local Next.js (Turbopack) ⚠️ missing - - - -
🐘 Postgres Next.js (Turbopack) ⚠️ missing - - - -

▲ Production (Vercel)

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
▲ Vercel 🥇 Nitro 0.207s (-49.4% 🟢) 1.545s (-38.4% 🟢) 1.338s 10 1.00x
▲ Vercel Next.js (Turbopack) 0.246s (-2.0%) 2.166s (-7.2% 🟢) 1.920s 10 1.19x
▲ Vercel Express 0.314s (+33.3% 🔺) 2.140s (~) 1.826s 10 1.51x

🔍 Observability: Nitro | Next.js (Turbopack) | Express

workflow with 1 step

💻 Local Development

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
💻 Local 🥇 Nitro 1.093s (-3.3%) 2.005s (~) 0.912s 10 1.00x
💻 Local Express 1.131s (+0.5%) 2.006s (~) 0.875s 10 1.03x
🐘 Postgres Nitro 1.140s (~) 2.011s (~) 0.871s 10 1.04x
🐘 Postgres Express 1.159s (+1.1%) 2.017s (~) 0.858s 10 1.06x
💻 Local Next.js (Turbopack) ⚠️ missing - - - -
🐘 Postgres Next.js (Turbopack) ⚠️ missing - - - -

▲ Production (Vercel)

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
▲ Vercel 🥇 Express 1.821s (-2.9%) 3.461s (-9.1% 🟢) 1.640s 10 1.00x
▲ Vercel Nitro 1.822s (-53.2% 🟢) 3.495s (-40.9% 🟢) 1.673s 10 1.00x
▲ Vercel Next.js (Turbopack) 2.093s (+2.8%) 3.411s (-11.0% 🟢) 1.318s 10 1.15x

🔍 Observability: Express | Nitro | Next.js (Turbopack)

workflow with 10 sequential steps

💻 Local Development

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
💻 Local 🥇 Nitro 10.647s (-2.7%) 11.023s (~) 0.376s 3 1.00x
🐘 Postgres Nitro 10.836s (~) 11.020s (~) 0.184s 3 1.02x
💻 Local Express 10.892s (~) 11.023s (~) 0.131s 3 1.02x
🐘 Postgres Express 11.001s (~) 11.354s (+3.0%) 0.354s 3 1.03x
💻 Local Next.js (Turbopack) ⚠️ missing - - - -
🐘 Postgres Next.js (Turbopack) ⚠️ missing - - - -

▲ Production (Vercel)

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
▲ Vercel 🥇 Express 16.483s (-2.9%) 18.389s (-8.1% 🟢) 1.906s 2 1.00x
▲ Vercel Nitro 16.704s (-29.6% 🟢) 18.269s (-27.3% 🟢) 1.564s 2 1.01x
▲ Vercel Next.js (Turbopack) 17.688s (+2.1%) 18.947s (-2.3%) 1.259s 2 1.07x

🔍 Observability: Express | Nitro | Next.js (Turbopack)

workflow with 25 sequential steps

💻 Local Development

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
💻 Local 🥇 Nitro 14.232s (-5.5% 🟢) 15.029s (-6.2% 🟢) 0.798s 4 1.00x
🐘 Postgres Nitro 14.516s (-0.5%) 15.022s (~) 0.507s 4 1.02x
🐘 Postgres Express 14.706s (+0.8%) 15.026s (~) 0.320s 4 1.03x
💻 Local Express 14.944s (~) 15.028s (~) 0.083s 4 1.05x
💻 Local Next.js (Turbopack) ⚠️ missing - - - -
🐘 Postgres Next.js (Turbopack) ⚠️ missing - - - -

▲ Production (Vercel)

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
▲ Vercel 🥇 Express 31.348s (-37.7% 🟢) 32.607s (-38.0% 🟢) 1.260s 2 1.00x
▲ Vercel Nitro 31.849s (-50.6% 🟢) 33.625s (-49.5% 🟢) 1.776s 2 1.02x
▲ Vercel Next.js (Turbopack) 33.253s (-36.7% 🟢) 35.173s (-35.6% 🟢) 1.920s 2 1.06x

🔍 Observability: Express | Nitro | Next.js (Turbopack)

workflow with 50 sequential steps

💻 Local Development

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
🐘 Postgres 🥇 Nitro 13.917s (~) 14.166s (-1.0%) 0.249s 7 1.00x
🐘 Postgres Express 14.190s (+1.3%) 15.034s (+3.0%) 0.844s 6 1.02x
💻 Local Nitro 14.827s (-11.7% 🟢) 15.028s (-11.8% 🟢) 0.201s 6 1.07x
💻 Local Express 16.715s (+0.7%) 17.031s (~) 0.316s 6 1.20x
💻 Local Next.js (Turbopack) ⚠️ missing - - - -
🐘 Postgres Next.js (Turbopack) ⚠️ missing - - - -

▲ Production (Vercel)

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
▲ Vercel 🥇 Nitro 50.968s (-87.9% 🟢) 52.625s (-87.6% 🟢) 1.657s 2 1.00x
▲ Vercel Express 52.658s (-56.6% 🟢) 54.326s (-56.1% 🟢) 1.667s 2 1.03x
▲ Vercel Next.js (Turbopack) 52.777s (-86.6% 🟢) 54.241s (-86.3% 🟢) 1.464s 2 1.04x

🔍 Observability: Nitro | Express | Next.js (Turbopack)

Promise.all with 10 concurrent steps

💻 Local Development

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
🐘 Postgres 🥇 Nitro 1.241s (-2.6%) 2.009s (~) 0.768s 15 1.00x
🐘 Postgres Express 1.276s (+1.2%) 2.010s (~) 0.734s 15 1.03x
💻 Local Nitro 1.491s (-8.6% 🟢) 2.005s (-3.3%) 0.515s 15 1.20x
💻 Local Express 1.523s (+2.3%) 2.006s (~) 0.483s 15 1.23x
💻 Local Next.js (Turbopack) ⚠️ missing - - - -
🐘 Postgres Next.js (Turbopack) ⚠️ missing - - - -

▲ Production (Vercel)

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
▲ Vercel 🥇 Nitro 2.317s (-17.8% 🟢) 3.806s (-12.0% 🟢) 1.488s 8 1.00x
▲ Vercel Express 2.461s (-13.9% 🟢) 4.109s (-11.1% 🟢) 1.648s 8 1.06x
▲ Vercel Next.js (Turbopack) 2.748s (-19.1% 🟢) 4.304s (-12.7% 🟢) 1.556s 7 1.19x

🔍 Observability: Nitro | Express | Next.js (Turbopack)

Promise.all with 25 concurrent steps

💻 Local Development

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
🐘 Postgres 🥇 Nitro 2.332s (-0.8%) 3.010s (~) 0.678s 10 1.00x
🐘 Postgres Express 2.374s (+0.6%) 3.011s (~) 0.637s 10 1.02x
💻 Local Nitro 2.730s (-13.2% 🟢) 3.107s (-20.0% 🟢) 0.377s 10 1.17x
💻 Local Express 2.995s (+1.4%) 3.565s (+3.2%) 0.569s 9 1.28x
💻 Local Next.js (Turbopack) ⚠️ missing - - - -
🐘 Postgres Next.js (Turbopack) ⚠️ missing - - - -

▲ Production (Vercel)

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
▲ Vercel 🥇 Express 2.161s (-40.3% 🟢) 3.586s (-29.8% 🟢) 1.425s 9 1.00x
▲ Vercel Nitro 2.830s (-30.2% 🟢) 4.622s (-21.9% 🟢) 1.792s 7 1.31x
▲ Vercel Next.js (Turbopack) 2.849s (-59.9% 🟢) 4.511s (-49.3% 🟢) 1.663s 7 1.32x

🔍 Observability: Express | Nitro | Next.js (Turbopack)

Promise.all with 50 concurrent steps

💻 Local Development

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
🐘 Postgres 🥇 Express 3.505s (+0.5%) 4.010s (~) 0.505s 8 1.00x
🐘 Postgres Nitro 3.514s (+1.0%) 4.012s (~) 0.498s 8 1.00x
💻 Local Nitro 6.991s (-16.3% 🟢) 7.214s (-20.0% 🟢) 0.223s 5 1.99x
💻 Local Express 8.418s (+1.0%) 9.023s (~) 0.604s 4 2.40x
💻 Local Next.js (Turbopack) ⚠️ missing - - - -
🐘 Postgres Next.js (Turbopack) ⚠️ missing - - - -

▲ Production (Vercel)

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
▲ Vercel 🥇 Express 3.080s (-27.4% 🟢) 4.461s (-27.2% 🟢) 1.381s 8 1.00x
▲ Vercel Nitro 3.260s (-7.5% 🟢) 4.946s (-10.6% 🟢) 1.685s 7 1.06x
▲ Vercel Next.js (Turbopack) 3.663s (-58.9% 🟢) 5.261s (-52.0% 🟢) 1.598s 6 1.19x

🔍 Observability: Express | Nitro | Next.js (Turbopack)

Promise.race with 10 concurrent steps

💻 Local Development

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
🐘 Postgres 🥇 Express 1.252s (~) 2.008s (~) 0.756s 15 1.00x
🐘 Postgres Nitro 1.261s (~) 2.007s (~) 0.747s 15 1.01x
💻 Local Express 1.558s (-17.7% 🟢) 2.006s (-15.1% 🟢) 0.449s 15 1.24x
💻 Local Nitro 1.854s (-0.6%) 2.390s (+2.1%) 0.537s 13 1.48x
💻 Local Next.js (Turbopack) ⚠️ missing - - - -
🐘 Postgres Next.js (Turbopack) ⚠️ missing - - - -

▲ Production (Vercel)

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
▲ Vercel 🥇 Express 2.117s (-18.0% 🟢) 3.769s (-13.3% 🟢) 1.652s 9 1.00x
▲ Vercel Next.js (Turbopack) 2.161s (-26.3% 🟢) 3.807s (-18.0% 🟢) 1.646s 8 1.02x
▲ Vercel Nitro 2.207s (-10.2% 🟢) 3.902s (-6.4% 🟢) 1.695s 8 1.04x

🔍 Observability: Express | Next.js (Turbopack) | Nitro

Promise.race with 25 concurrent steps

💻 Local Development

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
🐘 Postgres 🥇 Express 2.339s (~) 3.011s (~) 0.672s 10 1.00x
🐘 Postgres Nitro 2.357s (+0.7%) 3.010s (~) 0.653s 10 1.01x
💻 Local Nitro 2.707s (-11.7% 🟢) 3.007s (-22.6% 🟢) 0.300s 10 1.16x
💻 Local Express 3.015s (-3.8%) 3.676s (-2.3%) 0.662s 9 1.29x
💻 Local Next.js (Turbopack) ⚠️ missing - - - -
🐘 Postgres Next.js (Turbopack) ⚠️ missing - - - -

▲ Production (Vercel)

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
▲ Vercel 🥇 Express 2.564s (-19.7% 🟢) 4.136s (-13.7% 🟢) 1.571s 8 1.00x
▲ Vercel Nitro 2.946s (-8.9% 🟢) 4.603s (-9.3% 🟢) 1.657s 7 1.15x
▲ Vercel Next.js (Turbopack) 3.005s (-4.4%) 4.665s (+3.2%) 1.659s 7 1.17x

🔍 Observability: Express | Nitro | Next.js (Turbopack)

Promise.race with 50 concurrent steps

💻 Local Development

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
🐘 Postgres 🥇 Nitro 3.466s (~) 4.009s (~) 0.543s 8 1.00x
🐘 Postgres Express 3.492s (~) 4.012s (~) 0.520s 8 1.01x
💻 Local Nitro 7.603s (-16.8% 🟢) 8.018s (-20.0% 🟢) 0.415s 4 2.19x
💻 Local Express 8.748s (-0.6%) 9.271s (~) 0.523s 4 2.52x
💻 Local Next.js (Turbopack) ⚠️ missing - - - -
🐘 Postgres Next.js (Turbopack) ⚠️ missing - - - -

▲ Production (Vercel)

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
▲ Vercel 🥇 Express 3.270s (-49.0% 🟢) 5.080s (-37.9% 🟢) 1.811s 6 1.00x
▲ Vercel Nitro 3.417s (-32.9% 🟢) 5.118s (-24.9% 🟢) 1.701s 6 1.05x
▲ Vercel Next.js (Turbopack) 3.815s (-43.5% 🟢) 6.025s (-29.5% 🟢) 2.210s 5 1.17x

🔍 Observability: Express | Nitro | Next.js (Turbopack)

workflow with 10 sequential data payload steps (10KB)

💻 Local Development

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
💻 Local 🥇 Nitro 0.687s (-29.9% 🟢) 1.004s (-8.2% 🟢) 0.317s 60 1.00x
🐘 Postgres Nitro 0.808s (-1.5%) 1.023s (+1.6%) 0.214s 59 1.18x
🐘 Postgres Express 0.855s (+1.9%) 1.041s (+1.7%) 0.186s 58 1.24x
💻 Local Express 0.980s (~) 1.136s (+5.6% 🔺) 0.157s 53 1.43x
💻 Local Next.js (Turbopack) ⚠️ missing - - - -
🐘 Postgres Next.js (Turbopack) ⚠️ missing - - - -

▲ Production (Vercel)

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
▲ Vercel 🥇 Express 8.699s (-54.3% 🟢) 10.399s (-51.3% 🟢) 1.700s 6 1.00x
▲ Vercel Nitro 8.851s (-59.9% 🟢) 10.708s (-55.4% 🟢) 1.857s 6 1.02x
▲ Vercel Next.js (Turbopack) 10.075s (-30.5% 🟢) 11.374s (-29.3% 🟢) 1.299s 6 1.16x

🔍 Observability: Express | Nitro | Next.js (Turbopack)

workflow with 25 sequential data payload steps (10KB)

💻 Local Development

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
🐘 Postgres 🥇 Nitro 1.953s (+1.3%) 2.202s (+4.8%) 0.249s 41 1.00x
🐘 Postgres Express 1.960s (-0.8%) 2.315s (+2.5%) 0.355s 39 1.00x
💻 Local Nitro 2.223s (-26.8% 🟢) 3.007s (-20.0% 🟢) 0.784s 30 1.14x
💻 Local Express 2.999s (-0.6%) 3.470s (-3.2%) 0.471s 26 1.54x
💻 Local Next.js (Turbopack) ⚠️ missing - - - -
🐘 Postgres Next.js (Turbopack) ⚠️ missing - - - -

▲ Production (Vercel)

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
▲ Vercel 🥇 Nitro 26.691s (-32.4% 🟢) 28.384s (-31.3% 🟢) 1.693s 4 1.00x
▲ Vercel Next.js (Turbopack) 28.026s (-43.7% 🟢) 29.895s (-42.2% 🟢) 1.870s 4 1.05x
▲ Vercel Express 28.372s (-17.8% 🟢) 30.175s (-18.0% 🟢) 1.803s 3 1.06x

🔍 Observability: Nitro | Next.js (Turbopack) | Express

workflow with 50 sequential data payload steps (10KB)

💻 Local Development

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
🐘 Postgres 🥇 Nitro 3.866s (-5.8% 🟢) 4.075s (-11.5% 🟢) 0.209s 30 1.00x
🐘 Postgres Express 3.971s (~) 4.331s (-0.9%) 0.360s 28 1.03x
💻 Local Nitro 7.300s (-21.5% 🟢) 7.952s (-20.6% 🟢) 0.652s 16 1.89x
💻 Local Express 9.157s (-0.6%) 9.941s (-0.8%) 0.784s 13 2.37x
💻 Local Next.js (Turbopack) ⚠️ missing - - - -
🐘 Postgres Next.js (Turbopack) ⚠️ missing - - - -

▲ Production (Vercel)

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
▲ Vercel 🥇 Nitro 68.511s (-29.3% 🟢) 70.397s (-28.5% 🟢) 1.886s 2 1.00x
▲ Vercel Express 71.924s (-44.7% 🟢) 73.637s (-44.3% 🟢) 1.713s 2 1.05x
▲ Vercel Next.js (Turbopack) 74.174s (-30.8% 🟢) 75.632s (-30.6% 🟢) 1.458s 2 1.08x

🔍 Observability: Nitro | Express | Next.js (Turbopack)

workflow with 10 concurrent data payload steps (10KB)

💻 Local Development

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
🐘 Postgres 🥇 Express 0.279s (-1.4%) 1.007s (~) 0.728s 60 1.00x
🐘 Postgres Nitro 0.293s (+3.3%) 1.007s (~) 0.714s 60 1.05x
💻 Local Express 0.583s (+4.0%) 1.004s (~) 0.421s 60 2.09x
💻 Local Nitro 0.668s (+10.5% 🔺) 1.095s (+7.2% 🔺) 0.427s 55 2.40x
💻 Local Next.js (Turbopack) ⚠️ missing - - - -
🐘 Postgres Next.js (Turbopack) ⚠️ missing - - - -

▲ Production (Vercel)

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
▲ Vercel 🥇 Express 1.374s (-29.7% 🟢) 2.813s (-22.7% 🟢) 1.439s 22 1.00x
▲ Vercel Nitro 1.399s (-15.8% 🟢) 2.741s (-18.2% 🟢) 1.342s 22 1.02x
▲ Vercel Next.js (Turbopack) 1.778s (-12.1% 🟢) 3.205s (-15.5% 🟢) 1.427s 19 1.29x

🔍 Observability: Express | Nitro | Next.js (Turbopack)

workflow with 25 concurrent data payload steps (10KB)

💻 Local Development

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
🐘 Postgres 🥇 Express 0.482s (-5.5% 🟢) 1.006s (~) 0.524s 90 1.00x
🐘 Postgres Nitro 0.498s (~) 1.007s (~) 0.509s 90 1.03x
💻 Local Nitro 2.412s (-5.0%) 3.007s (~) 0.595s 30 5.01x
💻 Local Express 2.505s (~) 3.009s (~) 0.504s 30 5.20x
💻 Local Next.js (Turbopack) ⚠️ missing - - - -
🐘 Postgres Next.js (Turbopack) ⚠️ missing - - - -

▲ Production (Vercel)

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
▲ Vercel 🥇 Express 2.499s (-18.0% 🟢) 4.000s (-16.8% 🟢) 1.501s 23 1.00x
▲ Vercel Nitro 2.540s (-21.3% 🟢) 4.131s (-14.3% 🟢) 1.592s 22 1.02x
▲ Vercel Next.js (Turbopack) 3.082s (-12.8% 🟢) 4.530s (-12.8% 🟢) 1.448s 20 1.23x

🔍 Observability: Express | Nitro | Next.js (Turbopack)

workflow with 50 concurrent data payload steps (10KB)

💻 Local Development

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
🐘 Postgres 🥇 Express 0.786s (-4.0%) 1.016s (~) 0.230s 119 1.00x
🐘 Postgres Nitro 0.811s (+2.6%) 1.009s (~) 0.198s 119 1.03x
💻 Local Nitro 10.531s (-5.9% 🟢) 11.023s (-5.5% 🟢) 0.492s 11 13.39x
💻 Local Express 10.963s (-2.0%) 11.484s (-3.8%) 0.521s 11 13.94x
💻 Local Next.js (Turbopack) ⚠️ missing - - - -
🐘 Postgres Next.js (Turbopack) ⚠️ missing - - - -

▲ Production (Vercel)

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
▲ Vercel 🥇 Express 6.135s (-17.3% 🟢) 7.742s (-16.3% 🟢) 1.608s 16 1.00x
▲ Vercel Nitro 6.392s (-17.2% 🟢) 8.164s (-13.2% 🟢) 1.772s 15 1.04x
▲ Vercel Next.js (Turbopack) 6.429s (-37.7% 🟢) 7.962s (-35.2% 🟢) 1.532s 16 1.05x

🔍 Observability: Express | Nitro | Next.js (Turbopack)

Stream Benchmarks (includes TTFB metrics)
workflow with stream

💻 Local Development

World Framework Workflow Time TTFB Slurp Wall Time Overhead Samples vs Fastest
💻 Local 🥇 Nitro 0.139s (-34.8% 🟢) 1.004s (~) 0.010s (-21.6% 🟢) 1.015s (~) 0.876s 10 1.00x
🐘 Postgres Nitro 0.198s (-3.7%) 0.998s (~) 0.001s (-20.0% 🟢) 1.010s (~) 0.813s 10 1.42x
💻 Local Express 0.202s (+1.5%) 1.004s (~) 0.012s (-4.1%) 1.018s (~) 0.816s 10 1.45x
🐘 Postgres Express 0.220s (+7.1% 🔺) 0.994s (-0.5%) 0.001s (-43.8% 🟢) 1.010s (~) 0.790s 10 1.58x
💻 Local Next.js (Turbopack) ⚠️ missing - - - - -
🐘 Postgres Next.js (Turbopack) ⚠️ missing - - - - -

▲ Production (Vercel)

World Framework Workflow Time TTFB Slurp Wall Time Overhead Samples vs Fastest
▲ Vercel 🥇 Next.js (Turbopack) 1.573s (-77.0% 🟢) 3.091s (-64.3% 🟢) 0.576s (-8.8% 🟢) 4.077s (-58.3% 🟢) 2.504s 10 1.00x
▲ Vercel Express 1.609s (-35.8% 🟢) 2.964s (-27.5% 🟢) 0.852s (-11.4% 🟢) 4.220s (-24.5% 🟢) 2.611s 10 1.02x
▲ Vercel Nitro 1.841s (-52.0% 🟢) 3.155s (-40.2% 🟢) 0.939s (+26.5% 🔺) 4.499s (-30.6% 🟢) 2.658s 10 1.17x

🔍 Observability: Next.js (Turbopack) | Express | Nitro

stream pipeline with 5 transform steps (1MB)

💻 Local Development

World Framework Workflow Time TTFB Slurp Wall Time Overhead Samples vs Fastest
🐘 Postgres 🥇 Express 0.613s (-2.8%) 1.002s (~) 0.004s (+1.8%) 1.022s (~) 0.409s 59 1.00x
🐘 Postgres Nitro 0.640s (+2.5%) 1.003s (~) 0.004s (-2.9%) 1.022s (~) 0.382s 59 1.04x
💻 Local Nitro 0.672s (-19.9% 🟢) 1.010s (~) 0.010s (+3.2%) 1.114s (~) 0.442s 54 1.10x
💻 Local Express 0.749s (-1.1%) 1.012s (-1.6%) 0.010s (+5.9% 🔺) 1.024s (-1.6%) 0.275s 59 1.22x
💻 Local Next.js (Turbopack) ⚠️ missing - - - - -
🐘 Postgres Next.js (Turbopack) ⚠️ missing - - - - -

▲ Production (Vercel)

World Framework Workflow Time TTFB Slurp Wall Time Overhead Samples vs Fastest
▲ Vercel 🥇 Express 3.898s (-40.1% 🟢) 5.657s (-29.4% 🟢) 0.267s (-34.6% 🟢) 6.335s (-28.3% 🟢) 2.437s 10 1.00x
▲ Vercel Nitro 4.212s (-85.7% 🟢) 5.652s (-81.7% 🟢) 0.124s (+11.2% 🔺) 6.253s (-80.3% 🟢) 2.041s 10 1.08x
▲ Vercel Next.js (Turbopack) 4.562s (-73.0% 🟢) 6.189s (-66.1% 🟢) 0.468s (+121.4% 🔺) 7.058s (-62.7% 🟢) 2.496s 9 1.17x

🔍 Observability: Express | Nitro | Next.js (Turbopack)

10 parallel streams (1MB each)

💻 Local Development

World Framework Workflow Time TTFB Slurp Wall Time Overhead Samples vs Fastest
🐘 Postgres 🥇 Express 0.924s (-3.9%) 1.087s (-14.9% 🟢) 0.000s (-16.4% 🟢) 1.102s (-15.6% 🟢) 0.179s 55 1.00x
🐘 Postgres Nitro 0.979s (+1.1%) 1.292s (+3.5%) 0.000s (+2.1%) 1.306s (+3.8%) 0.326s 47 1.06x
💻 Local Nitro 1.172s (-4.1%) 2.018s (~) 0.000s (+333.3% 🔺) 2.020s (~) 0.848s 30 1.27x
💻 Local Express 1.220s (~) 2.021s (~) 0.000s (+10.0% 🔺) 2.023s (~) 0.803s 30 1.32x
💻 Local Next.js (Turbopack) ⚠️ missing - - - - -
🐘 Postgres Next.js (Turbopack) ⚠️ missing - - - - -

▲ Production (Vercel)

World Framework Workflow Time TTFB Slurp Wall Time Overhead Samples vs Fastest
▲ Vercel 🥇 Express 2.935s (-21.5% 🟢) 4.135s (-19.0% 🟢) 0.000s (-100.0% 🟢) 4.693s (-15.1% 🟢) 1.758s 14 1.00x
▲ Vercel Nitro 2.980s (-2.3%) 4.157s (-5.4% 🟢) 0.000s (~) 4.653s (-3.2%) 1.673s 13 1.02x
▲ Vercel Next.js (Turbopack) 3.762s (-63.1% 🟢) 5.159s (-55.2% 🟢) 0.000s (+Infinity% 🔺) 5.655s (-53.1% 🟢) 1.893s 11 1.28x

🔍 Observability: Express | Nitro | Next.js (Turbopack)

fan-out fan-in 10 streams (1MB each)

💻 Local Development

World Framework Workflow Time TTFB Slurp Wall Time Overhead Samples vs Fastest
🐘 Postgres 🥇 Express 1.721s (-2.9%) 2.101s (-3.5%) 0.000s (+Infinity% 🔺) 2.112s (-3.9%) 0.392s 29 1.00x
🐘 Postgres Nitro 1.766s (-1.4%) 2.174s (+1.5%) 0.000s (~) 2.187s (+0.6%) 0.421s 28 1.03x
💻 Local Express 3.527s (+1.7%) 3.972s (-1.5%) 0.000s (-60.9% 🟢) 3.975s (-1.5%) 0.448s 16 2.05x
💻 Local Nitro 3.532s (+4.3%) 4.030s (~) 0.001s (~) 4.033s (~) 0.500s 15 2.05x
💻 Local Next.js (Turbopack) ⚠️ missing - - - - -
🐘 Postgres Next.js (Turbopack) ⚠️ missing - - - - -

▲ Production (Vercel)

World Framework Workflow Time TTFB Slurp Wall Time Overhead Samples vs Fastest
▲ Vercel 🥇 Next.js (Turbopack) 4.118s (-26.7% 🟢) 5.324s (-23.7% 🟢) 0.000s (-100.0% 🟢) 5.723s (-24.1% 🟢) 1.605s 11 1.00x
▲ Vercel Nitro 4.230s (+3.3%) 5.436s (+1.1%) 0.000s (-66.7% 🟢) 5.849s (+1.0%) 1.619s 11 1.03x
▲ Vercel Express 4.261s (-7.1% 🟢) 5.533s (-8.1% 🟢) 0.000s (NaN%) 6.051s (-6.3% 🟢) 1.790s 10 1.03x

🔍 Observability: Next.js (Turbopack) | Nitro | Express

Summary

Fastest Framework by World

Winner determined by most benchmark wins

World 🥇 Fastest Framework Wins
💻 Local Nitro 18/21
🐘 Postgres Nitro 11/21
▲ Vercel Express 14/21
Fastest World by Framework

Winner determined by most benchmark wins

Framework 🥇 Fastest World Wins
Express 🐘 Postgres 14/21
Next.js (Turbopack) ▲ Vercel 21/21
Nitro 🐘 Postgres 13/21
Column Definitions
  • Workflow Time: Runtime reported by workflow (completedAt - createdAt) - primary metric
  • TTFB: Time to First Byte - time from workflow start until first stream byte received (stream benchmarks only)
  • Slurp: Time from first byte to complete stream consumption (stream benchmarks only)
  • Wall Time: Total testbench time (trigger workflow + poll for result)
  • Overhead: Testbench overhead (Wall Time - Workflow Time)
  • Samples: Number of benchmark iterations run
  • vs Fastest: How much slower compared to the fastest configuration for this benchmark

Worlds:

  • 💻 Local: In-memory filesystem world (local development)
  • 🐘 Postgres: PostgreSQL database world (local development)
  • ▲ Vercel: Vercel production/preview deployment
  • 🌐 Turso: Community world (local development)
  • 🌐 MongoDB: Community world (local development)
  • 🌐 Redis: Community world (local development)
  • 🌐 Jazz: Community world (local development)

📋 View full workflow run

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

Updates the stable backport conflict auto-resolution policy so that docs app conflicts (outside docs/content/) prefer the stable placeholder version rather than deleting files, reflecting the reintroduced minimal Next.js docs app on stable.

Changes:

  • Update backport.yml auto-resolution for docs/* (excluding docs/content/) to keep the stable side (--ours), falling back to removal when the file doesn’t exist on stable.
  • Update the opencode conflict-resolution prompt to match the new docs conflict policy.
  • Update AGENTS.md guidance to reflect the new backport behavior for docs conflicts.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 1 comment.

File Description
AGENTS.md Updates documented backport policy for docs conflicts to “keep stable version” outside docs/content/.
.github/workflows/backport.yml Changes automated conflict resolution and AI prompt to preserve stable docs placeholder on conflicts outside docs/content/.

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

Comment thread .github/workflows/backport.yml Outdated
git ls-files --error-unmatch succeeds for unmerged paths even when
the file only exists on the incoming (theirs) side, which would then
fail on git checkout --ours. Use git show :2:$file to specifically
check for a stage-2 entry, which indicates the file exists on the
ours (stable) side.
@TooTallNate TooTallNate disabled auto-merge April 17, 2026 01:23
@TooTallNate TooTallNate merged commit 5e0a0c7 into main Apr 17, 2026
85 of 89 checks passed
@TooTallNate TooTallNate deleted the backport-prefer-stable-docs branch April 17, 2026 01:23
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.

3 participants