Skip to content

Commit

Permalink
doc: maintaining nghttp2
Browse files Browse the repository at this point in the history
PR-URL: #46539
Reviewed-By: Michael Dawson <[email protected]>
Reviewed-By: Luigi Pinca <[email protected]>
Reviewed-By: Paolo Insogna <[email protected]>
Reviewed-By: Rafael Gonzaga <[email protected]>
  • Loading branch information
marco-ippolito authored and targos committed Mar 13, 2023
1 parent dd40034 commit 7806cae
Show file tree
Hide file tree
Showing 2 changed files with 48 additions and 7 deletions.
9 changes: 2 additions & 7 deletions doc/contributing/maintaining-http.md
Original file line number Diff line number Diff line change
Expand Up @@ -113,11 +113,6 @@ directory and C++ code in the

The low-level implementation of
[HTTP2](https://nodejs.org/docs/latest/api/http2.html)
is based on [nghttp2](https://nghttp2.org/). Updates are pulled into Node.js
under [deps/nghttp2](https://github.com/nodejs/node/tree/HEAD/deps/nghttp2)
as needed.
is based on [nghttp2](https://nghttp2.org/). See [maintaining nghttp2][].

The low-level implementation is made available in the Node.js API through
JavaScript code in the [lib](https://github.com/nodejs/node/tree/HEAD/lib)
directory and C++ code in the
[src](https://github.com/nodejs/node/tree/HEAD/src) directory.
[maintaining nghttp2]: ./maintaining-nghttp2.md
46 changes: 46 additions & 0 deletions doc/contributing/maintaining-nghttp2.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
# Maintaining nghttp2 in Node.js

The low-level implementation of
[HTTP2](https://nodejs.org/docs/latest/api/http2.html)
is based on [nghttp2](https://nghttp2.org/). Updates are pulled into Node.js
under [deps/nghttp2](https://github.com/nodejs/node/tree/HEAD/deps/nghttp2)
as needed.

The low-level implementation is made available in the Node.js API through
JavaScript code in the [lib](https://github.com/nodejs/node/tree/HEAD/lib)
directory and C++ code in the
[src](https://github.com/nodejs/node/tree/HEAD/src) directory.

## Step 1: Updating nghttp2

The `tools/update-nghttp2.sh` script automates the update of the
postject source files.

In the following examples, `x.y.z` should match the nghttp2
version to update to.

```console
$ ./tools/update-nghttp2.sh x.y.z
```

## Step 2: Test the build

```console
$ make test-http2
```

## Step 3: Commit new nghttp2

```console
$ git add -A deps/nghttp2
$ git commit -m "deps: upgrade nghttp2 to x.y.z"
```

## Step 4: Update licenses

```console
$ ./tools/license-builder.sh
# The following commands are only necessary if there are changes
$ git add .
$ git commit -m "doc: update nghttp2 LICENSE using license-builder.sh"
```

0 comments on commit 7806cae

Please sign in to comment.