diff --git a/ci/scripts/release.sh b/ci/scripts/release.sh index aaf52a777677a..d310daf389774 100755 --- a/ci/scripts/release.sh +++ b/ci/scripts/release.sh @@ -47,6 +47,12 @@ unzip -o protoc-3.15.8-linux-${PROTOC_ARCH}.zip -d protoc mv ./protoc/bin/protoc /usr/local/bin/ mv ./protoc/include/* /usr/local/include/ +echo "--- Install nodejs" +curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash +export NVM_DIR="$HOME/.nvm" +. "$NVM_DIR/nvm.sh" +cd dashboard && nvm install && nvm use && cd .. + echo "--- Check risingwave release version" if [[ -n "${BUILDKITE_TAG}" ]]; then CARGO_PKG_VERSION="$(toml get --toml-path Cargo.toml workspace.package.version)" @@ -59,9 +65,7 @@ if [[ -n "${BUILDKITE_TAG}" ]]; then fi echo "--- Build risingwave release binary" -# TODO(bugen): It's really hard to get the dashboard built on such old distro. -# The assets will be proxied to GitHub during runtime. -# export ENABLE_BUILD_DASHBOARD=1 +export ENABLE_BUILD_DASHBOARD=1 cargo build -p risingwave_cmd_all --features "rw-static-link" --profile release cargo build -p risingwave_cmd --bin risectl --features "rw-static-link" --profile release cd target/release && chmod +x risingwave risectl diff --git a/dashboard/.node-version b/dashboard/.node-version index df9385826faa2..ee09fac75c831 100644 --- a/dashboard/.node-version +++ b/dashboard/.node-version @@ -1 +1 @@ -v20.11.0 \ No newline at end of file +v20.11.1 diff --git a/dashboard/.nvmrc b/dashboard/.nvmrc new file mode 120000 index 0000000000000..070266a2687d8 --- /dev/null +++ b/dashboard/.nvmrc @@ -0,0 +1 @@ +.node-version \ No newline at end of file diff --git a/dashboard/package-lock.json b/dashboard/package-lock.json index 10fdd2aaffa88..0c3ec4d9a18de 100644 --- a/dashboard/package-lock.json +++ b/dashboard/package-lock.json @@ -35,7 +35,7 @@ "react-syntax-highlighter": "^15.5.0", "recharts": "^2.3.2", "styled-components": "5.3.0", - "ts-proto": "^1.156.2" + "ts-proto": "^1.169.1" }, "devDependencies": { "@testing-library/jest-dom": "^5.16.2", @@ -5033,9 +5033,9 @@ } }, "node_modules/dprint-node": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/dprint-node/-/dprint-node-1.0.7.tgz", - "integrity": "sha512-NTZOW9A7ipb0n7z7nC3wftvsbceircwVHSgzobJsEQa+7RnOMbhrfX5IflA6CtC4GA63DSAiHYXa4JKEy9F7cA==", + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/dprint-node/-/dprint-node-1.0.8.tgz", + "integrity": "sha512-iVKnUtYfGrYcW1ZAlfR/F59cUVL8QIhWoBJoSjkkdua/dkWIgjZfiLMeTjiB06X0ZLkQ0M2C1VbUj/CxkIf1zg==", "dependencies": { "detect-libc": "^1.0.3" } @@ -10753,21 +10753,21 @@ } }, "node_modules/ts-poet": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/ts-poet/-/ts-poet-6.5.0.tgz", - "integrity": "sha512-44jURLT1HG6+NsDcadM826V6Ekux+wk07Go+MX5Gfx+8zcPKfUiFEtnjL9imuRVGSCRtloRLqw4bDGZVJYGZMQ==", + "version": "6.7.0", + "resolved": "https://registry.npmjs.org/ts-poet/-/ts-poet-6.7.0.tgz", + "integrity": "sha512-A0wvFtpkTCWPw7ftTIwbEH+L+7ul4CU0x3jXKQ+kCnmEQIAOwhpUaBmcAYKxZCxHae9/MUl4LbyTqw25BpzW5Q==", "dependencies": { - "dprint-node": "^1.0.7" + "dprint-node": "^1.0.8" } }, "node_modules/ts-proto": { - "version": "1.156.2", - "resolved": "https://registry.npmjs.org/ts-proto/-/ts-proto-1.156.2.tgz", - "integrity": "sha512-0ZAbGmfvB2R79QJfpTIk56T8xM4k9ZS+z77517HDpuFZFizCMceCIE3IhdYQWbmP1oSYLzw0AeVbVHi2PIigKQ==", + "version": "1.169.1", + "resolved": "https://registry.npmjs.org/ts-proto/-/ts-proto-1.169.1.tgz", + "integrity": "sha512-MHdllDrtFCabxvIyUqze7/4vSh55SEgwirpthGVUGt3pMqIpmmrDyBv0vDk/RCjBxm0/LIWVMnXlOjBxYaE1rA==", "dependencies": { "case-anything": "^2.1.13", "protobufjs": "^7.2.4", - "ts-poet": "^6.5.0", + "ts-poet": "^6.7.0", "ts-proto-descriptors": "1.15.0" }, "bin": { @@ -15350,9 +15350,9 @@ } }, "dprint-node": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/dprint-node/-/dprint-node-1.0.7.tgz", - "integrity": "sha512-NTZOW9A7ipb0n7z7nC3wftvsbceircwVHSgzobJsEQa+7RnOMbhrfX5IflA6CtC4GA63DSAiHYXa4JKEy9F7cA==", + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/dprint-node/-/dprint-node-1.0.8.tgz", + "integrity": "sha512-iVKnUtYfGrYcW1ZAlfR/F59cUVL8QIhWoBJoSjkkdua/dkWIgjZfiLMeTjiB06X0ZLkQ0M2C1VbUj/CxkIf1zg==", "requires": { "detect-libc": "^1.0.3" }, @@ -19517,21 +19517,21 @@ } }, "ts-poet": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/ts-poet/-/ts-poet-6.5.0.tgz", - "integrity": "sha512-44jURLT1HG6+NsDcadM826V6Ekux+wk07Go+MX5Gfx+8zcPKfUiFEtnjL9imuRVGSCRtloRLqw4bDGZVJYGZMQ==", + "version": "6.7.0", + "resolved": "https://registry.npmjs.org/ts-poet/-/ts-poet-6.7.0.tgz", + "integrity": "sha512-A0wvFtpkTCWPw7ftTIwbEH+L+7ul4CU0x3jXKQ+kCnmEQIAOwhpUaBmcAYKxZCxHae9/MUl4LbyTqw25BpzW5Q==", "requires": { - "dprint-node": "^1.0.7" + "dprint-node": "^1.0.8" } }, "ts-proto": { - "version": "1.156.2", - "resolved": "https://registry.npmjs.org/ts-proto/-/ts-proto-1.156.2.tgz", - "integrity": "sha512-0ZAbGmfvB2R79QJfpTIk56T8xM4k9ZS+z77517HDpuFZFizCMceCIE3IhdYQWbmP1oSYLzw0AeVbVHi2PIigKQ==", + "version": "1.169.1", + "resolved": "https://registry.npmjs.org/ts-proto/-/ts-proto-1.169.1.tgz", + "integrity": "sha512-MHdllDrtFCabxvIyUqze7/4vSh55SEgwirpthGVUGt3pMqIpmmrDyBv0vDk/RCjBxm0/LIWVMnXlOjBxYaE1rA==", "requires": { "case-anything": "^2.1.13", "protobufjs": "^7.2.4", - "ts-poet": "^6.5.0", + "ts-poet": "^6.7.0", "ts-proto-descriptors": "1.15.0" } }, diff --git a/dashboard/package.json b/dashboard/package.json index 08469ef8926bd..a471141eb1815 100644 --- a/dashboard/package.json +++ b/dashboard/package.json @@ -41,7 +41,7 @@ "react-syntax-highlighter": "^15.5.0", "recharts": "^2.3.2", "styled-components": "5.3.0", - "ts-proto": "^1.156.2" + "ts-proto": "^1.169.1" }, "devDependencies": { "@testing-library/jest-dom": "^5.16.2", diff --git a/docker/Dockerfile b/docker/Dockerfile index a328239c51665..9b0f6cec1c208 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -16,11 +16,11 @@ FROM base AS rust-base RUN apt-get update && apt-get -y install make cmake protobuf-compiler curl bash lld unzip -# Install Node.js as requirement for building the dashboard. +# Install Node.js as dependency for building the dashboard. +# Bump version together with `dashboard/.node-version`. ENV NVM_DIR /root/.nvm -ENV NVM_VERSION 0.39.7 ENV NODE_VERSION 20.11.1 -RUN curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v$NVM_VERSION/install.sh | bash \ +RUN curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash \ && . $NVM_DIR/nvm.sh \ && nvm install $NODE_VERSION ENV PATH $NVM_DIR/versions/node/v$NODE_VERSION/bin:$PATH diff --git a/src/meta/dashboard/build.rs b/src/meta/dashboard/build.rs index 5a18ba963adbc..b60229f31b824 100644 --- a/src/meta/dashboard/build.rs +++ b/src/meta/dashboard/build.rs @@ -15,7 +15,7 @@ use std::path::{Path, PathBuf}; use cargo_emit::{rerun_if_changed, rustc_cfg}; -use npm_rs::{NodeEnv, NpmEnv}; +use npm_rs::NpmEnv; fn env_var_is_true(key: &str) -> bool { cargo_emit::rerun_if_env_changed!(key); @@ -42,7 +42,6 @@ fn build() -> anyhow::Result<()> { rerun_if_changed!(format!("{DASHBOARD_DIR}/components")); let exit_status = NpmEnv::default() - .with_node_env(&NodeEnv::Production) .set_path(DASHBOARD_DIR) .init_env() .install(None)