Fixing the mess after the merge (hopefully) - Pt. 2

This commit is contained in:
XargonWan 2023-12-20 09:41:16 +01:00
parent e3ae6b6d57
commit 8e109a24cc
3 changed files with 32 additions and 4 deletions

View file

@ -60,7 +60,7 @@ jobs:
- name: Validate Manifest (main only) - name: Validate Manifest (main only)
id: validate_manifest id: validate_manifest
run: "automation_tools/manifest-validation.sh" run: "automation_tools/manifest_validation.sh"
- name: "[DEBUG] Outputting manifest" - name: "[DEBUG] Outputting manifest"
run: cat net.retrodeck.retrodeck.yml run: cat net.retrodeck.retrodeck.yml

View file

@ -1,12 +1,16 @@
#!/bin/bash #!/bin/bash
# This script is used to check that the versions are correct and stopping the pipeline if something is wrong.
# This is designed to be run on the main pipeline to check that everything is in order before building RetroDECK. # This script is intended to gather version information from various sources:
# RetroDECK repository
# Appdata.xml file
# Manifest YAML file
# It consists of three functions, each responsible for retrieving a specific version-related data.
source automation_tools/version_extractor.sh source automation_tools/version_extractor.sh
# Set the file paths
appdata="net.retrodeck.retrodeck.appdata.xml" appdata="net.retrodeck.retrodeck.appdata.xml"
manifest="net.retrodeck.retrodeck.yml" manifest="net.retrodeck.retrodeck.yml"
manifest_content=$(cat "$manifest")
compare_versions() { compare_versions() {
local manifest_version_cleaned=$(echo "$1" | sed 's/[a-zA-Z]//g') local manifest_version_cleaned=$(echo "$1" | sed 's/[a-zA-Z]//g')
@ -31,6 +35,30 @@ compare_versions() {
return 0 # Versions are equal return 0 # Versions are equal
} }
fetch_repo_version(){
# Getting latest RetroDECK release info
LATEST_RELEASE=$(curl -s "https://api.github.com/repos/XargonWan/RetroDECK/releases/latest")
# Extracting tag name from the latest release
repo_version=$(echo "$LATEST_RELEASE" | grep '"tag_name":' | sed -E 's/.*"([^"]+)".*/\1/')
# Printing results
echo "$repo_version"
}
fetch_appdata_version(){
# Extract the version from the net.retrodeck.retrodeck.appdata.xml file
appdata_version=$(grep -oPm1 "(?<=<release version=\")[^\"]+" "$appdata")
echo "$appdata_version"
}
fetch_manifest_version(){
# Use awk to extract the value of the first iteration of VERSION variable
manifest_version=$(echo "$manifest_content" | awk '/VERSION=/ && !/#/ { sub(/.*VERSION=/, ""); sub(/#.*/, ""); print; exit }')
# Trim leading and trailing whitespace
manifest_version=$(echo "$manifest_version" | awk '{gsub(/[^0-9.a-zA-Z]/,""); print}')
echo "$manifest_version"
}
repo_version=$(fetch_repo_version) repo_version=$(fetch_repo_version)
echo -e "Online repository:\t$repo_version" echo -e "Online repository:\t$repo_version"