Commit graph

381 commits

Author SHA1 Message Date
JJ Kasper
ad1e8dd65d
Bump test timeout-minutes for test dev 2022-10-15 11:42:11 -07:00
JJ Kasper
c66b8f3926
Update bench options in stats-config (#41432)
x-ref:
https://github.com/vercel/next.js/actions/runs/3252514635/jobs/5338830017
x-ref:
https://github.com/vercel/next.js/actions/runs/3250842765/jobs/5335182082
2022-10-14 18:17:45 -07:00
LongYinan
e505e7545b
Upgrade next-swc-napi to NAPI-RS v2 (#40094)
Build succeed https://github.com/vercel/next.js/actions/runs/3243091429
2022-10-13 13:07:14 -07:00
Maxim Baz
de8ae7313f
Support aarch64 Linux with page size >= 16k (#41229)
Fixes https://github.com/vercel/next.js/issues/39311

Backport of upstream patch https://github.com/swc-project/swc/pull/6075

More details are described in https://github.com/swc-project/swc/issues/5967

I confirm that the swc plugin, when compiled with this patch, works on my Linux aarch64 machine.

This will work on all aarch64 Linux systems, the patch is configuring jemalloc to use largest possible page size, instead of taking the value from the machine where you are compiling it. 

And here's the compiled binary, if you want to give it a go!

[next-swc.linux-arm64-gnu.node.zip](https://github.com/vercel/next.js/files/9728262/next-swc.linux-arm64-gnu.node.zip)


Let me know if that makes sense! 🙂
2022-10-12 06:13:06 +00:00
JJ Kasper
09d642a700
Bump E2E test timeout minutes 2022-10-11 13:42:27 -07:00
JJ Kasper
188acd249c
Fix errors entry in codeowners 2022-10-05 22:10:23 -07:00
JJ Kasper
5af1a930a2
Add more test job timeouts (#41162)
This adds some upper bound time limits on our test jobs to ensure we
aren't slipping on test times or letting CI job stall and waste
concurrency.
2022-10-04 11:13:31 -07:00
Jiachi Liu
3e8af93220
Align pnpm version (#41123)
Align pnpm version in build pipelines with 7.3.0 to make sure lock files
are generated correctly
2022-10-03 17:07:52 +02:00
OJ Kwon
3b34602426
build(next/swc): consolidate swc_core dependency version (#41043)
<!--
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 that you're making:
-->

This PR utilizes cargo's new feature from latest release (1.64.0),
inheriting dependency from a workspace.

In short, top-level workspace cargo manifest can specify a version of
dependency to use, then actual packages uses it without re-declaring
version per each via workspace = true. This will help to dedupe
different versions of packages, also potentially avoid conflicts if
forgot to bump up specific versions.

In this pr only touches swc_core, which is a base dependency we use in
several place. One another benefit for this is bump up PR can be lot
more simplified, only need to update single Cargo.toml when we bump up.

Note rust-toolchain has updated to use nightly version after 1.64.0 to
enable this.

## Bug

- [ ] Related issues linked using `fixes #number`
- [ ] Integration tests added
- [ ] Errors have a helpful link attached, see `contributing.md`

## Feature

- [ ] Implements an existing feature request or RFC. Make sure the
feature request has been accepted for implementation before opening a
PR.
- [ ] Related issues linked using `fixes #number`
- [ ] Integration tests added
- [ ] Documentation added
- [ ] Telemetry added. In case of a feature if it's used or not.
- [ ] Errors have a helpful link attached, see `contributing.md`

## Documentation / Examples

- [ ] Make sure the linting passes by running `pnpm lint`
- [ ] The "examples guidelines" are followed from [our contributing
doc](https://github.com/vercel/next.js/blob/canary/contributing/examples/adding-examples.md)
2022-09-30 12:59:32 -07:00
Jaril
06607e3dd1
Add Replay integration for dev e2e tests (#40955)
<!--
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 that you're making:
-->

## Bug

- [ ] Related issues linked using `fixes #number`
- [ ] Integration tests added
- [ ] Errors have a helpful link attached, see `contributing.md`

## Feature

- [ ] Implements an existing feature request or RFC. Make sure the
feature request has been accepted for implementation before opening a
PR.
- [ ] Related issues linked using `fixes #number`
- [ ] Integration tests added
- [ ] Documentation added
- [ ] Telemetry added. In case of a feature if it's used or not.
- [ ] Errors have a helpful link attached, see `contributing.md`

## Documentation / Examples

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

@ijjk moving this here.

Co-authored-by: JJ Kasper <jj@jjsweb.site>
2022-09-29 14:45:10 -07:00
JJ Kasper
bc685142aa
Increase other timeouts 2022-09-27 13:11:15 -07:00
JJ Kasper
3a6d91b293
Increase playwright install timeout to 5 min 2022-09-27 12:54:14 -07:00
JJ Kasper
9657f99eed
Add timeout to playwright setup job (#40960)
The `npm i` step sometimes stall due to the network in GitHub actions so
this adds a timeout so we aren't wasting CI time on this.

x-ref:
https://github.com/vercel/next.js/actions/runs/3136162957/jobs/5092826951
2022-09-27 09:41:22 -07:00
Donny/강동윤
4f70f3af5d
chore: Update swc (#40928)
This PR updates swc crates to
3d393dd709

---

This PR applies

 - https://github.com/swc-project/swc/pull/5954

Closes https://github.com/vercel/next.js/issues/40803

 - https://github.com/swc-project/swc/pull/5956

Resolves
https://github.com/vercel/next.js/discussions/30237#discussioncomment-3717121
2022-09-26 22:50:50 -07:00
JJ Kasper
2cbbd61b4a
Update publish script to skip lerna (#40815)
This updates our `publish-release` script to bypass lerna so that we can
retry publishing automatically when there is an npm error and tolerate
non-fatal publish errors like already existing published versions.
Currently this will only allow publishing a canary release to ensure it
is working as expected and in a follow-up we can enable the stable
publish handling.

Separately we can investigate moving canaries away from `npm` to reduce
the number of versions being created there.

x-ref: https://github.com/vercel/next.js/pull/40812
x-ref:
https://github.com/vercel/next.js/actions/runs/3108735543/jobs/5038717354#step:10:2332
x-ref:
https://github.com/vercel/next.js/actions/runs/3108335849/jobs/5038069555
2022-09-22 16:22:17 -07:00
Jiachi Liu
cbfab2a3b7
Strip internal pages for pagesDir in app edge ssr (#40776)
For app edge SSR, we don't need any internal pages for it since it's
handled by app-renderer. This results around reducing 20KB from app edge
SSR

# Changes
* Strip those internal pages modules when it's in app edge SSR
* Minimize edge SSR chunk to see the tree-shake result
* Add bundle analyzer with switcher in stats-app for testing. Using
`TEST_ANAYLYSE=1` to build stats-app for testing
2022-09-21 17:18:18 -07:00
Balázs Orbán
3ff21ed178
refactor: split up CONTRIBUTING.md (#40515)
Continues #39778

Closes #40499

## Bug

- [ ] Related issues linked using `fixes #number`
- [ ] Integration tests added
- [ ] Errors have helpful link attached, see `contributing.md`

## Feature

- [ ] Implements an existing feature request or RFC. Make sure the
feature request has been accepted for implementation before opening a
PR.
- [ ] Related issues linked using `fixes #number`
- [ ] Integration tests added
- [ ] Documentation added
- [ ] Telemetry added. In case of a feature if it's used or not.
- [ ] Errors have helpful link attached, see `contributing.md`

## Documentation / Examples

- [ ] Make sure the linting passes by running `pnpm lint`
- [ ] The examples guidelines are followed from [our contributing
doc](https://github.com/vercel/next.js/blob/canary/contributing.md#adding-examples)

Co-authored-by: Tim Neutkens <tim@timneutkens.nl>
Co-authored-by: JJ Kasper <jj@jjsweb.site>
2022-09-16 14:54:58 -07:00
Balázs Orbán
e6ed8ef56e
add Balázs as codeowner to /errors/ directory
Ref: #40501
2022-09-13 13:23:03 +02:00
Balázs Orbán
e16c74bcaa
chore: turn off debug mode on issue validator (#40301)
The issue validator GitHub action has been running in the background for a while, and the output looks good: https://github.com/vercel/next.js/actions/workflows/validate_issue.yml

This PR switches off debug mode and will start commenting on improper bug reports to make triaging more effective.
2022-09-07 09:19:54 -04:00
Shu Ding
5f95b6b050
Improved route resolution in next-app-loader (#40109)
This PR implements the logic to make next-app-loader able to match multiple routes.

The app loader is refactored to construct the tree recursively instead of within a loop, as there could be multiple branches. Similarly, when entering a new layout level or branch, we resolve both the slot name (defaults to `"children"`) and the segment.

In order to make that work, the loader has to know all matched app paths. This is passed in as the `appPaths` loader option, which is gathered when creating the entrypoint.

## Bug

- [ ] Related issues linked using `fixes #number`
- [x] Integration tests added
- [ ] Errors have helpful link attached, see `contributing.md`

## Feature

- [ ] Implements an existing feature request or RFC. Make sure the feature request has been accepted for implementation before opening a PR.
- [ ] Related issues linked using `fixes #number`
- [ ] Integration tests added
- [ ] Documentation added
- [ ] Telemetry added. In case of a feature if it's used or not.
- [ ] Errors have helpful link attached, see `contributing.md`

## Documentation / Examples

- [ ] Make sure the linting passes by running `pnpm lint`
- [ ] The examples guidelines are followed from [our contributing doc](https://github.com/vercel/next.js/blob/canary/contributing.md#adding-examples)

Co-authored-by: Tim Neutkens <tim@timneutkens.nl>
Co-authored-by: JJ Kasper <jj@jjsweb.site>
2022-09-06 10:03:21 -07:00
JJ Kasper
6e2738241f
Update to use specific swc version for PR stats (#40237)
Currently we use one dev swc build for running release/PR stats although the latest swc build could be incompatible with previous tags/commits being compared against so this updates to use the specific version related to that tag. This also updates to omit the swc size from `node_modules` size since it's a dev build and not helpful to track. 

Fixes: https://github.com/vercel/next.js/runs/8189857273?check_suite_focus=true
2022-09-05 13:30:21 -07:00
Donny/강동윤
6356095481
chore: Update swc (#39965)
This PR updates SWC crates to f2a0eef4f1

---


 - Closes #17056

Co-authored-by: Jiachi Liu <inbox@huozhi.im>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2022-09-04 12:13:22 +02:00
JJ Kasper
4f36064938
Update docker image for stats action (#40032)
Noticed the stats action was leveraging the wasm fallback incorrectly
which seems to be due to the necessary glibc version not being available
in the docker image we were leveraging so this updates the base docker
image used so the wasm fallback isn't needed and the dev binary is
correctly used again.

Fixes:
https://github.com/vercel/next.js/runs/8004433626?check_suite_focus=true
Fixes:
https://github.com/vercel/next.js/runs/7988021570?check_suite_focus=true
2022-08-28 13:43:29 -05:00
JJ Kasper
434a8699d2
Increase test concurrency (#39922)
This increases our test concurrency to reduce CI times since it's increased as we've added more tests.
2022-08-25 12:33:03 -05:00
Balázs Orbán
5c8183464d
chore: check against npm version in issue validator (#38915)
I did some experimenting to see if we can grab the latest version from npm instead of GitHub releases since that's the version the user can actually use.

The npm registry sends the package metadata in a gigantic (~8mb for `next`) JSON response and parsing it with `res.json()` takes several seconds, but using `ReadableStream`, we only care about the first chunk. This way we can grab the relevant version information in a few ms. ~I added `undici` which implements `res.body.getReader()`.~ Using Node 18/native `fetch`.
2022-08-25 11:43:20 -05:00
Jiachi Liu
e2a5b095ae
test: merge edge ssr tests (#39924)
- Group edge ssr tests, merge `edge-vs.-non-edge-api-route-priority` and `react-18-streaming-ssr` into 1 e2e test suite
- Add rewrite case to edge ssr in switchable runtime
2022-08-24 23:56:59 +01:00
JJ Kasper
628d72fb03
Update ubuntu CI version due to deprecation (#39817)
GitHub actions is deprecating the Ubuntu 18.04 runner so this updates our CI to no longer leverage it in favor of the latest Ubuntu runner.
x-ref: https://github.com/vercel/next.js/actions/runs/2904029539
x-ref: https://github.com/actions/runner-images
2022-08-22 08:30:35 -05:00
LongYinan
6ff05b6815
Fix preinstall failed in yarn@1.x on FreeBSD with npm@8.17 (#39529)
[Build fixed: https://github.com/vercel/next.js/runs/7802539969?check_suite_focus=true](https://github.com/vercel/next.js/runs/7811339499?check_suite_focus=true)
2022-08-12 19:51:08 +00:00
JJ Kasper
c97a8e8f1b
Fix swc build for freebsd target (#39478)
* Fix swc build for freebsd target

* test build

* update build

* update version

* test v0

* use napi directly

* revert vm version

* undo test build
2022-08-10 18:09:10 -05:00
JJ Kasper
699564b226
Update Android NDK path for swc builds (#39298)
* Update Android NDK path for swc builds

* add debug log

* update paths

* update

* re-add isRelease checks

* update strip util path

* double check

* Revert "double check"
2022-08-03 15:38:09 -05:00
JJ Kasper
8ae6f28634
Update Safari 10 test to no longer wait for modern Safari (#39028) 2022-07-26 10:36:24 -05:00
JJ Kasper
135a4cfc66
Add handling for prefetching onTouchStart and initial mobile testing (#38805)
This adds handling for prefetching `onTouchStart` as this gives a little more time to start parsing required scripts for a page transition if not already done that can help make the transition faster. This is based on research showing the touch start event firing on average `90ms` before click (x-ref: [source](https://instant.page/#:~:text=in%20the%20world.-,On%20mobile,-A%20user%20starts))

This also adds testing safari with playwright so we can run these in PRs instead of only after merge and adds initial mobile testing as well. 

x-ref: [slack thread](https://vercel.slack.com/archives/C7PDM7X2M/p1658250170774989?thread_ts=1658249275.178349&cid=C7PDM7X2M)

## Bug

- [ ] Related issues linked using `fixes #number`
- [ ] Integration tests added
- [ ] Errors have helpful link attached, see `contributing.md`

## Feature

- [ ] Implements an existing feature request or RFC. Make sure the feature request has been accepted for implementation before opening a PR.
- [ ] Related issues linked using `fixes #number`
- [ ] Integration tests added
- [ ] Documentation added
- [ ] Telemetry added. In case of a feature if it's used or not.
- [ ] Errors have helpful link attached, see `contributing.md`

## Documentation / Examples

- [ ] Make sure the linting passes by running `pnpm lint`
- [ ] The examples guidelines are followed from [our contributing doc](https://github.com/vercel/next.js/blob/canary/contributing.md#adding-examples)
2022-07-25 19:04:03 +00:00
Sukka
6486e12eff
ci: dropping macos-10.15 (#38865)
GitHub Action is sunsetting the `macos-10.15` runner and it will be removed by 8/30/22: https://github.blog/changelog/2022-07-20-github-actions-the-macos-10-15-actions-runner-image-is-being-deprecated-and-will-be-removed-by-8-30-22/

Next.js only uses `macos-10.15` for building the freebsd version of the `next-swc` binary, and I have checked [`vmactions/freebsd-vm`](https://github.com/vmactions/freebsd-vm) does support `macos-12` (which requires `vmactions/freebsd-vm@0.2.0`).

I have updated the `runs-on` to `macos-12` and bumped `vmactions/freebsd-vm` to `0.2.0` in the PR.
2022-07-21 13:38:18 +00:00
Balázs Orbán
2da0ca2138 chore: tweak issue validator action 2022-07-15 14:36:06 +02:00
Balázs Orbán
ef7c9a4080 chore: improve issue validator logs 2022-07-14 12:39:12 +02:00
JJ Kasper
ff148a0fb4
Update to latest version of turbo (#38629)
Updates to latest turbo which includes patches for cached files. 

x-ref: [slack thread](https://vercel.slack.com/archives/C02CDC2ALJH/p1657767763630359?thread_ts=1657757803.039099&cid=C02CDC2ALJH)

## Bug

- [ ] Related issues linked using `fixes #number`
- [ ] Integration tests added
- [ ] Errors have helpful link attached, see `contributing.md`

## Feature

- [ ] Implements an existing feature request or RFC. Make sure the feature request has been accepted for implementation before opening a PR.
- [ ] Related issues linked using `fixes #number`
- [ ] Integration tests added
- [ ] Documentation added
- [ ] Telemetry added. In case of a feature if it's used or not.
- [ ] Errors have helpful link attached, see `contributing.md`

## Documentation / Examples

- [ ] Make sure the linting passes by running `pnpm lint`
- [ ] The examples guidelines are followed from [our contributing doc](https://github.com/vercel/next.js/blob/canary/contributing.md#adding-examples)
2022-07-14 09:03:35 +00:00
Balázs Orbán
0ac8ad07cb
chore: tweak issue validator (#38600)
- Do not comment/label if `next info` wasn't used, as we might not be able to detect the versions reliably.
- Ignore all issues that do not have the `template: bug` label or weren't labeled manually. (This might slip through a few issues that did not follow our template like [Reference in new issue](https://docs.github.com/en/issues/tracking-your-work-with-issues/creating-an-issue#creating-an-issue-from-a-comment) but that's minimal overhead already)
- Added note when the reproduction URL is unreachable to invite me to the private repository.
- Turned on DEBUG mode (no comments/labels, only logs) for now, so we can verify the behavior and find issues.

## Bug

- [ ] Related issues linked using `fixes #number`
- [ ] Integration tests added
- [ ] Errors have helpful link attached, see `contributing.md`

## Feature

- [ ] Implements an existing feature request or RFC. Make sure the feature request has been accepted for implementation before opening a PR.
- [ ] Related issues linked using `fixes #number`
- [ ] Integration tests added
- [ ] Documentation added
- [ ] Telemetry added. In case of a feature if it's used or not.
- [ ] Errors have helpful link attached, see `contributing.md`

## Documentation / Examples

- [ ] Make sure the linting passes by running `pnpm lint`
- [ ] The examples guidelines are followed from [our contributing doc](https://github.com/vercel/next.js/blob/canary/contributing.md#adding-examples)
2022-07-13 23:15:25 +00:00
JJ Kasper
9222ca9f3f
Add dev/start timing to PR stats (#38525)
* Add dev/start timing to PR stats

* get port for dev

* add dep

* update field names
2022-07-11 14:54:57 -05:00
JJ Kasper
fc91757299
Update CI job skipping based on related changes (#38479)
* Update CI job skipping based on related changes

* add for azure too

* update value

* simplify docs change value

* update value for swc as well
2022-07-11 09:42:51 -05:00
OJ Kwon
d920a17162
build(ci): enable rustls as default (#38471)
* build(ci): enable rustls as default

* test build
2022-07-09 16:24:38 -05:00
OJ Kwon
46dde0dd4a
feat(next/swc): setup native next-swc crash reporter with platform supports (#38221)
This is second attempt to https://github.com/vercel/next.js/pull/38076 . Most of changes are identical to previous PR. Main difference is introducing features `native-tls` and `rustls` for the sentry's downstream feature. Few platform targets we build (mostly where we cross compiles) fails to find native openssl for the specified target. For those, we falls back to rustls instead. The only exception is aarch64_windows, neither openssl nor rustls can be compiled straightforwardly, For those platform we bail out and do not init sentry at all. There are nearly 0 users on aarch64_windows anyway. We could try to located target's openssl binary, but the effort required seems not worth enough. 

Also PR changed `server_name` property to not to include real device hostname to avoid possible PII concerns.

## Bug

- [ ] Related issues linked using `fixes #number`
- [ ] Integration tests added
- [ ] Errors have helpful link attached, see `contributing.md`

## Feature

- [ ] Implements an existing feature request or RFC. Make sure the feature request has been accepted for implementation before opening a PR.
- [ ] Related issues linked using `fixes #number`
- [ ] Integration tests added
- [ ] Documentation added
- [ ] Telemetry added. In case of a feature if it's used or not.
- [ ] Errors have helpful link attached, see `contributing.md`

## Documentation / Examples

- [ ] Make sure the linting passes by running `pnpm lint`
- [ ] The examples guidelines are followed from [our contributing doc](https://github.com/vercel/next.js/blob/canary/contributing.md#adding-examples)
2022-07-07 17:37:50 +00:00
Balázs Orbán
e6bad25b5e chore: fix issue validator paths 2022-07-04 13:54:20 +02:00
Balázs Orbán
ef1ebb4a82
chore: point to /dist for local action 2022-07-04 13:49:10 +02:00
Balázs Orbán
50fa170520
chore: don't use type: "module" when building the Issue validator action (#38197)
https://github.com/vercel/next.js/runs/7130177863?check_suite_focus=true

## Bug

- [ ] Related issues linked using `fixes #number`
- [ ] Integration tests added
- [ ] Errors have helpful link attached, see `contributing.md`

## Feature

- [ ] Implements an existing feature request or RFC. Make sure the feature request has been accepted for implementation before opening a PR.
- [ ] Related issues linked using `fixes #number`
- [ ] Integration tests added
- [ ] Documentation added
- [ ] Telemetry added. In case of a feature if it's used or not.
- [ ] Errors have helpful link attached, see `contributing.md`

## Documentation / Examples

- [ ] Make sure the linting passes by running `pnpm lint`
- [ ] The examples guidelines are followed from [our contributing doc](https://github.com/vercel/next.js/blob/canary/contributing.md#adding-examples)
2022-06-30 17:26:57 +00:00
Jiachi Liu
5e2ad29309
Migrate rsc tests to app dir tests (#38158)
### Tests 
* keep node & edge for streaming
* separate rsc tests from streaming tests
* move rsc tests to app-dir, disable the broken ones for now
2022-06-29 23:12:57 +00:00
Maia Teegarden
5d60ea94af
Add more code ownership paths for padmaia (#38121) 2022-06-28 13:54:12 -05:00
Balázs Orbán
f0b7457666
chore: compile issue validator action (#37990)
Ref:

https://github.com/vercel/next.js/runs/7042041627?check_suite_focus=true
https://github.com/vercel/next.js/runs/7042041634?check_suite_focus=true

https://docs.github.com/en/actions/creating-actions/creating-a-javascript-action#commit-tag-and-push-your-action-to-github

## Bug

- [ ] Related issues linked using `fixes #number`
- [ ] Integration tests added
- [ ] Errors have helpful link attached, see `contributing.md`

## Feature

- [ ] Implements an existing feature request or RFC. Make sure the feature request has been accepted for implementation before opening a PR.
- [ ] Related issues linked using `fixes #number`
- [ ] Integration tests added
- [ ] Documentation added
- [ ] Telemetry added. In case of a feature if it's used or not.
- [ ] Errors have helpful link attached, see `contributing.md`

## Documentation / Examples

- [ ] Make sure the linting passes by running `pnpm lint`
- [ ] The examples guidelines are followed from [our contributing doc](https://github.com/vercel/next.js/blob/canary/contributing.md#adding-examples)
2022-06-26 21:39:19 +00:00
JJ Kasper
658a7f550f
Update to latest version of turbo (#37976) 2022-06-24 09:31:26 -05:00
Balázs Orbán
bee7b31549
chore: use Node 16 for issue validator action (#37982) 2022-06-24 12:27:49 +02:00
JJ Kasper
77ec56fa10
Fix issue-validator path 2022-06-23 22:31:29 -05:00