12 Commits

Author SHA1 Message Date
Benjamin Woodruff 5563b4d7e1 Turbopack: Update rust toolchain to nightly-2026-02-18 (#89974)
Rust finally merged a fix to the "trying to encode a dep node twice" ICE we seem to most frequently run into, triggered by the rustc parallel frontend feature: https://github.com/rust-lang/rust/pull/151509

- @mischnic  commented on the issue: https://github.com/rust-lang/rust/issues/150018#issuecomment-3754877064
- @mischnic just updated our toolchain last week, but I'd like to get this fix in.

CI Job for build-and-release that covers all platforms: https://github.com/vercel/next.js/actions/runs/22156881743  
  
In the process of this upgrade, I found and reported https://github.com/rust-lang/rust/issues/152735 upstream (fixed `nightly-2026-02-18`).
2026-02-18 15:41:22 -08:00
Niklas Mischkulnig 6dfcffe1cf Upgrade rustc to 2026-02-05 (#89591)
- checked_div 
- loop -> while
2026-02-06 21:03:00 +01:00
Niklas Mischkulnig 507194aa64 Upgrade to rustc 2026-01-04 (#88095) 2026-01-08 09:30:10 +01:00
Niklas Mischkulnig c2081b134e Bump Rust to nightly-2025-09-21 (#83415)
It compiles fine, but we have another problem: `cargo fmt` really doesn't like it

```
cargo fmt -- turbopack/crates/turbo-tasks-fs/src/lib.rs
error: let chains are only allowed in Rust 2024 or later
   --> /Users/niklas/code/next.js/turbopack/crates/turbo-tasks-fs/src/lib.rs:749:44
    |
749 |                     if create_directory && let Some(parent) = full_path.parent() {
    |                                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

error: let chains are only allowed in Rust 2024 or later
   --> /Users/niklas/code/next.js/turbopack/crates/turbo-tasks-fs/src/lib.rs:893:44
    |
893 |                     if create_directory && let Some(parent) = full_path.parent() {
    |                                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

error: let chains are only allowed in Rust 2024 or later
    --> /Users/niklas/code/next.js/turbopack/crates/turbo-tasks-fs/src/lib.rs:1233:12
     |
1233 |         if let Some(path) = join_path(&self.path, path)
     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

```

The precommit hook that selectively runs on files is simply not a supported usecase.

So I changed that to `rustfmt --edition 2024 -- `​ now 🤷 

Previous discussion: https://vercel.slack.com/archives/C03EWR7LGEN/p1748898285716779
2025-09-23 17:15:44 +02:00
Benjamin Woodruff 3e750d104f Devcontainer: Replace Dockerfile with prebuilt image+features (#82450)
Devcontainers support custom `Dockerfile`s, but it seems like it's more recommended to use a base image with "features" on top: https://containers.dev/implementors/features/

Features get applied after the `Dockerfile`, so e.g. if we're installing `rust` with a feature, then we can't install things that depend on `rust` (e.g. `cargo-nextest`: https://nexte.st/) in the `Dockerfile`. So you're forced to do things with features instead, which can specify dependencies and ordering requirements.

I removed a bunch of comments that were left over from the template. People wishing to update this file should refer to the https://aka.ms/devcontainer.json link at the top of the file.

Also added a lockfile for the features, generated with:

```
devcontainer upgrade --workspace-folder=.
```

**Note:** The `base.Dockerfile` here was entirely unused.


### Testing

```
podman stop --all && podman rm --all  # replace podman with docker if you're using docker
devcontainer up --workspace-folder=.
devcontainer exec --workspace-folder=. zsh
```
2025-08-08 10:14:30 -07:00
Tobias Koppers 2da625932c [Turbopack] use new backend in next-build-test (#75724)
### What?

* use new backend in next-build-test
* apply effects in next-build-test
* fix Dockerfile
2025-02-06 15:13:05 +01:00
Sebastian "Sebbie" Silbermann cefa93ca5c Fix corepack keys (#75600) 2025-02-03 10:57:22 +01:00
Jam Balaya d8c1875800 chore: add syntax parser directive to Dockerfile (#72380)
## What?
Add [`syntax`](https://docs.docker.com/reference/dockerfile/#syntax)
parser directive to the first line of the
[Dockerfile](https://docs.docker.com/reference/dockerfile/).

## Why?
To declare the Dockerfile syntax version to use for the build.
If unspecified, [BuildKit](https://docs.docker.com/build/buildkit/) uses
a bundled version of the Dockerfile frontend.

## How?
Append `# syntax=docker.io/docker/dockerfile:1` to the top of the
[Dockerfile](https://docs.docker.com/reference/dockerfile/).

Co-authored-by: JJ Kasper <jj@jjsweb.site>
2024-11-06 23:22:46 +00:00
Mayank 544fc0acdf fix: Update docker base images to node:20 (#66702) 2024-06-10 16:40:26 +02:00
Tobias Koppers c27b546908 re-enable next-dev-tests (#47087)
### What?

enables the next-dev-tests crate integration tests from trubopack

### Why?

to unblock the move PR we temporarily disabled the tests

### How?

Fix the new location and fix the expect dependency

Fixes WEB-708

---------

Co-authored-by: Justin Ridgewell <justin@ridgewell.name>
2023-03-14 16:05:19 +01:00
Akshit Sinha c3d1f024a5 Remove devcontainer network host argument (#44157)
This removes the `--net=host` argument passed to the devcontainer.
Originally introduced for X11 forwarding, devcontainer already passes
`--network host` argument doing the same
[thing](https://stackoverflow.com/q/50644889/8429267)?
Check the build logs
```
Start: Run: docker run --sig-proxy=false -a STDOUT -a STDERR --mount type=bind,src=/var/lib/docker/codespacemount/workspace,dst=/workspaces --mount source=/root/.codespaces/shared,target=/workspaces/.codespaces/shared,type=bind --mount source=/var/lib/docker/codespacemount/.persistedshare,target=/workspaces/.codespaces/.persistedshare,type=bind --mount source=/.codespaces/agent/mount,target=/.codespaces/bin,type=bind --mount source=/mnt/containerTmp,target=/tmp,type=bind --mount type=bind,src=/.codespaces/agent/mount/cache,dst=/vscode -l Type=codespaces -e CODESPACES=true -e ContainerVersion=12 -e RepositoryName=next.js --label ContainerVersion=12 --hostname codespaces-9b31fb --add-host codespaces-9b31fb:127.0.0.1 --cap-add sys_nice --network host --cap-add SYS_PTRACE --security-opt seccomp=unconfined --entrypoint /bin/sh vsc-next.js-e4966344b9ebb252cd82cad8e4b143f1 -c echo Container started
```

[Refer](https://github.com/vercel/next.js/pull/43138#issuecomment-1328026282)
for original issue with the current configuration. Closes #43451

P.S. Why do we have X11 support in devcontainers in the first place? Its
not something *most* people will use, especially if it comes with the
cost of codespaces not working. Need someone to verify if X11 forwarding
still works with this configuration as it probably should.
2022-12-19 16:38:20 -08:00
Jan Kaifer ee974817fe Add support for next.js development in docker (#43138)
Co-authored-by: Tim Neutkens <tim@timneutkens.nl>
2022-11-23 11:35:49 +01:00