-
Notifications
You must be signed in to change notification settings - Fork 80
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
Deploy @deephaven/jsapi-types
during release, provide tools for nightly builds
#4907
Changes from all commits
ce567ff
6e745d7
8e475d0
2ab6475
a93d93c
eacf5f4
ae30a5e
cfba8dc
59263d2
169fbce
b110c84
bb56530
74e95e0
ffd4463
732324e
1a7739e
c99c4d2
d5d44fe
22e6dcd
5caa58c
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -39,23 +39,29 @@ jobs: | |
.github/scripts/gradle-properties.sh >> gradle.properties | ||
cat gradle.properties | ||
|
||
- name: Setup Node for deployment to npmjs | ||
uses: actions/setup-node@v4 | ||
with: | ||
node-version-file: 'web/client-api/types/.nvmrc' | ||
registry-url: 'https://registry.npmjs.org' | ||
|
||
# TODO(deephaven-core#2614): Improve gradle/CI assemble and publishing of artifacts | ||
|
||
- name: Publish to Maven Local | ||
- name: Build all artifacts, publish to Maven Local | ||
if: ${{ !startsWith(github.ref, 'refs/heads/release/v') }} | ||
uses: burrunan/gradle-cache-action@v1 | ||
with: | ||
job-id: publish-local | ||
arguments: server-netty-app:build server-jetty-app:build py-server:build py-embedded-server:build py-client:build publishToMavenLocal | ||
arguments: server-netty-app:build server-jetty-app:build py-server:build py-embedded-server:build py-client:build web-client-api:types:build publishToMavenLocal | ||
gradle-version: wrapper | ||
|
||
- name: Publish | ||
- name: Build all artifacts, publish to Sonatype for staging to Maven Central | ||
if: ${{ startsWith(github.ref, 'refs/heads/release/v') }} | ||
uses: burrunan/gradle-cache-action@v1 | ||
with: | ||
job-id: publish | ||
# We need to be explicit here about no parallelism to ensure we don't create disjointed staging repositories. | ||
arguments: --no-parallel server-netty-app:build server-jetty-app:build py-server:build py-client:build py-embedded-server:build publish | ||
arguments: --no-parallel server-netty-app:build server-jetty-app:build py-server:build py-client:build py-embedded-server:build web-client-api:types:build publish | ||
gradle-version: wrapper | ||
env: | ||
ORG_GRADLE_PROJECT_ossrhUsername: ${{ secrets.SONATYPE_USERNAME }} | ||
|
@@ -74,6 +80,7 @@ jobs: | |
py/server/build/wheel/ | ||
py/embedded-server/build/wheel/ | ||
py/client/build/wheel/ | ||
web/client-api/types/build/*.tgz | ||
|
||
- name: Publish deephaven-core to PyPi | ||
if: ${{ startsWith(github.ref, 'refs/heads/release/v') }} | ||
|
@@ -98,3 +105,9 @@ jobs: | |
user: __token__ | ||
password: ${{ secrets.PYDEEPHAVEN_PYPI_TOKEN }} | ||
packages_dir: py/client/build/wheel/ | ||
|
||
- name: Publish @deephaven/jsapi-types to npmjs | ||
if: ${{ startsWith(github.ref, 'refs/heads/release/v') }} | ||
env: | ||
NODE_AUTH_TOKEN: ${{ secrets.DEEPHAVENBOT_NPM_TOKEN }} | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. We'll (I can do this) need to provide deephaven-core repo access to this secret before this action will succeed; I don't know how the npmjs secret management works, but I'm assuming this is a "heavy hammer", but we are okay w/ it @mofojed? The alternative would be a secret that is scoped explicitly for There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Man I wish npmjs had trusted publishers like PyPi does. Way better workflow. Yes, the There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Done - secret now accessible from deephaven-core. |
||
run: npm publish --tag latest web/client-api/types/build/deephaven-jsapi-types-*.tgz | ||
devinrsmith marked this conversation as resolved.
Show resolved
Hide resolved
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I think you should be referencing a package.json, not a tar file directly... does this actually work? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Yes - this is the way to say "here's a finished tarball, go ahead and deploy it". The work of making the tarball is done inside of docker (so that we guarantee it builds the way we expect, that it will do on our own machines), so this npm invocation just has access to the finished tarball and the secret. |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,3 @@ | ||
io.deephaven.project.ProjectType=DOCKER_REGISTRY | ||
deephaven.registry.imageName=node:14 | ||
deephaven.registry.imageId=node@sha256:a158d3b9b4e3fa813fa6c8c590b8f0a860e015ad4e59bbce5744d2f6fd8461aa | ||
deephaven.registry.imageName=node:20 | ||
deephaven.registry.imageId=node@sha256:445acd9b2ef7e9de665424053bf95652e0b8995ef36500557d48faf29300170a |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
engine-strict=true | ||
provenance=true |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
v20.10.0 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Note that I haven't tested this, all lifted from web-client-ui