mirror of
https://github.com/RetroDECK/RetroDECK.git
synced 2024-11-25 07:25:38 +00:00
BUILD_RELEASE:
- fixed commits until last release (not tag) - adding debug for manifest body
This commit is contained in:
parent
0bdd0096e0
commit
b4e4cdd607
42
.github/workflows/build_release.yml
vendored
42
.github/workflows/build_release.yml
vendored
|
@ -108,61 +108,83 @@ jobs:
|
||||||
- name: "[DEBUG] Outputting manifest"
|
- name: "[DEBUG] Outputting manifest"
|
||||||
run: cat net.retrodeck.retrodeck.yml
|
run: cat net.retrodeck.retrodeck.yml
|
||||||
|
|
||||||
# Get Commits Since Last Release
|
# Get Commits Since Last Published Release (Cooker only)
|
||||||
- name: Get commits since last release
|
- name: Get commits since last published release
|
||||||
id: get-commits
|
id: get-commits
|
||||||
|
if: github.ref != 'refs/heads/main'
|
||||||
run: |
|
run: |
|
||||||
LATEST_TAG=$(git describe --tags --abbrev=0 $(git rev-list --tags --max-count=1 --first-parent) || echo "")
|
# Get the latest published release tag
|
||||||
|
LATEST_TAG=$(git describe --tags $(git rev-list --tags --max-count=1) 2>/dev/null || echo "")
|
||||||
|
|
||||||
if [ -z "$LATEST_TAG" ]; then
|
if [ -z "$LATEST_TAG" ]; then
|
||||||
|
echo "[INFO] No previous release found. Using all commits."
|
||||||
COMMITS=$(git log HEAD --pretty=format:"- %s")
|
COMMITS=$(git log HEAD --pretty=format:"- %s")
|
||||||
else
|
else
|
||||||
|
echo "[INFO] Latest published release tag: $LATEST_TAG"
|
||||||
COMMITS=$(git log ${LATEST_TAG}..HEAD --pretty=format:"- %s")
|
COMMITS=$(git log ${LATEST_TAG}..HEAD --pretty=format:"- %s")
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# Debug: Print the commits list
|
||||||
|
echo "Commits since $LATEST_TAG:"
|
||||||
|
echo "$COMMITS"
|
||||||
|
|
||||||
|
# Export the commits list to the GitHub environment
|
||||||
echo "COMMITS=$COMMITS" >> $GITHUB_ENV
|
echo "COMMITS=$COMMITS" >> $GITHUB_ENV
|
||||||
|
|
||||||
|
|
||||||
# Generate Release Body
|
# Generate Release Body
|
||||||
- name: Generate release body text
|
- name: Generate release body text
|
||||||
id: generate-body
|
id: generate-body
|
||||||
run: |
|
run: |
|
||||||
# Initialize the release body text
|
# Initialize the release body text
|
||||||
RELEASE_BODY="# Release Notes\n"
|
RELEASE_BODY="# Release Notes\n"
|
||||||
RELEASE_BODY+="This release is based on the commit: RetroDECK/RetroDECK@c8bd579ad4d0922ba7ab1f5c122cc782ff6adc66.\n"
|
RELEASE_BODY+="This is a cooker snapshot based on the commit: ${{ github.event.repository.full_name }}@${{github.sha}}."
|
||||||
RELEASE_BODY+="On branch [cooker](https://github.com/RetroDECK/RetroDECK/tree/cooker).\n\n"
|
RELEASE_BODY+="On branch [${{env.BRANCH_NAME}}](https://repo.retrodeck.net/RetroDECK/RetroDECK/src/branch/${{env.BRANCH_NAME}})."
|
||||||
RELEASE_BODY+="## Commits since last release\n"
|
RELEASE_BODY+="## Commits since last release\n"
|
||||||
RELEASE_BODY+="$COMMITS\n\n"
|
RELEASE_BODY+="$COMMITS\n\n"
|
||||||
|
|
||||||
|
echo "[DEBUG] CHECKPOINT 1"
|
||||||
|
|
||||||
xml_file="./net.retrodeck.retrodeck.appdata.xml"
|
xml_file="./net.retrodeck.retrodeck.appdata.xml"
|
||||||
if [[ ! -f "$xml_file" ]]; then
|
if [[ ! -f "$xml_file" ]]; then
|
||||||
echo "Error: XML file not found: $xml_file"
|
echo "Error: XML file not found: $xml_file"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
echo "[DEBUG] CHECKPOINT 2"
|
||||||
|
|
||||||
# Extract the raw description content using xmlstarlet
|
# Extract the raw description content using xmlstarlet
|
||||||
raw_description=$(xmlstarlet sel -t -m "/component/releases/release[1]/description/*" -c "." -n "$xml_file" 2>/dev/null)
|
raw_description=$(xmlstarlet sel -t -m "/component/releases/release[1]/description/*" -c "." -n "$xml_file" 2>/dev/null)
|
||||||
|
|
||||||
# Check if xmlstarlet extraction was successful
|
echo "[DEBUG] CHECKPOINT 3"
|
||||||
if [[ $? -ne 0 ]]; then
|
|
||||||
echo "Error: Failed to extract description content using xmlstarlet"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Convert <p> tags to markdown headers using sed
|
# Convert <p> tags to markdown headers using sed
|
||||||
markdown_description=$(echo "$raw_description" | sed -e 's|<p>|\n### |g' -e 's|</p>||g')
|
markdown_description=$(echo "$raw_description" | sed -e 's|<p>|\n### |g' -e 's|</p>||g')
|
||||||
|
|
||||||
|
echo "[DEBUG] CHECKPOINT 4"
|
||||||
|
|
||||||
# Convert <li> tags to bullet points and trim spaces
|
# Convert <li> tags to bullet points and trim spaces
|
||||||
markdown_description=$(echo "$markdown_description" | sed -e 's|<ul>||g' -e 's|</ul>||g' -e 's|<li>|- |g' -e 's|</li>||g' | awk '{$1=$1;print}')
|
markdown_description=$(echo "$markdown_description" | sed -e 's|<ul>||g' -e 's|</ul>||g' -e 's|<li>|- |g' -e 's|</li>||g' | awk '{$1=$1;print}')
|
||||||
|
|
||||||
|
echo "[DEBUG] CHECKPOINT 5"
|
||||||
|
|
||||||
# Remove any remaining XML tags
|
# Remove any remaining XML tags
|
||||||
markdown_description=$(echo "$markdown_description" | sed -e 's/<[^>]*>//g')
|
markdown_description=$(echo "$markdown_description" | sed -e 's/<[^>]*>//g')
|
||||||
|
|
||||||
|
echo "[DEBUG] CHECKPOINT 6"
|
||||||
|
|
||||||
# Debug: Print the markdown description
|
# Debug: Print the markdown description
|
||||||
echo "Markdown Description:"
|
echo "Markdown Description:"
|
||||||
echo "$markdown_description"
|
echo "$markdown_description"
|
||||||
|
|
||||||
|
echo "[DEBUG] CHECKPOINT 7"
|
||||||
|
|
||||||
# Append markdown content to the release body
|
# Append markdown content to the release body
|
||||||
RELEASE_BODY+="$markdown_description"
|
RELEASE_BODY+="$markdown_description"
|
||||||
printf "RELEASE_BODY=%s\n" "$RELEASE_BODY" >> $GITHUB_ENV
|
printf "RELEASE_BODY=%s\n" "$RELEASE_BODY" >> $GITHUB_ENV
|
||||||
|
|
||||||
|
echo "[DEBUG] CHECKPOINT 8"
|
||||||
|
|
||||||
- name: "Build flatpak: download only"
|
- name: "Build flatpak: download only"
|
||||||
run: "/bin/bash ${GITHUB_WORKSPACE}/automation_tools/flatpak_build_download_only.sh"
|
run: "/bin/bash ${GITHUB_WORKSPACE}/automation_tools/flatpak_build_download_only.sh"
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue