44
55BASE_DIR=$( cd " $( dirname " $0 " ) /../.." && pwd)
66DEPS_DIR=" $BASE_DIR /deps"
7- ADA_VERSION=$1
7+ [ -z " $NODE " ] && NODE=" $BASE_DIR /out/Release/node"
8+ [ -x " $NODE " ] || NODE=$( command -v node)
89
9- if [ " $# " -le 0 ]; then
10- echo " Error: please provide an ada version to update to"
11- echo " e.g. $0 1.0.0"
12- exit 1
10+ NEW_VERSION=" $( " $NODE " --input-type=module << 'EOF '
11+ const res = await fetch('https://api.github.com/repos/ada-url/ada/releases/latest');
12+ if (!res.ok) throw new Error(`FetchError: ${res.status} ${res.statusText}`, { cause: res });
13+ const { tag_name } = await res.json();
14+ console.log(tag_name.replace('v', ''));
15+ EOF
16+ ) "
17+
18+ CURRENT_VERSION=$( grep " #define ADA_VERSION" " $DEPS_DIR /ada/ada.h" | sed -n " s/^.*VERSION \" \(.*\)\" /\1/p" )
19+
20+ if [ " $NEW_VERSION " = " $CURRENT_VERSION " ]; then
21+ echo " Skipped because ada is on the latest version."
22+ exit 0
1323fi
1424
1525echo " Making temporary workspace..."
@@ -24,8 +34,8 @@ cleanup () {
2434
2535trap cleanup INT TERM EXIT
2636
27- ADA_REF=" v$ADA_VERSION "
28- ADA_ZIP=" ada-$ADA_VERSION .zip"
37+ ADA_REF=" v$NEW_VERSION "
38+ ADA_ZIP=" ada-$NEW_VERSION .zip"
2939ADA_LICENSE=" LICENSE-MIT"
3040
3141cd " $WORKSPACE "
@@ -47,5 +57,9 @@ echo ""
4757echo " Please git add ada, commit the new version:"
4858echo " "
4959echo " $ git add -A deps/ada"
50- echo " $ git commit -m \" deps: update ada to $ADA_VERSION \" "
60+ echo " $ git commit -m \" deps: update ada to $NEW_VERSION \" "
5161echo " "
62+
63+ # The last line of the script should always print the new version,
64+ # as we need to add it to $GITHUB_ENV variable.
65+ echo " NEW_VERSION=$NEW_VERSION "
0 commit comments