Commit graph

966 commits

Author SHA1 Message Date
Sebastian Silbermann
5bdffad843
Bump minimum Node.js version to 18.18 (up from 18.17) (#67274) 2024-07-05 09:21:57 +00:00
Sebastian Silbermann
978af08cc4
Automatically trigger sync with Front on release (#66453) 2024-07-03 19:09:51 +02:00
Sebastian Silbermann
f1488d5d68
Persist package tarballs as GitHub Actions artifacts (#66445) 2024-07-02 15:18:45 +00:00
Sebastian Silbermann
d8d8b53cd1
Allow busting reserved Github action caches (#66638) 2024-07-02 14:51:40 +02:00
Hendrik Liebau
ba97c7595f
Update labeler.json (#67359)
### What?

Reflect team changes in labeler list.
2024-07-02 00:00:49 +02:00
Sam Ko
e6983b911b
chore: update pnpm to 9.4.0 (#64945)
## Why?

Notable change of v9 is Corepack is enabled by default.  
So we can ensure all package manage/resolved exact same version of pnpm.

- [**v9.0.0**](https://github.com/pnpm/pnpm/releases/tag/v9.0.0):
Discontinued support for Node.js v16 and introduced Corepack
compatibility checks. New configuration updates include enabling
`dedupe-injected-deps` and changing the lockfile to version 9, with
better readability and resistance to Git conflicts.

...

- [**v9.4.0**](https://github.com/pnpm/pnpm/releases/tag/v9.4.0)

- Kudos to @ryota-murakami for the original :pr:! →
https://github.com/vercel/next.js/pull/64854

## Changes

- https://pnpm.io/npmrc#link-workspace-packages defaults to `false` now,
so setting it to `true`

Closes NEXT-3211
2024-06-28 04:41:35 -07:00
Sam Ko
bdd1d31d57
chore: bump turbo to 2.0.6-canary.0 (#67270) 2024-06-28 01:15:22 -07:00
Tobias Koppers
503fa921ab
Switch from automatically requesting reviews to manually requesting them (#67024)
### Why?

It's annoying that all people are requested as reviewer on every PR.
Instead we want to manually request specific people.
2024-06-20 10:24:28 +02:00
Sam Ko
a11364b37b
chore(github): add improvements to bankrupt-issues (#67028)
## Why?

- Add link to the run itself instead of just the workflow
- Add `title` and `url` to each issue when logged in run
2024-06-19 20:54:48 +00:00
JJ Kasper
42f6dc3d9c
Add concurrency for flakey tests detection (#67019)
This ensures we parallelize our flakey test detection since when a lot
are changed it can hit the timeout and not be able to run them all.
2024-06-19 07:01:24 -07:00
Sam Ko
af93aafc95
chore(github-workflow): update bankrupt-issues (#67023)
## Why?

Add slack message after bankrupting issues.
2024-06-19 13:53:41 +00:00
Zack Tanner
dd06246973
fix conflicting turbo run summary artifacts (#67020)
`matrix.group` wasn't defined so this wasn't deduping the artifact keys
causing errors.

[x-ref](https://github.com/vercel/next.js/actions/runs/9580021449/job/26413817804?pr=67015)
2024-06-19 12:56:13 +00:00
Sam Ko
9ff5c44989
chore(github-workflow): fix bankrupt issues again.. (#67015)
## Why?

Switch to using `env` instead of `with`.
2024-06-19 10:27:52 +00:00
Sebastian Silbermann
318e3459c4
Use react-dom/server.edge instead of .browser in Next.js runtime (#66954) 2024-06-19 11:41:07 +02:00
Will Binns-Smith
f30e5dbb29
Run and report benchmarks (#66851)
Using `@vercel/devlow-bench`, this benchmarks changes landed on canary
and reports results to Datadog.
2024-06-18 11:11:15 -07:00
Sam Ko
91c825eefa
chore(github-workflow): fix issue_bankrupt workflow again (#66993)
## Why?

Update location of `with` so `getInput('created')` is not undefined.
2024-06-18 15:11:26 +00:00
Sam Ko
55eea1c482
chore(github-workflow): fix issue_bankrupt workflow (#66992)
## Why?

Add `with` so `getInput('created')` is not undefined.
2024-06-18 14:08:00 +00:00
Sam Ko
8415161671
chore(github-workflow): bankrupt issues (#66581)
## Why?

Let's start bankrupting older issues (e.g., issues 2019 and older), with
a message indicating users should re-open the issue using the current
[bug
report](https://github.com/vercel/next.js/issues/new?assignees=&labels=template:+bug&projects=&template=1.bug_report.yml)
if the issue is still relevant.

Need to merge this first so we can give an input to the job.
2024-06-18 12:57:21 +00:00
Jiachi Liu
cb2663aead
Fix: remove enegine requried pnpm version (#66914) 2024-06-15 13:50:18 -07:00
Zack Tanner
d46596d323
Fix workflow typo (#66903)
Accidentally introduced in #66888
2024-06-15 07:04:50 -07:00
Benjamin Woodruff
0b1209edfa
Revert "Revert "Use turbo-tasks-malloc on all platforms" (#66884)", fix aarch64 compilation in CI (#66885)
We either need GCC >= 4.9 or we need to link with libatomic:
https://github.com/microsoft/mimalloc/issues/443

Unfortunately, manylinux2014-cross ships with GCC 4.8.5:
https://github.com/rust-cross/manylinux-cross/blob/main/manylinux2014/aarch64/Dockerfile#L71

We already appear to override the compiler toolchain in CI for x86_64 to
use clang (which is why mimalloc works there), so let's go ahead and do
that here too. This at least means we're using the same compiler across
both architectures.

I'm leaving the aarch64-musl codepath the same (using gcc) because (1)
we don't use mimalloc there yet and (2) it's a bit harder for me to test
as thoroughly.

# Testing

## Local Compilation

Run bash inside the docker image (I also had to install rosetta2 inside
my Linux VM, as this is an x86_64 image used for cross-compilation to
aarch64):

```
podman run --platform=linux/amd64 -t -i ghcr.io/napi-rs/napi-rs/nodejs-rust:stable-2023-09-17-aarch64 bash -l
```

```
git clone https://github.com/vercel/next.js.git --filter=blob:none --branch canary --single-branch
cd next.js
git checkout 6ae9828cce
```

Run the build locally:

```
apt update &&
apt install -y pkg-config xz-utils dav1d libdav1d-dev &&
export JEMALLOC_SYS_WITH_LG_PAGE=16 &&
rustup show &&
rustup target add aarch64-unknown-linux-gnu &&
npm i -g "@napi-rs/cli@${NAPI_CLI_VERSION}" &&
export CC_aarch64_unknown_linux_gnu=/usr/bin/clang &&
export CFLAGS_aarch64_unknown_linux_gnu="--target=aarch64-unknown-linux-gnu --sysroot=/usr/aarch64-unknown-linux-gnu" &&
cd packages/next-swc && npm run build-native-release -- --target aarch64-unknown-linux-gnu &&
llvm-strip -x native/next-swc.*.node &&
objdump -T native/next-swc.*.node | grep GLIBC_
```

Sanity check that the result is an aarch64 binary

```
$ file native/next-swc.linux-arm64-gnu.node
native/next-swc.linux-arm64-gnu.node: ELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, not stripped
```

## Verifying the binary works

Copy the next-swc binary into a copy of shadcn-ui I have sitting around:

```
podman cp 4e8f61b17965:/next.js/packages/next-swc/native/next-swc.linux-arm64-gnu.node ~/ui/node_modules/.pnpm/file+..+nextpack+tarballs+next-swc.tar/node_modules/@next/swc/native/next-swc.linux-arm64-gnu.node
```

and then try running the dev server and loading pages from it in the
browser:

```
pnpm --filter=www dev --turbo
```

## In CI


https://github.com/vercel/next.js/actions/runs/9523143080/job/26254016137
2024-06-15 03:39:24 +00:00
Zack Tanner
7fd37cc95c
split CI retry workflows (#66888)
Splitting these workflows up to improve readability & control the
`workflow_run` condition a bit better.
2024-06-14 15:11:52 -07:00
Zack Tanner
f8f27734f8
fix webhook token (#66883)
Accidentally inverted these
2024-06-14 13:10:56 -07:00
Sam Ko
710b0b7cd4
chore(github): update users (#66877)
## Why?

Update the labeler list.
2024-06-14 11:20:29 -07:00
Zack Tanner
c436a83c65
tweak deploy test jobs (#66856)
- remove fail fast so we can get a full picture of what's failing
- remove alerting/retrying to existing job

---------

Co-authored-by: JJ Kasper <jj@jjsweb.site>
2024-06-14 10:37:28 -07:00
Sam Ko
e296846427
chore: bump turbo to 2.0.3 (#66784)
## Why?

This pull request bumps turborepo from 1.13.3-canary.2 to
[2.0.3](https://github.com/vercel/turbo/releases/tag/v2.0.3) across
multiple GitHub workflows and configuration files.

Re-attempting after we
[reverted](https://github.com/vercel/next.js/pull/66775).
2024-06-12 19:31:42 +00:00
JJ Kasper
73918c6711
Ensure turbo is setup when building in docker (#66804)
This ensures we always set up turbo to the version we expect even if
we're building in docker since the cache is pulled outside of docker.

x-ref:
https://github.com/vercel/next.js/actions/runs/9484631800/job/26134568488
2024-06-12 09:42:50 -07:00
Zack Tanner
ac46ffe08f
disable deploy tests for incompatible suites (#66776)
This disables tests that should not be run in a deployed environment,
because they use incompatible APIs or there's no reason to test them
outside of `next start`. Specifically disables for things like:

- Using `next.patchFile`, `next.renameFile`, etc.
- Attempting to use `next.cliOutput` to query runtime logs. When
deployed, these are only build-time logs.

[Latest Run](https://github.com/vercel/next.js/actions/runs/9483807368)
2024-06-12 07:38:02 -07:00
Zack Tanner
eb6575adb9
tweak deploy test concurrency & fail condition (#66779)
[x-ref](https://github.com/vercel/next.js/actions/runs/9475354204/job/26106589121)
2024-06-11 19:38:32 -07:00
JJ Kasper
d22da49b49
Revert "chore: bump turbo to 2.0.3" (#66775)
Seems the latest turbo version is causing issues with our rust
compilation so reverting for now

Reverts vercel/next.js#66762
2024-06-11 18:17:06 -07:00
Sam Ko
561dcf6c43
chore: bump turbo to 2.0.3 (#66762)
## Why?

This pull request bumps turborepo from 1.13.3-canary.2 to
[2.0.3](https://github.com/vercel/turbo/releases/tag/v2.0.3) across
multiple GitHub workflows and configuration files.
2024-06-11 22:28:01 +00:00
Zack Tanner
a00555ae3a
tweak deploy failure notification condition (#66769)
Make sure this doesn't get skipped
[x-ref

](https://github.com/vercel/next.js/actions/runs/9472800340/job/26098835283)
<!-- 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 #

-->
2024-06-11 14:39:18 -07:00
Zack Tanner
b8be05c1ae
fix e2e deployment test action (#66721)
[Test
Run](https://github.com/vercel/next.js/actions/runs/9471783416/job/26095882422)

Changes:

- Add a setup step that clears the project so it doesn't happen in each
runner
- Run when a release is published rather than on cron
- Notify via Slack when a failure occurs
- Leverage build_reusable for the test runner to match the
build_and_test workflow
- Fixes to `next-deploy` script: not properly logging/catching errors
- Adds manifest to ignore known issues 
- Split into 6 runners with 2 concurrency (12 deploys at a time)
- Adds some logging so we know what's happening
- Disable Playwright trace mode (it kept failing to find a trace file
and cluttering the output. Don't think we need it here anyway)

<details>
- <summary>Removed noisy output</summary>

![CleanShot 2024-06-10 at 14 08
05@2x](https://github.com/vercel/next.js/assets/1939140/f227e71c-95b4-4859-90de-a23c88c55ea8)

</details>


<!-- 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 #

-->
2024-06-11 20:59:43 +00:00
Zack Tanner
801e891c7e
remove related e2e workflow (#66758)
I'm working on fixing our deploy tests workflow. See:
- #66721

This particular workflow runs on each PR but it uses the canary version.
It also wipes the deploy test project which will cause conflicts with
the main e2e one.

Removing this for now since it's not working as intended, and will
reland it with fixes.

<!-- 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 #

-->
2024-06-11 10:18:58 -07:00
Tobias Koppers
6820820a63
reliability of the release action (#66637)
### What?

* [allow to re-run the action that publishes the
release](ce4f629d73)
* [allow to force trigger a new
release](7e26cd7794)

### Why?

On failure we might want to re-run the whole action or publish a new
release without changes
2024-06-07 14:50:45 +02:00
Sam Ko
32c2795e54
chore(github-workflow): add bankrupt issues workflow (#66383)
## Why?

Add an empty bankrupt issues workflow so I can start testing the GitHub
Action.

## Changes

- Rename `.github/actions/next-repo-info` →
`.github/actions/next-repo-actions`
- Add `issue_bankrupt.yml` GitHub workflow
2024-06-05 11:33:56 -07:00
Sebastian Silbermann
9085ea4b83
Update labeler config for CI approved (#66335) 2024-05-29 17:37:36 +02:00
Sebastian Silbermann
d739df15d2
Fail early in release if auth fails with configured gh token (#66171)
`gh auth status` works:
https://github.com/vercel/next.js/actions/runs/9216143946/job/25355841804#step:4:16

We should fail early to hopefully get a better error message if
authentication with the configured token fails.
2024-05-28 14:29:19 -07:00
Alexander Lyon
2966b85bcc
add arlyon to turbopack team (#66177) 2024-05-24 14:10:30 +00:00
Sebastian Silbermann
e62bc11358
Check access token early during release (#66133) 2024-05-23 15:33:37 +00:00
JJ Kasper
188b37d11d
Add release candidate handling to start release (#66107)
This adds support for a new `rc` publish tag to our start release
workflow.
2024-05-22 23:52:56 -05:00
Benjamin Woodruff
4ead5fc00d
next-swc-napi: Enable "plugin" feature by default (#66006)
As noted in (https://github.com/vercel/nextpack/pull/103), by not having
this as a default feature, when running the `build-native` script it's
not able to re-use any cargo caches that might already exist from a
default build.

Because this feature impacts the swc crate, everything dependent on it
can be forced to rebuild.

By making this a default feature, the hope/theory is that the number of
different ways we potentially build our dependency graph reduces, and
cargo cache hits will improve.

## Changes

- Add `plugin` to the default set of features for `next-swc-napi`.
- Consolidate `build-native-no-plugin-woa` with
`build-native-no-plugin`. Given the lack of any other default features,
these are equivalent.
- `i686-pc-windows-msvc`: Switch to `build-native-no-plugin-release` in
CI instead of just supplying the `--release` flag. This has the benefit
of also enabling `tracing/release_max_level_info`, which might reduce
the size of or speed up these builds.
- `x86_64-apple-darwin`: Remove a redundant `--release` flag in the CI
config (no expected changes).

## Testing

I've tested this locally on Linux (`pnpm run build-native`) and
Windows-on-ARM (`pnpm run build-native-no-plugin`) by making sure things
still build. I'll also make sure CI passes.
2024-05-22 11:09:04 -07:00
OJ Kwon
39bd310b57
ci(workflow): skip building next-swc with latest turbopack (#66048)
### What

this was the way we run ci on turbopack's repo and to get the latest
test results, which isn't required anymore.
2024-05-21 18:45:13 +00:00
Sam Ko
325a490616
chore(github-workflow): move issues, prs, features to #next-info channel (#65991)
## Why?

Moving these cron updates to a different channel to create less noise.
2024-05-20 22:23:33 +00:00
hrmny
b5fb1c11d4
chore(CI): escape PR title for slack webhook (#65742) 2024-05-14 15:39:17 +02:00
hrmny
64b718c661
chore: update prettier to 3.2.5 (#65092) 2024-05-08 21:47:14 +02:00
OJ Kwon
531348d864
feat(next): revise server component error message (#65468)
### What

Coming from internal feedback:
https://vercel.slack.com/archives/C046HAU4H7F/p1714858224393659
2024-05-08 12:39:37 -07:00
Sam Ko
0864e21931
chore(github-workflow): Update title for update-font-data workflow (#65293)
## Why?

We're constantly getting failures when attempting to update our font
data.

Update: I couldn't find anything why this was failing, so I'm guessing
there just wasn't any changes that were needed? It just worked with the
same code.

-
https://github.com/vercel/next.js/actions/runs/8916579201/job/24488235812
(fail)
- https://github.com/vercel/next.js/actions/runs/8931168481 (successful)

Closes NEXT-3304
2024-05-02 22:55:00 +00:00
Sam Ko
2bbeab878c
chore(github-workflow): add linear: next labels to sync popular issues to linear (#65288)
## Why?

Helps us triage the most popular issues better by also having these in
linear.

Closes NEXT-3290
2024-05-02 19:25:35 +00:00
Sam Ko
9a5b971fc6
chore(github-workflow): update to check all reactions (#65228)
## Why?

We should check `reaction.total_count`, not just 👍🏼 reactions.

Closes NEXT-3271
2024-05-01 11:33:16 -07:00