@@ -18,67 +18,67 @@ jobs:
18
18
pr_created : ${{ steps.check-update.outputs.pr_created }}
19
19
20
20
steps :
21
- - name : Checkout repository
22
- uses : actions/checkout@v3
23
- with :
24
- submodules : recursive
25
- ref : dev
26
- fetch-depth : 0
27
- token : ${{ secrets.PAT_SERVICE_ACCOUNT }}
28
-
29
- - name : Configure Git
30
- run : |
31
- git config --global user.name 'github-actions[bot]'
32
- git config --global user.email 'github-actions[bot]@users.noreply.github.com'
33
-
34
- - name : Update submodule to latest release
35
- id : check-update
36
- env :
37
- GITHUB_TOKEN : ${{ secrets.PAT_SERVICE_ACCOUNT }}
38
- run : |
39
- curl -s https://api.github.com/repos/janhq /cortex/releases > /tmp/github_api_releases.json
40
- latest_prerelease_name=$(cat /tmp/github_api_releases.json | jq -r '.[] | select(.prerelease) | .name' | head -n 1)
41
-
42
- get_asset_count() {
43
- local version_name=$1
44
- cat /tmp/github_api_releases.json | jq -r --arg version_name "$version_name" '.[] | select(.name == $version_name) | .assets | length'
45
- }
46
-
47
- cortex_cpp_version_file_path="extensions/inference-nitro-extension/bin/version.txt"
48
- current_version_name=$(cat "$cortex_cpp_version_file_path" | head -n 1)
49
-
50
- current_version_asset_count=$(get_asset_count "$current_version_name")
51
- latest_prerelease_asset_count=$(get_asset_count "$latest_prerelease_name")
52
-
53
- if [ "$current_version_name" = "$latest_prerelease_name" ]; then
54
- echo "cortex cpp remote repo doesn't have update today, skip update cortex.cpp for today nightly build"
55
- echo "::set-output name=pr_created::false"
56
- exit 0
57
- fi
58
-
59
- if [ "$current_version_asset_count" != "$latest_prerelease_asset_count" ]; then
60
- echo "Latest prerelease version has different number of assets, somethink went wrong, skip update cortex.cpp for today nightly build"
61
- echo "::set-output name=pr_created::false"
62
- exit 1
63
- fi
64
-
65
- echo $latest_prerelease_name > $cortex_cpp_version_file_path
66
- echo "Updated version from $current_version_name to $latest_prerelease_name."
67
- echo "::set-output name=pr_created::true"
68
-
69
- git add -f $cortex_cpp_version_file_path
70
- git commit -m "Update cortex cpp nightly to version $latest_prerelease_name"
71
- branch_name="update-nightly-$(date +'%Y-%m-%d-%H-%M')"
72
- git checkout -b $branch_name
73
- git push origin $branch_name
74
-
75
- pr_title="Update cortex cpp nightly to version $latest_prerelease_name"
76
- pr_body="This PR updates the Update cortex cpp nightly to version $latest_prerelease_name"
77
-
78
- gh pr create --title "$pr_title" --body "$pr_body" --head $branch_name --base dev --reviewer Van-QA
79
-
80
- pr_number=$(gh pr list --head $branch_name --json number --jq '.[0].number')
81
- echo "::set-output name=pr_number::$pr_number"
21
+ - name : Checkout repository
22
+ uses : actions/checkout@v3
23
+ with :
24
+ submodules : recursive
25
+ ref : dev
26
+ fetch-depth : 0
27
+ token : ${{ secrets.PAT_SERVICE_ACCOUNT }}
28
+
29
+ - name : Configure Git
30
+ run : |
31
+ git config --global user.name 'github-actions[bot]'
32
+ git config --global user.email 'github-actions[bot]@users.noreply.github.com'
33
+
34
+ - name : Update submodule to latest release
35
+ id : check-update
36
+ env :
37
+ GITHUB_TOKEN : ${{ secrets.PAT_SERVICE_ACCOUNT }}
38
+ run : |
39
+ curl -s https://api.github.com/repos/menloresearch /cortex/releases > /tmp/github_api_releases.json
40
+ latest_prerelease_name=$(cat /tmp/github_api_releases.json | jq -r '.[] | select(.prerelease) | .name' | head -n 1)
41
+
42
+ get_asset_count() {
43
+ local version_name=$1
44
+ cat /tmp/github_api_releases.json | jq -r --arg version_name "$version_name" '.[] | select(.name == $version_name) | .assets | length'
45
+ }
46
+
47
+ cortex_cpp_version_file_path="extensions/inference-nitro-extension/bin/version.txt"
48
+ current_version_name=$(cat "$cortex_cpp_version_file_path" | head -n 1)
49
+
50
+ current_version_asset_count=$(get_asset_count "$current_version_name")
51
+ latest_prerelease_asset_count=$(get_asset_count "$latest_prerelease_name")
52
+
53
+ if [ "$current_version_name" = "$latest_prerelease_name" ]; then
54
+ echo "cortex cpp remote repo doesn't have update today, skip update cortex.cpp for today nightly build"
55
+ echo "::set-output name=pr_created::false"
56
+ exit 0
57
+ fi
58
+
59
+ if [ "$current_version_asset_count" != "$latest_prerelease_asset_count" ]; then
60
+ echo "Latest prerelease version has different number of assets, somethink went wrong, skip update cortex.cpp for today nightly build"
61
+ echo "::set-output name=pr_created::false"
62
+ exit 1
63
+ fi
64
+
65
+ echo $latest_prerelease_name > $cortex_cpp_version_file_path
66
+ echo "Updated version from $current_version_name to $latest_prerelease_name."
67
+ echo "::set-output name=pr_created::true"
68
+
69
+ git add -f $cortex_cpp_version_file_path
70
+ git commit -m "Update cortex cpp nightly to version $latest_prerelease_name"
71
+ branch_name="update-nightly-$(date +'%Y-%m-%d-%H-%M')"
72
+ git checkout -b $branch_name
73
+ git push origin $branch_name
74
+
75
+ pr_title="Update cortex cpp nightly to version $latest_prerelease_name"
76
+ pr_body="This PR updates the Update cortex cpp nightly to version $latest_prerelease_name"
77
+
78
+ gh pr create --title "$pr_title" --body "$pr_body" --head $branch_name --base dev --reviewer Van-QA
79
+
80
+ pr_number=$(gh pr list --head $branch_name --json number --jq '.[0].number')
81
+ echo "::set-output name=pr_number::$pr_number"
82
82
83
83
check-and-merge-pr :
84
84
needs : update-submodule
@@ -89,39 +89,39 @@ jobs:
89
89
pull-requests : write
90
90
91
91
steps :
92
- - name : Checkout repository
93
- uses : actions/checkout@v3
94
- with :
95
- submodules : recursive
96
- fetch-depth : 0
97
- token : ${{ secrets.PAT_SERVICE_ACCOUNT }}
98
-
99
- - name : Wait for CI to pass
100
- env :
92
+ - name : Checkout repository
93
+ uses : actions/checkout@v3
94
+ with :
95
+ submodules : recursive
96
+ fetch-depth : 0
97
+ token : ${{ secrets.PAT_SERVICE_ACCOUNT }}
98
+
99
+ - name : Wait for CI to pass
100
+ env :
101
101
GITHUB_TOKEN : ${{ secrets.PAT_SERVICE_ACCOUNT }}
102
- run : |
103
- pr_number=${{ needs.update-submodule.outputs.pr_number }}
104
- while true; do
105
- ci_completed=$(gh pr checks $pr_number --json completedAt --jq '.[].completedAt')
106
- if echo "$ci_completed" | grep -q "0001-01-01T00:00:00Z"; then
107
- echo "CI is still running, waiting..."
108
- sleep 60
109
- else
110
- echo "CI has completed, checking states..."
111
- ci_states=$(gh pr checks $pr_number --json state --jq '.[].state')
112
- if echo "$ci_states" | grep -vqE "SUCCESS|SKIPPED"; then
113
- echo "CI failed, exiting..."
114
- exit 1
102
+ run : |
103
+ pr_number=${{ needs.update-submodule.outputs.pr_number }}
104
+ while true; do
105
+ ci_completed=$(gh pr checks $pr_number --json completedAt --jq '.[].completedAt')
106
+ if echo "$ci_completed" | grep -q "0001-01-01T00:00:00Z"; then
107
+ echo "CI is still running, waiting..."
108
+ sleep 60
115
109
else
116
- echo "CI passed, merging PR..."
117
- break
110
+ echo "CI has completed, checking states..."
111
+ ci_states=$(gh pr checks $pr_number --json state --jq '.[].state')
112
+ if echo "$ci_states" | grep -vqE "SUCCESS|SKIPPED"; then
113
+ echo "CI failed, exiting..."
114
+ exit 1
115
+ else
116
+ echo "CI passed, merging PR..."
117
+ break
118
+ fi
118
119
fi
119
- fi
120
- done
120
+ done
121
121
122
- - name : Merge the PR
123
- env :
122
+ - name : Merge the PR
123
+ env :
124
124
GITHUB_TOKEN : ${{ secrets.PAT_SERVICE_ACCOUNT }}
125
- run : |
126
- pr_number=${{ needs.update-submodule.outputs.pr_number }}
127
- gh pr merge $pr_number --merge --admin
125
+ run : |
126
+ pr_number=${{ needs.update-submodule.outputs.pr_number }}
127
+ gh pr merge $pr_number --merge --admin
0 commit comments