test
Some checks failed
Build, Upload RootFS, and Push Docker Images / push-archives-to-repo (push) Has been cancelled
Build, Upload RootFS, and Push Docker Images / build-and-push-docker-images (push) Has been cancelled
Build, Upload RootFS, and Push Docker Images / generate-changelogs (push) Has been cancelled
Build, Upload RootFS, and Push Docker Images / build-rootfs-archives (push) Has been cancelled
Some checks failed
Build, Upload RootFS, and Push Docker Images / push-archives-to-repo (push) Has been cancelled
Build, Upload RootFS, and Push Docker Images / build-and-push-docker-images (push) Has been cancelled
Build, Upload RootFS, and Push Docker Images / generate-changelogs (push) Has been cancelled
Build, Upload RootFS, and Push Docker Images / build-rootfs-archives (push) Has been cancelled
This commit is contained in:
@@ -114,7 +114,7 @@ jobs:
|
||||
done
|
||||
|
||||
generate-changelogs:
|
||||
needs: build-and-push-docker-images
|
||||
# needs: build-and-push-docker-images
|
||||
runs-on: docker-build
|
||||
|
||||
steps:
|
||||
@@ -122,20 +122,41 @@ jobs:
|
||||
uses: actions/checkout@v3
|
||||
|
||||
- name: Clone upload repo
|
||||
run: git clone "${{ env.REPO_URL2 }}" upload-repo
|
||||
run: git clone "${{ env.REPO_URL }}" upload-repo
|
||||
|
||||
- name: Generate and append changelogs
|
||||
- name: Generate CHANGES.md and build-info.json
|
||||
run: |
|
||||
cd upload-repo
|
||||
|
||||
for version in buster bullseye bookworm docker-build; do
|
||||
echo "[INFO] Processing $version"
|
||||
|
||||
mkdir -p "$version"
|
||||
changelog="$version/CHANGES.md"
|
||||
mkdir -p "$(dirname "$changelog")"
|
||||
infofile="$version/build-info.json"
|
||||
touch "$changelog"
|
||||
|
||||
echo "[INFO] Updating $changelog"
|
||||
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
|
||||
git log "${last_commit}..HEAD" --pretty=format:"- %s (%an)" >> "$changelog"
|
||||
else
|
||||
git log -n 5 --pretty=format:"- %s (%an)" >> "$changelog"
|
||||
fi
|
||||
|
||||
# Build metadata file
|
||||
cat <<EOF > "$infofile"
|
||||
{
|
||||
"version": "$version",
|
||||
"commit": "$(git rev-parse HEAD)",
|
||||
"build_time": "$(date -u +'%Y-%m-%dT%H:%M:%SZ')",
|
||||
"image_tag": "gitea.fithwum.tech/fithwum/debian-base:$version"
|
||||
}
|
||||
EOF
|
||||
done
|
||||
|
||||
- name: Commit and push changelogs if changed
|
||||
@@ -145,9 +166,9 @@ jobs:
|
||||
git config --global user.email "${{ env.GIT_EMAIL }}"
|
||||
|
||||
if git status --porcelain | grep .; then
|
||||
git add */CHANGES.md
|
||||
git commit -m "Update changelogs on $(date -u +'%Y-%m-%dT%H:%M:%SZ')"
|
||||
git add */CHANGES.md */build-info.json
|
||||
git commit -m "Update changelogs and metadata on $(date -u +'%Y-%m-%dT%H:%M:%SZ')"
|
||||
git push
|
||||
else
|
||||
echo "[INFO] No changelog changes to commit."
|
||||
echo "[INFO] No changelog or metadata changes to commit."
|
||||
fi
|
||||
Reference in New Issue
Block a user