helloadhavan/github_issues huggingface dataset:
Repository: vercel/next.js
Pull request: [release] fix: use correct step id when publishing

<!-- Thanks for opening a PR! Your contribution is much appreciated.
To make sure your PR is handled as smoothly as possible we request that you follow the checklist sections below.
Choose the right checklist for the change(s) that you're making:

## For Contributors

### Improving Documentation

- Run `pnpm prettier-fix` to fix formatting issues before opening the PR.
- Read the Docs Contribution Guide to ensure your contribution follows the docs guidelines: https://nextjs.org/docs/community/contribution-guide

### Adding or Updating Examples

- The "examples guidelines" are followed from our contributing doc https://github.com/vercel/next.js/blob/canary/contributing/examples/adding-examples.md
- Make sure the linting passes by running `pnpm build && pnpm lint`. See https://github.com/vercel/next.js/blob/canary/contributing/repository/linting.md

### Fixing a bug

- Related issues linked using `fixes #number`
- Tests added. See: https://github.com/vercel/next.js/blob/canary/contributing/core/testing.md#writing-tests-for-nextjs
- Errors have a helpful link attached, see https://github.com/vercel/next.js/blob/canary/contributing.md

### Adding a feature

- Implements an existing feature request or RFC. Make sure the feature request has been accepted for implementation before opening a PR. (A discussion must be opened, see https://github.com/vercel/next.js/discussions/new?category=ideas)
- Related issues/discussions are linked using `fixes #number`
- e2e tests added (https://github.com/vercel/next.js/blob/canary/contributing/core/testing.md#writing-tests-for-nextjs)
- Documentation added
- Telemetry added. In case of a feature if it's used or not.
- Errors have a helpful link attached, see https://github.com/vercel/next.js/blob/canary/contributing.md


## For Maintainers

- Minimal description (aim for explaining to someone not on the team to understand the PR)
- When linking to a Slack thread, you might want to share details of the conclusion
- Link both the Linear (Fixes NEXT-xxx) and the GitHub issues
- Add review comments if necessary to explain to the reviewer the logic behind a change

### What?

### Why?

### How?

Closes NEXT-
Fixes #

-->


Changed files:
filename: .github/workflows/build_and_deploy.yml
patch: @@ -603,7 +603,7 @@ jobs:
 
       # New release process
       - name: Publish to NPM
-        id: publish-packages
+        id: changesets
         if: ${{ env.__NEW_RELEASE == 'true' }}
         uses: changesets/action@v1
         with:
@@ -621,8 +621,8 @@ jobs:
           GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
 
       - name: Upload npm log artifact
+        if: steps.changesets.outputs.published == 'true'
         uses: actions/upload-artifact@v4
-        if: always()
         with:
           name: npm-publish-logs
           path: /home/runner/.npm/_logs/*
Repository: vercel/next.js
Pull request: Turbopack build: Fix NODE_ENV test

## What?

This test was checking for an arbitrary value, it wasn't clear to me why this particular value given it's not in the source code.

I've changed it to an application-level check instead of checking the Next.js internals.

Closes PACK-4638

Changed files:
filename: test/integration/non-standard-node-env-warning/pages/index.js
patch: @@ -1 +1,7 @@
-export default () => 'hi'
+export default function Page() {
+  if (process.env.NODE_ENV === 'production') {
+    return <h1>Hello Production</h1>
+  } else {
+    return <h1>Hello Other</h1>
+  }
+}

filename: test/integration/non-standard-node-env-warning/test/index.test.js
patch: @@ -94,15 +94,24 @@ describe('Non-Standard NODE_ENV', () => {
         })
         expect(staticFiles.length).toBeGreaterThan(0)
 
+        let foundProductionValue = false
+        let foundOtherValue = false
         for (const file of staticFiles) {
           const content = await fs.readFile(
             join(appDir, '.next/static', file),
             'utf8'
           )
-          if (content.match(/cannot find module(?! for page)/i)) {
-            throw new Error(`${file} contains module not found error`)
+
+          if (content.includes('Hello Production')) {
+            foundProductionValue = true
+          }
+          if (content.includes('Hello Other')) {
+            foundOtherValue = true
           }
         }
+
+        expect(foundProductionValue).toBeTrue()
+        expect(foundOtherValue).toBeFalse()
       })
 
       it('should show the warning with NODE_ENV set to development with next build', async () => {

filename: test/turbopack-build-tests-manifest.json
patch: @@ -16649,11 +16649,10 @@
       "Non-Standard NODE_ENV should not show the warning with no NODE_ENV set",
       "Non-Standard NODE_ENV should show the warning with NODE_ENV set to invalid value",
       "Non-Standard NODE_ENV should show the warning with NODE_ENV set to invalid value (custom server)",
-      "Non-Standard NODE_ENV should show the warning with NODE_ENV set to production with next dev"
-    ],
-    "failed": [
+      "Non-Standard NODE_ENV should show the warning with NODE_ENV set to production with next dev",
       "Non-Standard NODE_ENV production mode should still DCE NODE_ENV specific code"
     ],
+    "failed": [],
     "pending": [],
     "flakey": [],
     "runtimeError": false
Repository: nodejs/node
Pull request: [v22.x backport] process: add `process.ref()` and `process.unref()` methods

Backport of:

- https://github.com/nodejs/node/pull/56400
- https://github.com/nodejs/node/pull/56517
- https://github.com/nodejs/node/pull/56552


Changed files:
filename: lib/internal/process/per_thread.js
patch: @@ -424,15 +424,17 @@ function toggleTraceCategoryState(asyncHooksEnabled) {
 
 const { arch, platform, version } = process;
 
+let refSymbol;
 function ref(maybeRefable) {
-  const fn = maybeRefable?.[SymbolFor('nodejs.ref')] || maybeRefable?.[SymbolFor('node:ref')] || maybeRefable?.ref;
+  if (maybeRefable == null) return;
+  const fn = maybeRefable[refSymbol ??= SymbolFor('nodejs.ref')] || maybeRefable.ref;
   if (typeof fn === 'function') FunctionPrototypeCall(fn, maybeRefable);
 }
 
+let unrefSymbol;
 function unref(maybeRefable) {
-  const fn = maybeRefable?.[SymbolFor('nodejs.unref')] ||
-             maybeRefable?.[SymbolFor('node:unref')] ||
-             maybeRefable?.unref;
+  if (maybeRefable == null) return;
+  const fn = maybeRefable[unrefSymbol ??= SymbolFor('nodejs.unref')] || maybeRefable.unref;
   if (typeof fn === 'function') FunctionPrototypeCall(fn, maybeRefable);
 }
 

filename: test/parallel/test-process-ref-unref.js
patch: @@ -33,37 +33,20 @@ class Foo2 {
   }
 }
 
-// TODO(aduh95): remove support for undocumented symbol
-class Foo3 {
-  refCalled = 0;
-  unrefCalled = 0;
-  [Symbol.for('node:ref')]() {
-    this.refCalled++;
-  }
-  [Symbol.for('node:unref')]() {
-    this.unrefCalled++;
-  }
-}
-
 describe('process.ref/unref work as expected', () => {
   it('refs...', () => {
     // Objects that implement the new Symbol-based API
     // just work.
     const foo1 = new Foo();
     const foo2 = new Foo2();
-    const foo3 = new Foo3();
     process.ref(foo1);
     process.unref(foo1);
     process.ref(foo2);
     process.unref(foo2);
-    process.ref(foo3);
-    process.unref(foo3);
     strictEqual(foo1.refCalled, 1);
     strictEqual(foo1.unrefCalled, 1);
     strictEqual(foo2.refCalled, 1);
     strictEqual(foo2.unrefCalled, 1);
-    strictEqual(foo3.refCalled, 1);
-    strictEqual(foo3.unrefCalled, 1);
 
     // Objects that implement the legacy API also just work.
     const i = setInterval(() => {}, 1000);
Repository: facebook/react
Pull request: Flow: remove max_workers setting

This was added back in #17880 to make CI pass for an unrelated change.

This limits the max worker setting to CI environments as removing the setting completely still seems to break on CircleCI.


Changed files:
filename: scripts/flow/config/flowconfig
patch: @@ -39,7 +39,7 @@
 untyped-type-import=error
 
 [options]
-server.max_workers=4
+%CI_MAX_WORKERS%
 esproposal.class_static_fields=enable
 esproposal.class_instance_fields=enable
 esproposal.optional_chaining=enable

filename: scripts/flow/createFlowConfigs.js
patch: @@ -45,6 +45,11 @@ function writeConfig(renderer, rendererInfo, isServerSupported) {
   });
 
   const config = configTemplate
+    .replace(
+      '%CI_MAX_WORKERS%\n',
+      // On CI, we seem to need to limit workers.
+      process.env.CI ? 'server.max_workers=4\n' : '',
+    )
     .replace(
       '%REACT_RENDERER_FLOW_OPTIONS%',
       `
Repository: denoland/deno
Pull request: feat(lsp): add a message when someone runs 'deno lsp' manually


Changed files:
filename: cli/main.rs
patch: @@ -57,6 +57,7 @@ use standalone::MODULE_NOT_FOUND;
 use standalone::UNSUPPORTED_SCHEME;
 use std::env;
 use std::future::Future;
+use std::io::IsTerminal;
 use std::ops::Deref;
 use std::path::PathBuf;
 use std::sync::Arc;
@@ -161,7 +162,19 @@ async fn run_subcommand(flags: Arc<Flags>) -> Result<i32, AnyError> {
     DenoSubcommand::Uninstall(uninstall_flags) => spawn_subcommand(async {
       tools::installer::uninstall(flags, uninstall_flags).await
     }),
-    DenoSubcommand::Lsp => spawn_subcommand(async { lsp::start().await }),
+    DenoSubcommand::Lsp => spawn_subcommand(async {
+      if std::io::stderr().is_terminal() {
+        log::warn!(
+          "{} command is intended to be run by text editors and IDEs and shouldn't be run manually.
+  
+  Visit https://docs.deno.com/runtime/getting_started/setup_your_environment/ for instruction
+  how to setup your favorite text editor.
+  
+  Press Ctrl+C to exit.
+        ", colors::cyan("deno lsp"));
+      }
+      lsp::start().await
+    }),
     DenoSubcommand::Lint(lint_flags) => spawn_subcommand(async {
       if lint_flags.rules {
         tools::lint::print_rules_list(
Repository: electron/electron
Pull request: fix: -Wunsafe-buffer-usage warning in HasWordCharacters()

Backport of #44133

See that PR for details.


Notes: none.

Changed files:
filename: shell/renderer/api/electron_api_spell_check_client.cc
patch: @@ -15,6 +15,7 @@
 #include "base/containers/contains.h"
 #include "base/logging.h"
 #include "base/numerics/safe_conversions.h"
+#include "base/strings/utf_string_conversion_utils.h"
 #include "base/task/single_thread_task_runner.h"
 #include "components/spellcheck/renderer/spellcheck_worditerator.h"
 #include "shell/common/gin_helper/dictionary.h"
@@ -28,12 +29,9 @@ namespace electron::api {
 
 namespace {
 
-bool HasWordCharacters(const std::u16string& text, int index) {
-  const char16_t* data = text.data();
-  int length = text.length();
-  while (index < length) {
-    uint32_t code = 0;
-    U16_NEXT(data, index, length, code);
+bool HasWordCharacters(const std::u16string& text, size_t index) {
+  base_icu::UChar32 code;
+  while (base::ReadUnicodeCharacter(text.c_str(), text.size(), &index, &code)) {
     UErrorCode error = U_ZERO_ERROR;
     if (uscript_getScript(code, &error) != USCRIPT_COMMON)
       return true;
Repository: ggml-org/llama.cpp
Pull request: sycl: fix docker image

As reported in https://github.com/ggml-org/llama.cpp/discussions/5277#discussioncomment-13374885 the SYCL docker image has been failing for a while now. The issue seems to be the externally managed python environment error in the logs: https://github.com/ggml-org/llama.cpp/actions/runs/15458334203/job/43514658105#step:8:986 which prevents installing python modules system-wide with pip. This PR fixes this issue by introducing a virtual environment in which python packages are installed.

Changed files:
filename: .devops/intel.Dockerfile
patch: @@ -49,19 +49,23 @@ COPY --from=build /app/full /app
 
 WORKDIR /app
 
-RUN apt-get update \
-    && apt-get install -y \
-    git \
-    python3 \
-    python3-pip \
-    && pip install --upgrade pip setuptools wheel \
-    && pip install -r requirements.txt \
-    && apt autoremove -y \
-    && apt clean -y \
-    && rm -rf /tmp/* /var/tmp/* \
-    && find /var/cache/apt/archives /var/lib/apt/lists -not -name lock -type f -delete \
-    && find /var/cache -type f -delete
-
+RUN apt-get update && \
+    apt-get install -y \
+        git \
+        python3 \
+        python3-pip \
+        python3-venv && \
+    python3 -m venv /opt/venv && \
+    . /opt/venv/bin/activate && \
+    pip install --upgrade pip setuptools wheel && \
+    pip install -r requirements.txt && \
+    apt autoremove -y && \
+    apt clean -y && \
+    rm -rf /tmp/* /var/tmp/* && \
+    find /var/cache/apt/archives /var/lib/apt/lists -not -name lock -type f -delete && \
+    find /var/cache -type f -delete
+
+ENV PATH="/opt/venv/bin:$PATH"
 
 ENTRYPOINT ["/app/tools.sh"]
Repository: nodejs/node
Pull request: deps: update timezone to 2025a

Notable change:

```
Timezone data has been updated to 2025a:
- Paraguay adopts permanent -03 starting spring 2024.
- Improve pre-1991 data for the Philippines.
```

---

This PR was generated by tools/timezone-update.yml.

Updates the ICU files as per the instructions present in https://github.com/nodejs/node/blob/main/doc/contributing/maintaining/maintaining-icu.md#time-zone-data

To test, build node off this branch & log the version of tz using
```js
console.log(process.versions.tz)
```

Changed files:
filename: test/fixtures/tz-version.txt
patch: @@ -1 +1 @@
-2024b
+2025a
Repository: huggingface/transformers
Pull request: Add adam_kwargs for Apollo Optimizer

# What does this PR do?

Added adam_kwargs for the Apollo optimizer.

The [apollow_adamw](https://github.com/zhuhanqing/APOLLO/blob/main/apollo_torch/adamw.py#L41) optimizer is built based on the AdamW. It also takes kwargs for AdamW during initialization. This PR fixes the missing kwargs for it.


## Before submitting
- [ ] This PR fixes a typo or improves the docs (you can dismiss the other checks if that's the case).
- [x] Did you read the [contributor guideline](https://github.com/huggingface/transformers/blob/main/CONTRIBUTING.md#create-a-pull-request),
      Pull Request section?
- [ ] Was this discussed/approved via a Github issue or the [forum](https://discuss.huggingface.co/)? Please add a link
      to it if that's the case.
- [ ] Did you make sure to update the documentation with your changes? Here are the
      [documentation guidelines](https://github.com/huggingface/transformers/tree/main/docs), and
      [here are tips on formatting docstrings](https://github.com/huggingface/transformers/tree/main/docs#writing-source-documentation).
- [ ] Did you write any new necessary tests?


## Who can review?

@zhuhanqing


<!-- Your PR will be replied to more quickly if you can figure out the right person to tag with @

 If you know how to use git blame, that is the easiest way, otherwise, here is a rough guide of **who to tag**.
 Please tag fewer than 3 people.

Models:

- text models: @ArthurZucker
- vision models: @amyeroberts, @qubvel
- speech models: @eustlb
- graph models: @clefourrier

Library:

- flax: @gante and @Rocketknight1
- generate: @zucchini-nlp (visual-language models) or @gante (all others)
- pipelines: @Rocketknight1
- tensorflow: @gante and @Rocketknight1
- tokenizers: @ArthurZucker
- trainer: @zach-huggingface and @SunMarc
- chat templates: @Rocketknight1

Integrations:

- deepspeed: HF Trainer/Accelerate: @SunMarc @zach-huggingface
- ray/raytune: @richardliaw, @amogkam
- Big Model Inference: @SunMarc
- quantization (bitsandbytes, autogpt): @SunMarc @MekkCyber

Documentation: @stevhliu

HF projects:

- accelerate: [different repo](https://github.com/huggingface/accelerate)
- datasets: [different repo](https://github.com/huggingface/datasets)
- diffusers: [different repo](https://github.com/huggingface/diffusers)
- rust tokenizers: [different repo](https://github.com/huggingface/tokenizers)

Maintained examples (not research project or legacy):

- Flax: @Rocketknight1
- PyTorch: See Models above and tag the person corresponding to the modality of the example.
- TensorFlow: @Rocketknight1

 -->


Changed files:
filename: src/transformers/trainer.py
patch: @@ -1615,6 +1615,7 @@ def optimizer_hook(param):
                 "scale": float(optim_args.pop("scale", 1.0)),
                 "proj_type": optim_args.pop("proj_type", "std"),
             }
+            apollo_optim_kwargs.update(adam_kwargs)
 
             optimizer_cls, optimizer_kwargs = setup_low_rank_optimizer(
                 args.optim, optimizer_mapping, apollo_optim_kwargs
Repository: denoland/deno
Pull request: fix(ext/webstorage): make `getOwnPropertyDescriptor` with symbol return `undefined`

Closes #13347

Changed files:
filename: ext/webstorage/01_webstorage.js
patch: @@ -143,6 +143,9 @@ function createStorage(persistent) {
       if (ReflectHas(target, key)) {
         return undefined;
       }
+      if (typeof key === "symbol") {
+        return undefined;
+      }
       const value = target.getItem(key);
       if (value === null) {
         return undefined;

filename: tests/unit/webstorage_test.ts
patch: @@ -50,3 +50,8 @@ Deno.test(function webstorageProxy() {
   assertEquals(localStorage[symbol as any], "bar");
   assertEquals(symbol in localStorage, true);
 });
+
+Deno.test(function webstorageGetOwnPropertyDescriptorSymbol() {
+  localStorage.clear();
+  Object.getOwnPropertyDescriptor(localStorage, Symbol("foo"));
+});
Repository: ggml-org/llama.cpp
Pull request: cmake: Add ability to pass in LLAMA_BUILD_NUMBER/COMMIT

This is useful in the case where llama.cpp is built not from git, but from a tarball, or a distribution package. We already have this for ggml ([#1096](https://github.com/ggml-org/ggml/pull/1096) over there).

The LLAMA_BUILD_* variables are then also passed on to GGML_BUILD_*, they are both computed the same and I guess they should always be equal anyway when using the embedded ggml build?

Changed files:
filename: CMakeLists.txt
patch: @@ -89,6 +89,14 @@ option(LLAMA_LLGUIDANCE "llama-common: include LLGuidance library for structured
 include(${CMAKE_CURRENT_SOURCE_DIR}/cmake/build-info.cmake)
 include(${CMAKE_CURRENT_SOURCE_DIR}/cmake/common.cmake)
 
+if (NOT DEFINED LLAMA_BUILD_NUMBER)
+    set(LLAMA_BUILD_NUMBER        ${BUILD_NUMBER})
+endif()
+if (NOT DEFINED LLAMA_BUILD_COMMIT)
+    set(LLAMA_BUILD_COMMIT        ${BUILD_COMMIT})
+endif()
+set(LLAMA_INSTALL_VERSION 0.0.${BUILD_NUMBER})
+
 # override ggml options
 set(GGML_ALL_WARNINGS   ${LLAMA_ALL_WARNINGS})
 set(GGML_FATAL_WARNINGS ${LLAMA_FATAL_WARNINGS})
@@ -155,6 +163,8 @@ if (LLAMA_USE_SYSTEM_GGML)
 endif()
 
 if (NOT TARGET ggml AND NOT LLAMA_USE_SYSTEM_GGML)
+    set(GGML_BUILD_NUMBER ${LLAMA_BUILD_NUMBER})
+    set(GGML_BUILD_COMMIT ${LLAMA_BUILD_COMMIT})
     add_subdirectory(ggml)
     # ... otherwise assume ggml is added by a parent CMakeLists.txt
 endif()
@@ -204,10 +214,6 @@ endif()
 include(GNUInstallDirs)
 include(CMakePackageConfigHelpers)
 
-set(LLAMA_BUILD_NUMBER        ${BUILD_NUMBER})
-set(LLAMA_BUILD_COMMIT        ${BUILD_COMMIT})
-set(LLAMA_INSTALL_VERSION 0.0.${BUILD_NUMBER})
-
 set(LLAMA_INCLUDE_INSTALL_DIR ${CMAKE_INSTALL_INCLUDEDIR} CACHE PATH "Location of header  files")
 set(LLAMA_LIB_INSTALL_DIR     ${CMAKE_INSTALL_LIBDIR}     CACHE PATH "Location of library files")
 set(LLAMA_BIN_INSTALL_DIR     ${CMAKE_INSTALL_BINDIR}     CACHE PATH "Location of binary  files")

filename: common/build-info.cpp.in
patch: @@ -1,4 +1,4 @@
-int LLAMA_BUILD_NUMBER = @BUILD_NUMBER@;
-char const *LLAMA_COMMIT = "@BUILD_COMMIT@";
+int LLAMA_BUILD_NUMBER = @LLAMA_BUILD_NUMBER@;
+char const *LLAMA_COMMIT = "@LLAMA_BUILD_COMMIT@";
 char const *LLAMA_COMPILER = "@BUILD_COMPILER@";
 char const *LLAMA_BUILD_TARGET = "@BUILD_TARGET@";
Repository: facebook/react
Pull request: Fix typo: reconcilation -> reconciliation

<!--
  Thanks for submitting a pull request!
  We appreciate you spending the time to work on these changes. Please provide enough information so that others can review your pull request. The three fields below are mandatory.

  Before submitting a pull request, please make sure the following is done:

  1. Fork [the repository](https://github.com/facebook/react) and create your branch from `main`.
  2. Run `yarn` in the repository root.
  3. If you've fixed a bug or added code that should be tested, add tests!
  4. Ensure the test suite passes (`yarn test`). Tip: `yarn test --watch TestName` is helpful in development.
  5. Run `yarn test --prod` to test in the production environment. It supports the same options as `yarn test`.
  6. If you need a debugger, run `yarn debug-test --watch TestName`, open `chrome://inspect`, and press "Inspect".
  7. Format your code with [prettier](https://github.com/prettier/prettier) (`yarn prettier`).
  8. Make sure your code lints (`yarn lint`). Tip: `yarn linc` to only check changed files.
  9. Run the [Flow](https://flowtype.org/) type checks (`yarn flow`).
  10. If you haven't already, complete the CLA.

  Learn more about contributing: https://reactjs.org/docs/how-to-contribute.html
-->

## Summary

<!--
 Explain the **motivation** for making this change. What existing problem does the pull request solve?
-->

## How did you test this change?

<!--
  Demonstrate the code is solid. Example: The exact commands you ran and their output, screenshots / videos if the pull request changes the user interface.
  How exactly did you verify that your PR solves the issue you wanted to solve?
  If you leave this empty, your PR will very likely be closed.
-->


Changed files:
filename: packages/react-reconciler/src/ReactFiberCommitWork.new.js
patch: @@ -2381,7 +2381,7 @@ function commitMutationEffectsOnFiber(
 
   // The effect flag should be checked *after* we refine the type of fiber,
   // because the fiber tag is more specific. An exception is any flag related
-  // to reconcilation, because those can be set on all fiber types.
+  // to reconciliation, because those can be set on all fiber types.
   switch (finishedWork.tag) {
     case FunctionComponent:
     case ForwardRef:

filename: packages/react-reconciler/src/ReactFiberCommitWork.old.js
patch: @@ -2381,7 +2381,7 @@ function commitMutationEffectsOnFiber(
 
   // The effect flag should be checked *after* we refine the type of fiber,
   // because the fiber tag is more specific. An exception is any flag related
-  // to reconcilation, because those can be set on all fiber types.
+  // to reconciliation, because those can be set on all fiber types.
   switch (finishedWork.tag) {
     case FunctionComponent:
     case ForwardRef:
Repository: vercel/next.js
Pull request: Update test E2E deploy workflow to accept version

This allows us to run the E2E deploy tests against a custom tarball or version without triggering a canary release. 

Changed files:
filename: .github/workflows/test_e2e_deploy_release.yml
patch: @@ -6,6 +6,11 @@ on:
     types: [published]
   # allow triggering manually as well
   workflow_dispatch:
+    inputs:
+      nextVersion:
+        description: canary or custom tarball URL
+        default: canary
+        type: string
 
 env:
   VERCEL_TEST_TEAM: vtest314-next-e2e-tests
@@ -54,7 +59,7 @@ jobs:
       matrix:
         group: [1/6, 2/6, 3/6, 4/6, 5/6, 6/6]
     with:
-      afterBuild: npm i -g vercel@latest && NEXT_E2E_TEST_TIMEOUT=240000 NEXT_TEST_MODE=deploy NEXT_EXTERNAL_TESTS_FILTERS="test/deploy-tests-manifest.json" node run-tests.js --timings -g ${{ matrix.group }} -c 2 --type e2e
+      afterBuild: npm i -g vercel@latest && NEXT_E2E_TEST_TIMEOUT=240000 NEXT_TEST_MODE=deploy NEXT_EXTERNAL_TESTS_FILTERS="test/deploy-tests-manifest.json" NEXT_TEST_VERSION="${{ github.event.inputs.nextVersion || 'canary' }}" node run-tests.js --timings -g ${{ matrix.group }} -c 2 --type e2e
       skipNativeBuild: 'yes'
       skipNativeInstall: 'no'
       stepName: 'test-deploy-${{ matrix.group }}'