tools: add temporal updater

PR-URL: https://github.com/nodejs/node/pull/60828
Reviewed-By: Juan José Arboleda <soyjuanarbol@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Marco Ippolito <marcoippolito54@gmail.com>
Reviewed-By: Chemi Atlow <chemi@atlow.co.il>
Reviewed-By: LiviaMedeiros <livia@cirno.name>
This commit is contained in:
Chengzhong Wu authored and GitHub committed 2025-11-25 15:59:21 +00:00
1 parent ae62b36d44
commit 7955ef126f
2 files changed
+79

No files matched your search

+9
View File
@@ -38,6 +38,7 @@ on:
- root-certificates
- simdjson
- sqlite
- temporal
- undici
- uvwasi
- zlib
@@ -255,6 +256,14 @@ jobs:
cat temp-output
tail -n1 temp-output | grep "NEW_VERSION=" >> "$GITHUB_ENV" || true
rm temp-output
- id: temporal
subsystem: deps
label: dependencies
run: |
./tools/dep_updaters/update-temporal.sh > temp-output
cat temp-output
tail -n1 temp-output | grep "NEW_VERSION=" >> "$GITHUB_ENV" || true
rm temp-output
- id: undici
subsystem: deps
label: dependencies
+70
View File
@@ -0,0 +1,70 @@
#!/bin/sh
set -e
# Shell script to update temporal in the source tree to specific version
BASE_DIR=$(cd "$(dirname "$0")/../.." && pwd)
[ -z "$NODE" ] && NODE="$BASE_DIR/out/Release/node"
[ -x "$NODE" ] || NODE=$(command -v node)
# shellcheck disable=SC1091
. "$BASE_DIR/tools/dep_updaters/utils.sh"
NEW_VERSION="$("$NODE" --input-type=module <<'EOF'
const res = await fetch('https://api.github.com/repos/boa-dev/temporal/releases/latest');
if (!res.ok) throw new Error(`FetchError: ${res.status} ${res.statusText}`, { cause: res });
const { tag_name } = await res.json();
console.log(tag_name.replace('v', ''));
EOF
)"
CURRENT_VERSION=$(grep -m 1 version ./deps/temporal/Cargo.toml | tr -s ' ' | tr -d '"' | tr -d "'" | cut -d' ' -f3)
# This function exit with 0 if new version and current version are the same
compare_dependency_version "temporal" "$NEW_VERSION" "$CURRENT_VERSION"
echo "Making temporary workspace"
WORKSPACE=$(mktemp -d 2> /dev/null || mktemp -d -t 'tmp')
cleanup () {
EXIT_CODE=$?
[ -d "$WORKSPACE" ] && rm -rf "$WORKSPACE"
exit $EXIT_CODE
}
trap cleanup INT TERM EXIT
TEMPORAL_TARBALL="$NEW_VERSION.tar.gz"
cd "$WORKSPACE"
curl -sL -o "$TEMPORAL_TARBALL" "https://github.com/boa-dev/temporal/archive/refs/tags/v$NEW_VERSION.tar.gz"
log_and_verify_sha256sum "temporal" "$TEMPORAL_TARBALL"
gzip -dc "$TEMPORAL_TARBALL" | tar xf -
rm "$TEMPORAL_TARBALL"
mv "temporal-$NEW_VERSION" temporal
rm -rf "$WORKSPACE/temporal/.github"
echo "Copying existing gyp files"
cp "$BASE_DIR/deps/temporal/temporal_capi/temporal_capi.gyp" "$WORKSPACE/temporal/temporal_capi"
echo "Applying dependency update"
rm -rf "$BASE_DIR/deps/temporal"
mv "$WORKSPACE/temporal" "$BASE_DIR/deps/temporal"
echo "All done!"
echo ""
echo "Please git add temporal and commit the new version:"
echo ""
echo "$ git add -A deps/temporal"
echo "$ git commit -m \"deps: update temporal to $NEW_VERSION\""
echo ""
# The last line of the script should always print the new version,
# as we need to add it to $GITHUB_ENV variable.
echo "NEW_VERSION=$NEW_VERSION"