diff --git a/.github/workflows/maven-release.yml b/.github/workflows/maven-release.yml index 443ba4f..d418857 100644 --- a/.github/workflows/maven-release.yml +++ b/.github/workflows/maven-release.yml @@ -58,6 +58,8 @@ jobs: run: cat /home/runner/.m2/settings.xml - name: Build with Maven run: mvn --batch-mode -DwpExporterImpl=docker clean package -P tests-with-weasyprint-docker + env: + FAIL_ON_CHECK_COMMANDS: 'true' - name: Extract artefact version id: artefact_version run: echo "version=$(mvn help:evaluate -Dexpression=project.version -q -DforceStdout)" >> $GITHUB_OUTPUT diff --git a/.scripts/convert-readme.sh b/.scripts/convert-readme.sh index a311cbe..413bcb1 100755 --- a/.scripts/convert-readme.sh +++ b/.scripts/convert-readme.sh @@ -2,25 +2,45 @@ set -e +# Check if a command is installed +function check_command() { + if ! command -v "$1" &> /dev/null; then + echo -e "\033[0;31m $1 is not installed! \033[0m" >&2 + echo -e "\033[0;31m Help for About page will not be generated! \033[0m" >&2 + + if [ -n "$FAIL_ON_CHECK_COMMANDS" ]; then + exit 1 + else + exit 0 + fi + fi +} + +# Check if required commands are installed +check_command jq +check_command curl +check_command awk + INPUT_FILE="${1:-README.md}" OUTPUT_FILE="${2:-README.html}" # Convert the markdown file to a JSON payload -jq -R -s '{"mode": "gfm", "text": .}' < "$INPUT_FILE" > payload.json +JSON_PAYLOAD=$(jq -R -s '{"mode": "gfm", "text": .}' < "$INPUT_FILE") # Send the JSON payload to the GitHub API -curl -L \ +CURL_OUTPUT=$(curl -L \ -X POST \ -H "Accept: application/vnd.github+json" \ -H "X-GitHub-Api-Version: 2022-11-28" \ https://api.github.com/markdown \ - -d @payload.json > "$OUTPUT_FILE" + -d "$JSON_PAYLOAD") -# Remove the temporary JSON payload -rm payload.json - -# Remove the Build and Installation sections from readme -awk ' +# Process the curl output with awk to remove the Build, Installation and Changelog sections +MODIFIED_CONTENT=$(echo "$CURL_OUTPUT" | awk ' /