1 Commits
Author SHA1 Message Date
ImgBotApp e240f25d85 [ImgBot] Optimize images
*Total -- 1,227.51kb -> 1,137.64kb (7.32%)

/.github/star.jpg -- 19.45kb -> 17.05kb (12.32%)
/.github/how_to_fork_and_run_workflow.gif -- 1,208.06kb -> 1,120.59kb (7.24%)

Signed-off-by: ImgBotApp <ImgBotHelp@gmail.com>
2026-05-05 00:37:39 +00:00
4 changed files with 138 additions and 117 deletions
Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 MiB

After

Width:  |  Height:  |  Size: 1.1 MiB

BIN
View File
Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 KiB

After

Width:  |  Height:  |  Size: 17 KiB

+69 -59
View File
@@ -64,68 +64,78 @@ jobs:
done
if [ "$FOUND" = "false" ]; then
VERSION_NORMALIZED=$(echo "${{ inputs.macos_version }}" | tr ' ' '_')
FORMAT="${{ inputs.image_format }}"
FOUND_RUN_URL=""
FOUND_ARTIFACT_NAME=""
PAST_15_DAYS=$(date -u -d '15 days ago' +%Y-%m-%dT%H:%M:%SZ)
PAGE=1
while true; do
FORKS=$(curl -s \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer ${{ secrets.GITHUB_TOKEN }}" \
"https://api.github.com/repos/LongQT-sea/macos-iso-builder/forks?sort=newest&per_page=100&page=${PAGE}")
[ "$(echo "$FORKS" | jq 'length')" -eq 0 ] && break
RECENT=$(echo "$FORKS" | jq -r --arg date "$PAST_15_DAYS" \
'.[] | select(.created_at > $date) | .full_name')
[ -z "$RECENT" ] && break
while IFS= read -r fork_full_name; do
[ -z "$fork_full_name" ] && continue
RUN_ID=$(curl -s \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer ${{ secrets.GITHUB_TOKEN }}" \
"https://api.github.com/repos/${fork_full_name}/actions/runs?status=success&per_page=10" \
| jq -r --arg date "$PAST_15_DAYS" '
.workflow_runs[]
| select(.name == "Build Full Installer ISO/DMG image")
| select(.created_at > $date)
| .id' | head -1)
[ -z "$RUN_ID" ] || [ "$RUN_ID" = "null" ] && continue
MATCH=$(curl -s \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer ${{ secrets.GITHUB_TOKEN }}" \
"https://api.github.com/repos/${fork_full_name}/actions/runs/${RUN_ID}/artifacts" \
| jq -r --arg v "macOS_${VERSION_NORMALIZED}" --arg f "$FORMAT" '
.artifacts[]
| select(.name | startswith($v) and (endswith($f) or endswith($f + ".img")))
| select(.expired == false)
| .name' | head -1)
if [ -n "$MATCH" ] && [ "$MATCH" != "null" ]; then
FOUND_RUN_URL="https://github.com/${fork_full_name}/actions/runs/${RUN_ID}"
FOUND_ARTIFACT_NAME="$MATCH"
break 2
fi
done < <(echo "$RECENT")
PAGE=$((PAGE + 1))
done
if [ -n "$FOUND_RUN_URL" ]; then
echo "## Found **${FOUND_ARTIFACT_NAME}** in a recent fork" >> $GITHUB_STEP_SUMMARY
echo "**[${FOUND_RUN_URL}](${FOUND_RUN_URL})**" >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY
echo "1. Open the link above" >> $GITHUB_STEP_SUMMARY
echo "2. Scroll down to the **Artifacts** section" >> $GITHUB_STEP_SUMMARY
echo "3. Click **${FOUND_ARTIFACT_NAME}** to download" >> $GITHUB_STEP_SUMMARY
if [ ${{ github.run_attempt }} -eq 1 ]; then
echo "## Before you build — check if someone already did it for you :point_down:" >> $GITHUB_STEP_SUMMARY
echo "Browse the **[Recent Forks List](https://github.com/LongQT-sea/macos-iso-builder/releases/latest)** — someone may have already built the macOS version you need." >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY
echo "> [!TIP]" >> $GITHUB_STEP_SUMMARY
echo "> Want to build your own latest version? Star :star: [LongQT-sea/macos-iso-builder](https://github.com/LongQT-sea/macos-iso-builder) to skip this search and go straight to build next time." >> $GITHUB_STEP_SUMMARY
echo "> Too lazy to browse? Click **Re-run all jobs** and I'll search recent forks for you automatically. :mag:" >> $GITHUB_STEP_SUMMARY
echo "> Otherwise, star :star: [LongQT-sea/macos-iso-builder](https://github.com/LongQT-sea/macos-iso-builder) to go straight to build next time." >> $GITHUB_STEP_SUMMARY
echo "> <br>![star](https://raw.githubusercontent.com/LongQT-sea/macos-iso-builder/main/.github/star.jpg)" >> $GITHUB_STEP_SUMMARY
else
echo "No recent builds found in forks. Starting build..." >> $GITHUB_STEP_SUMMARY
echo "Star :star: [LongQT-sea/macos-iso-builder](https://github.com/LongQT-sea/macos-iso-builder) to skip this search and go straight to build next time." >> $GITHUB_STEP_SUMMARY
echo "<br>![star](https://raw.githubusercontent.com/LongQT-sea/macos-iso-builder/main/.github/star.jpg)" >> $GITHUB_STEP_SUMMARY
echo "_build=true" >> $GITHUB_OUTPUT
VERSION_NORMALIZED=$(echo "${{ inputs.macos_version }}" | tr ' ' '_')
FORMAT="${{ inputs.image_format }}"
FOUND_RUN_URL=""
FOUND_ARTIFACT_NAME=""
PAST_15_DAYS=$(date -u -d '15 days ago' +%Y-%m-%dT%H:%M:%SZ)
PAGE=1
while true; do
FORKS=$(curl -s \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer ${{ secrets.GITHUB_TOKEN }}" \
"https://api.github.com/repos/LongQT-sea/macos-iso-builder/forks?sort=newest&per_page=100&page=${PAGE}")
[ "$(echo "$FORKS" | jq 'length')" -eq 0 ] && break
RECENT=$(echo "$FORKS" | jq -r --arg date "$PAST_15_DAYS" \
'.[] | select(.created_at > $date) | .full_name')
[ -z "$RECENT" ] && break
while IFS= read -r fork_full_name; do
[ -z "$fork_full_name" ] && continue
RUN_ID=$(curl -s \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer ${{ secrets.GITHUB_TOKEN }}" \
"https://api.github.com/repos/${fork_full_name}/actions/runs?status=success&per_page=10" \
| jq -r --arg date "$PAST_15_DAYS" '
.workflow_runs[]
| select(.name == "Build Full Installer ISO/DMG image")
| select(.created_at > $date)
| .id' | head -1)
[ -z "$RUN_ID" ] || [ "$RUN_ID" = "null" ] && continue
MATCH=$(curl -s \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer ${{ secrets.GITHUB_TOKEN }}" \
"https://api.github.com/repos/${fork_full_name}/actions/runs/${RUN_ID}/artifacts" \
| jq -r --arg v "macOS_${VERSION_NORMALIZED}" --arg f "$FORMAT" '
.artifacts[]
| select(.name | startswith($v) and (endswith($f) or endswith($f + ".img")))
| select(.expired == false)
| .name' | head -1)
if [ -n "$MATCH" ] && [ "$MATCH" != "null" ]; then
FOUND_RUN_URL="https://github.com/${fork_full_name}/actions/runs/${RUN_ID}"
FOUND_ARTIFACT_NAME="$MATCH"
break 2
fi
done < <(echo "$RECENT")
PAGE=$((PAGE + 1))
done
if [ -n "$FOUND_RUN_URL" ]; then
echo "## Found **${FOUND_ARTIFACT_NAME}** in a recent fork" >> $GITHUB_STEP_SUMMARY
echo "**[${FOUND_RUN_URL}](${FOUND_RUN_URL})**" >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY
echo "1. Open the link above" >> $GITHUB_STEP_SUMMARY
echo "2. Scroll down to the **Artifacts** section" >> $GITHUB_STEP_SUMMARY
echo "3. Click **${FOUND_ARTIFACT_NAME}** to download" >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY
echo "> [!TIP]" >> $GITHUB_STEP_SUMMARY
echo "> Want to build your own latest version? Star :star: [LongQT-sea/macos-iso-builder](https://github.com/LongQT-sea/macos-iso-builder) to skip this search and go straight to build next time." >> $GITHUB_STEP_SUMMARY
echo "> <br>![star](https://raw.githubusercontent.com/LongQT-sea/macos-iso-builder/main/.github/star.jpg)" >> $GITHUB_STEP_SUMMARY
else
echo "## No recent builds found in forks." >> $GITHUB_STEP_SUMMARY
echo "Star :star: [LongQT-sea/macos-iso-builder](https://github.com/LongQT-sea/macos-iso-builder) to skip this search and go straight to build next time." >> $GITHUB_STEP_SUMMARY
echo "<br>![star](https://raw.githubusercontent.com/LongQT-sea/macos-iso-builder/main/.github/star.jpg)" >> $GITHUB_STEP_SUMMARY
echo "_build=true" >> $GITHUB_OUTPUT
fi
fi
exit 0
fi
@@ -194,4 +204,4 @@ jobs:
echo "" >> $GITHUB_STEP_SUMMARY
echo "> [!TIP]" >> $GITHUB_STEP_SUMMARY
echo "> Enable [Cloudflare WARP](https://one.one.one.one/) for faster download from GitHub artifact." >> $GITHUB_STEP_SUMMARY
fi
fi
+69 -58
View File
@@ -27,6 +27,8 @@ jobs:
preflight:
if: ${{ inputs.macos_version != '' }}
runs-on: ubuntu-slim
permissions:
contents: write # needed to create releases
timeout-minutes: 5
outputs:
_build: ${{ steps.check.outputs._build }}
@@ -54,67 +56,78 @@ jobs:
done
if [ "$FOUND" = "false" ]; then
VERSION_NORMALIZED=$(echo "${{ inputs.macos_version }}" | tr ' ' '_')
FOUND_RUN_URL=""
FOUND_ARTIFACT_NAME=""
PAST_15_DAYS=$(date -u -d '15 days ago' +%Y-%m-%dT%H:%M:%SZ)
PAGE=1
while true; do
FORKS=$(curl -s \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer ${{ secrets.GITHUB_TOKEN }}" \
"https://api.github.com/repos/LongQT-sea/macos-iso-builder/forks?sort=newest&per_page=100&page=${PAGE}")
[ "$(echo "$FORKS" | jq 'length')" -eq 0 ] && break
RECENT=$(echo "$FORKS" | jq -r --arg date "$PAST_15_DAYS" \
'.[] | select(.created_at > $date) | .full_name')
[ -z "$RECENT" ] && break
while IFS= read -r fork_full_name; do
[ -z "$fork_full_name" ] && continue
RUN_ID=$(curl -s \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer ${{ secrets.GITHUB_TOKEN }}" \
"https://api.github.com/repos/${fork_full_name}/actions/runs?status=success&per_page=10" \
| jq -r --arg date "$PAST_15_DAYS" '
.workflow_runs[]
| select(.name == "Build Recovery ISO image")
| select(.created_at > $date)
| .id' | head -1)
[ -z "$RUN_ID" ] || [ "$RUN_ID" = "null" ] && continue
MATCH=$(curl -s \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer ${{ secrets.GITHUB_TOKEN }}" \
"https://api.github.com/repos/${fork_full_name}/actions/runs/${RUN_ID}/artifacts" \
| jq -r --arg v "macOS_${VERSION_NORMALIZED}_Recovery" '
.artifacts[]
| select(.name | startswith($v))
| select(.expired == false)
| .name' | head -1)
if [ -n "$MATCH" ] && [ "$MATCH" != "null" ]; then
FOUND_RUN_URL="https://github.com/${fork_full_name}/actions/runs/${RUN_ID}"
FOUND_ARTIFACT_NAME="$MATCH"
break 2
fi
done < <(echo "$RECENT")
PAGE=$((PAGE + 1))
done
if [ -n "$FOUND_RUN_URL" ]; then
echo "## Found **${FOUND_ARTIFACT_NAME}** in a recent fork" >> $GITHUB_STEP_SUMMARY
echo "**[${FOUND_RUN_URL}](${FOUND_RUN_URL})**" >> $GITHUB_STEP_SUMMARY
if [ ${{ github.run_attempt }} -eq 1 ]; then
echo "## Before you build — check if someone already did it for you :point_down:" >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY
echo "1. Open the link above" >> $GITHUB_STEP_SUMMARY
echo "2. Scroll down to the **Artifacts** section" >> $GITHUB_STEP_SUMMARY
echo "3. Click **${FOUND_ARTIFACT_NAME}** to download" >> $GITHUB_STEP_SUMMARY
echo "Browse the **[Recent Forks List](https://github.com/LongQT-sea/macos-iso-builder)** — someone may have already built the macOS version you need." >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY
echo "> [!TIP]" >> $GITHUB_STEP_SUMMARY
echo "> Want to build your own latest version? Star :star: [LongQT-sea/macos-iso-builder](https://github.com/LongQT-sea/macos-iso-builder) to skip this search and go straight to build next time." >> $GITHUB_STEP_SUMMARY
echo "> Too lazy to browse? Click **Re-run all jobs** and I'll search recent forks for you automatically. :mag:" >> $GITHUB_STEP_SUMMARY
echo "> Otherwise, star :star: [LongQT-sea/macos-iso-builder](https://github.com/LongQT-sea/macos-iso-builder) to go straight to build next time." >> $GITHUB_STEP_SUMMARY
echo "> <br>![star](https://raw.githubusercontent.com/LongQT-sea/macos-iso-builder/main/.github/star.jpg)" >> $GITHUB_STEP_SUMMARY
else
echo "No recent builds found in forks. Starting build..." >> $GITHUB_STEP_SUMMARY
echo "Star :star: [LongQT-sea/macos-iso-builder](https://github.com/LongQT-sea/macos-iso-builder) to skip this search and go straight to build next time." >> $GITHUB_STEP_SUMMARY
echo "<br>![star](https://raw.githubusercontent.com/LongQT-sea/macos-iso-builder/main/.github/star.jpg)" >> $GITHUB_STEP_SUMMARY
echo "_build=true" >> $GITHUB_OUTPUT
VERSION_NORMALIZED=$(echo "${{ inputs.macos_version }}" | tr ' ' '_')
FOUND_RUN_URL=""
FOUND_ARTIFACT_NAME=""
PAST_15_DAYS=$(date -u -d '15 days ago' +%Y-%m-%dT%H:%M:%SZ)
PAGE=1
while true; do
FORKS=$(curl -s \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer ${{ secrets.GITHUB_TOKEN }}" \
"https://api.github.com/repos/LongQT-sea/macos-iso-builder/forks?sort=newest&per_page=100&page=${PAGE}")
[ "$(echo "$FORKS" | jq 'length')" -eq 0 ] && break
RECENT=$(echo "$FORKS" | jq -r --arg date "$PAST_15_DAYS" \
'.[] | select(.created_at > $date) | .full_name')
[ -z "$RECENT" ] && break
while IFS= read -r fork_full_name; do
[ -z "$fork_full_name" ] && continue
RUN_ID=$(curl -s \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer ${{ secrets.GITHUB_TOKEN }}" \
"https://api.github.com/repos/${fork_full_name}/actions/runs?status=success&per_page=10" \
| jq -r --arg date "$PAST_15_DAYS" '
.workflow_runs[]
| select(.name == "Build Recovery ISO image")
| select(.created_at > $date)
| .id' | head -1)
[ -z "$RUN_ID" ] || [ "$RUN_ID" = "null" ] && continue
MATCH=$(curl -s \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer ${{ secrets.GITHUB_TOKEN }}" \
"https://api.github.com/repos/${fork_full_name}/actions/runs/${RUN_ID}/artifacts" \
| jq -r --arg v "macOS_${VERSION_NORMALIZED}_Recovery" '
.artifacts[]
| select(.name | startswith($v))
| select(.expired == false)
| .name' | head -1)
if [ -n "$MATCH" ] && [ "$MATCH" != "null" ]; then
FOUND_RUN_URL="https://github.com/${fork_full_name}/actions/runs/${RUN_ID}"
FOUND_ARTIFACT_NAME="$MATCH"
break 2
fi
done < <(echo "$RECENT")
PAGE=$((PAGE + 1))
done
if [ -n "$FOUND_RUN_URL" ]; then
echo "## Found **${FOUND_ARTIFACT_NAME}** in a recent fork" >> $GITHUB_STEP_SUMMARY
echo "**[${FOUND_RUN_URL}](${FOUND_RUN_URL})**" >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY
echo "1. Open the link above" >> $GITHUB_STEP_SUMMARY
echo "2. Scroll down to the **Artifacts** section" >> $GITHUB_STEP_SUMMARY
echo "3. Click **${FOUND_ARTIFACT_NAME}** to download" >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY
echo "> [!TIP]" >> $GITHUB_STEP_SUMMARY
echo "> Want to build your own latest version? Star :star: [LongQT-sea/macos-iso-builder](https://github.com/LongQT-sea/macos-iso-builder) to skip this search and go straight to build next time." >> $GITHUB_STEP_SUMMARY
echo "> <br>![star](https://raw.githubusercontent.com/LongQT-sea/macos-iso-builder/main/.github/star.jpg)" >> $GITHUB_STEP_SUMMARY
else
echo "## No recent builds found in forks." >> $GITHUB_STEP_SUMMARY
echo "Star :star: [LongQT-sea/macos-iso-builder](https://github.com/LongQT-sea/macos-iso-builder) to skip this search and go straight to build next time." >> $GITHUB_STEP_SUMMARY
echo "<br>![star](https://raw.githubusercontent.com/LongQT-sea/macos-iso-builder/main/.github/star.jpg)" >> $GITHUB_STEP_SUMMARY
echo "_build=true" >> $GITHUB_OUTPUT
fi
fi
exit 0
fi
@@ -126,8 +139,6 @@ jobs:
if: needs.preflight.outputs._build == 'true'
runs-on: macos-latest
timeout-minutes: 15
permissions:
contents: write
steps:
- name: Checkout repository