99permissions :
1010 contents : write
1111
12- # Force all GitHub Actions to use Node.js 24 to prevent deprecation failures
13- env :
14- FORCE_JAVASCRIPT_ACTIONS_TO_NODE24 : true
15- NODE_OPTIONS : " --no-deprecation"
16-
1712jobs :
1813 check-version :
1914 name : Safety Measure & Version Check
@@ -24,15 +19,15 @@ jobs:
2419 version : ${{ steps.check.outputs.version }}
2520 steps :
2621 - name : Checkout code
27- uses : actions/checkout@v4
22+ uses : actions/checkout@v6
2823
2924 - name : Check Upstream Version vs Latest Release
3025 id : check
3126 env :
3227 GH_TOKEN : ${{ secrets.GITHUB_TOKEN }}
3328 run : |
3429 set -euo pipefail
35-
30+
3631 echo "Fetching Latest Git Source..."
3732 # Uses advanced RegEx to extract ONLY stable versions (ignores -rc release candidates)
3833 GIT_VERSION=$(curl -fsSL "https://mirrors.edge.kernel.org/pub/software/scm/git/" | grep -oP '(?<=git-)\d+\.\d+\.\d+(?=\.tar\.gz)' | sort -Vu | tail -n 1)
@@ -71,16 +66,16 @@ jobs:
7166 ext_name : linuxarm64
7267 steps :
7368 - name : Checkout code
74- uses : actions/checkout@v4
69+ uses : actions/checkout@v6
7570
7671 - name : Set up Docker Buildx
77- uses : docker/setup-buildx-action@v3
72+ uses : docker/setup-buildx-action@v4
7873
7974 - name : Build, Extract, and Compress Binary
8075 run : |
8176 set -euo pipefail
8277 mkdir -p ./output ./artifacts
83-
78+
8479 docker buildx build \
8580 --platform linux/${{ matrix.arch }} \
8681 --build-arg GIT_VERSION=${{ needs.check-version.outputs.version }} \
9691 cd ..
9792
9893 - name : Upload Artifact
99- uses : actions/upload-artifact@v4
94+ uses : actions/upload-artifact@v7
10095 with :
10196 name : git-${{ matrix.arch }}
10297 path : ./artifacts/git-master-latest-${{ matrix.ext_name }}-gpl.tar.xz
@@ -110,12 +105,12 @@ jobs:
110105 timeout-minutes : 72 # Safety net for GitHub API uploads
111106 steps :
112107 - name : Checkout code
113- uses : actions/checkout@v4
108+ uses : actions/checkout@v6
114109 with :
115110 fetch-depth : 2
116111
117112 - name : Download Artifacts
118- uses : actions/download-artifact@v4
113+ uses : actions/download-artifact@v8
119114 with :
120115 path : ./artifacts
121116 merge-multiple : true
@@ -158,7 +153,7 @@ jobs:
158153 echo "✅ Release $TAG_NAME already exists. Skipping creation."
159154 exit 0
160155 fi
161-
156+
162157 DATE_STR=$(date -u +'%d/%m/%Y At %H:%M')
163158 COMMIT_MSG=$(git log -1 --pretty=%B | head -n 1)
164159 PREV_HASH=$(git log -2 --pretty=%H | tail -n 1)
@@ -168,7 +163,7 @@ jobs:
168163 $COMMIT_MSG
169164 This reverts commit $PREV_HASH.
170165 EOF
171-
166+
172167 echo "Creating release for $TAG_NAME..."
173168 gh release create "$TAG_NAME" ./artifacts/* \
174169 --title "Git $VERSION (Executable) - Latest" \
@@ -179,10 +174,10 @@ jobs:
179174 GH_TOKEN : ${{ secrets.GITHUB_TOKEN }}
180175 run : |
181176 set -euo pipefail
182-
177+
183178 echo "Fetching all releases safely via JSON..."
184179 RELEASES=$(gh release list --limit 100 --json tagName --jq '.[].tagName')
185-
180+
186181 COUNT=0
187182 for REL in $RELEASES; do
188183 if [ -z "$REL" ] || [ "$REL" == "null" ]; then continue; fi
@@ -202,17 +197,17 @@ jobs:
202197 timeout-minutes : 61 # Safety net for git push
203198 steps :
204199 - name : Checkout code
205- uses : actions/checkout@v4
200+ uses : actions/checkout@v6
206201 with :
207202 fetch-depth : 0
208203
209204 - name : Push Keepalive Commit
210205 run : |
211206 set -euo pipefail
212-
207+
213208 git config --global user.name "github-actions[bot]"
214209 git config --global user.email "github-actions[bot]@users.noreply.github.com"
215-
210+
216211 git checkout -B dev
217212 git commit --allow-empty -m "chore: keepalive to prevent GitHub Actions cron pause [skip ci]"
218213 git push origin dev --force
0 commit comments