sfdhfgh
Some checks failed
Build, Upload RootFS, and Push Docker Images, update changelog, update build info. / build-and-push-rootfs-archives (push) Successful in 11m4s
Build, Upload RootFS, and Push Docker Images, update changelog, update build info. / generate-changelogs (push) Successful in 1m8s
Build, Upload RootFS, and Push Docker Images, update changelog, update build info. / build-and-push-docker-images (push) Successful in 2m30s
Build, Upload RootFS, and Push Docker Images, update changelog, update build info. / generate-build-info (push) Failing after 1m2s
Some checks failed
Build, Upload RootFS, and Push Docker Images, update changelog, update build info. / build-and-push-rootfs-archives (push) Successful in 11m4s
Build, Upload RootFS, and Push Docker Images, update changelog, update build info. / generate-changelogs (push) Successful in 1m8s
Build, Upload RootFS, and Push Docker Images, update changelog, update build info. / build-and-push-docker-images (push) Successful in 2m30s
Build, Upload RootFS, and Push Docker Images, update changelog, update build info. / generate-build-info (push) Failing after 1m2s
This commit is contained in:
@@ -187,70 +187,37 @@ jobs:
|
||||
- name: Checkout source
|
||||
uses: actions/checkout@v3
|
||||
|
||||
- name: Create temporary changelog workspace
|
||||
run: mkdir changelogs
|
||||
|
||||
- name: Generate changelogs from git log
|
||||
run: |
|
||||
for version in $VERSIONS; do
|
||||
echo "[INFO] Generating changelog for $version"
|
||||
changelog="changelogs/$version/CHANGES.md"
|
||||
mkdir -p "$(dirname "$changelog")"
|
||||
|
||||
echo -e "## $(date -u +'%Y-%m-%dT%H:%M:%SZ')\n" >> "$changelog"
|
||||
git log -n 10 --pretty=format:"- %s (%an)" >> "$changelog"
|
||||
done
|
||||
|
||||
- name: Clone upload repo
|
||||
run: |
|
||||
GIT_CREDENTIAL="${{ secrets.GIT_TOKEN || secrets.GIT_PASSWORD }}"
|
||||
for i in {1..5}; do
|
||||
echo "Attempt $i: Cloning upload-repo..."
|
||||
if git clone --depth=20 --filter=blob:none --no-checkout \
|
||||
"https://${{ env.GIT_USERNAME }}:${GIT_CREDENTIAL}@gitea.fithwum.tech/fithwum/debian-base.git" upload-repo; then
|
||||
break
|
||||
fi
|
||||
echo "Retrying in 10s..."
|
||||
sleep 10
|
||||
done
|
||||
git clone --depth=1 "https://${{ env.GIT_USERNAME }}:${GIT_CREDENTIAL}@gitea.fithwum.tech/fithwum/debian-base.git" upload-repo
|
||||
|
||||
if [ ! -d upload-repo ]; then
|
||||
echo "[ERROR] Failed to clone upload repo."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
cd upload-repo
|
||||
git sparse-checkout init --cone
|
||||
for version in $VERSIONS; do
|
||||
git sparse-checkout set "$version"
|
||||
done
|
||||
git checkout
|
||||
|
||||
|
||||
- name: Generate per-version changelogs
|
||||
- name: Copy generated changelogs into repo
|
||||
run: |
|
||||
cd upload-repo
|
||||
for version in $VERSIONS; do
|
||||
echo "[INFO] Updating changelog for $version"
|
||||
|
||||
changelog="$version/CHANGES.md"
|
||||
mkdir -p "$(dirname "$changelog")"
|
||||
touch "$changelog"
|
||||
|
||||
infofile="$version/build-info.json"
|
||||
last_commit=""
|
||||
if [ -f "$infofile" ]; then
|
||||
last_commit=$(jq -r '.commit' "$infofile")
|
||||
fi
|
||||
|
||||
echo -e "\n## $(date -u +'%Y-%m-%dT%H:%M:%SZ')" >> "$changelog"
|
||||
|
||||
if [ -n "$last_commit" ]; then
|
||||
# Check if commit exists in history
|
||||
if git merge-base --is-ancestor "$last_commit" HEAD 2>/dev/null; then
|
||||
echo "[INFO] Using commits since $last_commit"
|
||||
git log "${last_commit}..HEAD" --pretty=format:"- %s (%an)" | head -n 10 >> "$changelog"
|
||||
else
|
||||
echo "[WARN] $last_commit not found in current history (likely due to shallow clone)"
|
||||
git log -n 10 --pretty=format:"- %s (%an)" >> "$changelog"
|
||||
fi
|
||||
else
|
||||
echo "[INFO] No previous commit found in build-info.json"
|
||||
git log -n 10 --pretty=format:"- %s (%an)" >> "$changelog"
|
||||
fi
|
||||
mkdir -p "upload-repo/$version"
|
||||
cp "changelogs/$version/CHANGES.md" "upload-repo/$version/CHANGES.md"
|
||||
done
|
||||
|
||||
- name: Commit and push changelogs if changed
|
||||
run: |
|
||||
cd upload-repo
|
||||
git config user.name "${{ secrets.GIT_USERNAME }}"
|
||||
git config user.email "${{ secrets.GIT_EMAIL }}"
|
||||
git config user.name "${{ env.GIT_USERNAME }}"
|
||||
git config user.email "${{ env.GIT_EMAIL }}"
|
||||
|
||||
if git status --porcelain | grep .; then
|
||||
git add */CHANGES.md
|
||||
|
||||
Reference in New Issue
Block a user