climaybe 1.7.1 → 1.7.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/version.txt +1 -1
- package/package.json +1 -1
- package/src/workflows/shared/ai-changelog.yml +11 -14
package/bin/version.txt
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
1.7.
|
|
1
|
+
1.7.2
|
package/package.json
CHANGED
|
@@ -30,7 +30,7 @@ jobs:
|
|
|
30
30
|
contents: read
|
|
31
31
|
models: read
|
|
32
32
|
outputs:
|
|
33
|
-
changelog: ${{ steps.ai.outputs.changelog }}
|
|
33
|
+
changelog: ${{ steps.ai.outputs.changelog || steps.no_commits.outputs.changelog }}
|
|
34
34
|
|
|
35
35
|
steps:
|
|
36
36
|
- uses: actions/checkout@v4
|
|
@@ -43,25 +43,21 @@ jobs:
|
|
|
43
43
|
COMMITS=$(git log --pretty=format:"%h %s" ${{ inputs.base_ref }}..${{ inputs.head_ref }} 2>/dev/null || echo "")
|
|
44
44
|
if [ -z "$COMMITS" ]; then
|
|
45
45
|
echo "No commits found between ${{ inputs.base_ref }} and ${{ inputs.head_ref }}"
|
|
46
|
-
echo "
|
|
46
|
+
echo "has_commits=false" >> $GITHUB_OUTPUT
|
|
47
47
|
exit 0
|
|
48
48
|
fi
|
|
49
|
-
#
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
echo "$COMMITS"
|
|
53
|
-
echo "COMMITS_EOF"
|
|
54
|
-
} >> $GITHUB_OUTPUT
|
|
49
|
+
# File avoids huge env vars and shell escaping; jq reads via --rawfile (never use --argjson for raw log text).
|
|
50
|
+
printf '%s\n' "$COMMITS" > commits-for-ai.txt
|
|
51
|
+
echo "has_commits=true" >> $GITHUB_OUTPUT
|
|
55
52
|
|
|
56
53
|
- name: Generate changelog (Gemini -> GitHub Models fallback)
|
|
57
54
|
id: ai
|
|
58
|
-
if: steps.commits.outputs.
|
|
55
|
+
if: steps.commits.outputs.has_commits == 'true'
|
|
59
56
|
env:
|
|
60
57
|
GEMINI_API_KEY: ${{ secrets.GEMINI_API_KEY }}
|
|
61
58
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
62
|
-
COMMITS_RAW: ${{ steps.commits.outputs.commits }}
|
|
63
59
|
run: |
|
|
64
|
-
COMMITS
|
|
60
|
+
COMMITS=$(cat commits-for-ai.txt)
|
|
65
61
|
PROVIDER="fallback"
|
|
66
62
|
|
|
67
63
|
PROMPT=$(cat <<'PROMPT_EOF'
|
|
@@ -86,7 +82,7 @@ jobs:
|
|
|
86
82
|
if [ -n "$GEMINI_API_KEY" ]; then
|
|
87
83
|
PAYLOAD=$(jq -n \
|
|
88
84
|
--arg prompt "$PROMPT" \
|
|
89
|
-
--
|
|
85
|
+
--rawfile commits commits-for-ai.txt \
|
|
90
86
|
'{
|
|
91
87
|
"contents": [{
|
|
92
88
|
"parts": [{"text": ($prompt + "\n" + $commits)}]
|
|
@@ -112,7 +108,7 @@ jobs:
|
|
|
112
108
|
if [ -z "$CHANGELOG" ] || [ "$CHANGELOG" = "null" ]; then
|
|
113
109
|
GH_PAYLOAD=$(jq -n \
|
|
114
110
|
--arg prompt "$PROMPT" \
|
|
115
|
-
--
|
|
111
|
+
--rawfile commits commits-for-ai.txt \
|
|
116
112
|
'{
|
|
117
113
|
"model": "gpt-4o-mini",
|
|
118
114
|
"messages": [
|
|
@@ -157,7 +153,8 @@ jobs:
|
|
|
157
153
|
} >> $GITHUB_OUTPUT
|
|
158
154
|
|
|
159
155
|
- name: Fallback if no commits
|
|
160
|
-
|
|
156
|
+
id: no_commits
|
|
157
|
+
if: steps.commits.outputs.has_commits != 'true'
|
|
161
158
|
run: |
|
|
162
159
|
{
|
|
163
160
|
echo "changelog<<CHANGELOG_EOF"
|