Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add notes on releasing jsapi-types #4887

Merged
merged 2 commits into from
Nov 29, 2023
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 6 additions & 1 deletion RELEASE.md
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,11 @@ and are published as the following:
* [C++ Client API](https://deephaven.io/core/client-api/cpp/)
* [C++ Examples](https://deephaven.io/core/client-api/cpp-examples/)
* [R Client API](https://deephaven.io/core/client-api/r/)
* [TypeScript Client API](https://deephaven.io/core/client-api/javascript/)
* [JavaScript/TypeScript Client API](https://deephaven.io/core/client-api/javascript/)

### Deephaven JS API types
The npm package `@deephaven/jsapi-types` allow TypeScript clients to use their IDE's autocomplete and compiler's typechecks.
It is released to [npm](https://www.npmjs.com/package/@deephaven/jsapi-types).

## Release process

Expand Down Expand Up @@ -265,6 +269,7 @@ mention the version explicitly. These files are listed below:
#
gradle.properties
R/rdeephaven/DESCRIPTION
web/client-api/types/package.json
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Does package-lock.json need to be updated too?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think so, since I never had it in there previously, but I used the npm version command to perform this particular update and it emitted that. @mofojed can you weigh in?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, otherwise the next npm install will cause a package-lock.json diff (when it adds the version info to it). package-lock.json shouldn't typically be modified by hand though...
Side note - what version of node/npm are you using Colin? Doesn't seem to match the engines specified in the package.json ("node": ">=16"). We should update that version in

deephaven.registry.imageName=node:14
(probably use node:18 now instead of 14).
We should have a .nvmrc file defining the node version of an .npmrc specifying the engine version should be strict and enable provenance as well, so we can sign the builds using GitHub Actions: https://github.blog/2023-04-19-introducing-npm-package-provenance/
I guess then we should just have a gradle action that runs the npm version?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I used npm 10.2.3 locally to run the npm version command that wrote that update to the package-lock.json, and must have created the file using the older node/npm from the container, since it produces a different package-lock.json output if i run it again outside that image.

If you're suggesting running npm version from CI, wouldn't that imply either creating a commit, or not updating the version itself?

Also, does provenance buy us anything here, given that it is just the .d.ts file?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Bumping the node image breaks the raw-js-openapi build, i'll file an issue and get that worked out separately. I'll back out the version change to package-lock.json for the moment, and work out the node bump and other CI actions later?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

#4888 to follow up on the node image and updating these js projects.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks like this fixes #4888 as well now? Looks good to me, but the instructions should be to run the a gradle bump action instead of manually editing this package.json file

```

This leaves the files "ready" for the next regular release, and also ensures any build done from
Expand Down
3 changes: 2 additions & 1 deletion web/client-api/types/package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions web/client-api/types/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@deephaven/jsapi-types",
"version": "1.0.0-dev1",
"version": "1.0.0-dev0.31.0",
"description": "Deephaven JSAPI Types",
"author": "Deephaven Data Labs LLC",
"license": "Apache-2.0",
Expand All @@ -24,4 +24,4 @@
"publishConfig": {
"access": "public"
}
}
}
Loading