4
4
5
5
BASE_DIR=$( cd " $( dirname " $0 " ) /../.." && pwd)
6
6
DEPS_DIR=" $BASE_DIR /deps"
7
- ADA_VERSION=$1
7
+ [ -z " $NODE " ] && NODE=" $BASE_DIR /out/Release/node"
8
+ [ -x " $NODE " ] || NODE=$( command -v node)
8
9
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
13
23
fi
14
24
15
25
echo " Making temporary workspace..."
@@ -24,8 +34,8 @@ cleanup () {
24
34
25
35
trap cleanup INT TERM EXIT
26
36
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"
29
39
ADA_LICENSE=" LICENSE-MIT"
30
40
31
41
cd " $WORKSPACE "
@@ -47,5 +57,9 @@ echo ""
47
57
echo " Please git add ada, commit the new version:"
48
58
echo " "
49
59
echo " $ 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 \" "
51
61
echo " "
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