diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml
index 73ae164dd0..27ed4c66f7 100644
--- a/.github/workflows/main.yml
+++ b/.github/workflows/main.yml
@@ -8,12 +8,6 @@ on:
- '*'
pull_request:
workflow_dispatch:
- inputs:
- alpha_build:
- description: 'Publish as Clover-Build-Alpha rolling_release'
- required: false
- default: true
- type: boolean
jobs:
build-macos:
@@ -21,9 +15,6 @@ jobs:
runs-on: macos-latest
permissions:
contents: write
- concurrency:
- group: ${{ ((github.event_name == 'workflow_dispatch' && inputs.alpha_build == true) || (github.event_name == 'push' && github.ref == 'refs/heads/master')) && 'clover-alpha-release' || format('build-{0}-{1}', github.ref, github.sha) }}
- cancel-in-progress: false
steps:
- uses: actions/checkout@v7
with:
@@ -54,33 +45,11 @@ jobs:
./buildme "" ci
- name: Prepare Release Packs
run: |
- shopt -s nullglob
(cd "CloverPackage/CloverV2/EFI/CLOVER/" && zip -q "CLOVERX64.efi.zip" "CLOVERX64.efi" || exit 1)
- (cd CloverPackage/sym/CloverISO-*/ && 7z a Clover-${{ env.CUR_TAG }}-X64.iso.7z *.iso || exit 1)
- releaseItems=(CloverPackage/sym/CloverISO*/*.7z CloverPackage/sym/CloverV2*.zip CloverPackage/CloverV2/EFI/CLOVER/CLOVERX64.efi.zip CloverPackage/sym/Clover*.pkg)
+ (cd "CloverPackage/sym/CloverISO-${{ env.CUR_TAG }}" && 7z a Clover-${{ env.CUR_TAG }}-X64.iso.7z *.iso || exit 1)
+ releaseItems=(CloverPackage/sym/CloverISO*/*.7z CloverPackage/sym/CloverV2*.zip CloverPackage/CloverV2/EFI/CLOVER/CLOVERX64.efi.zip CloverPackage/sym/Clover_r*.pkg)
for releaseItem in "${releaseItems[@]}"; do cp -Rf "${releaseItem}" ./ || exit 1; done
-
- - name: Rename Release Assets with Commit SHA
- run: |
- shopt -s nullglob
- echo "Renaming release assets to include commit SHA (${{ env.GIT_SHA }}) so filenames change on every build..."
- for f in *.7z; do
- base="${f%.7z}"
- mv -v "$f" "${base}-${{ env.GIT_SHA }}.7z"
- done
- for f in CloverV2*.zip; do
- base="${f%.zip}"
- mv -v "$f" "${base}-${{ env.GIT_SHA }}.zip"
- done
- for f in CLOVERX64.efi.zip; do
- base="${f%.zip}"
- mv -v "$f" "${base}-${{ env.GIT_SHA }}.zip"
- done
- for f in Clover*.pkg; do
- base="${f%.pkg}"
- mv -v "$f" "${base}-${{ env.GIT_SHA }}.pkg"
- done
-
+
- name: Upload to Artifacts
uses: actions/upload-artifact@v7
with:
@@ -88,71 +57,16 @@ jobs:
path: |
*.7z
CloverV2*.zip
- CLOVERX64.efi*.zip
- Clover*.pkg
-
- - name: Verify Release Assets
- run: |
- shopt -s nullglob
- missing=()
- for pattern in '*.7z' 'CloverV2*.zip' 'CLOVERX64.efi*.zip' 'Clover*.pkg'; do
- files=($pattern)
- if [ ${#files[@]} -eq 0 ]; then missing+=("$pattern"); fi
- done
- if [ ${#missing[@]} -gt 0 ]; then
- echo "::error::Missing expected release artifact(s): ${missing[*]}"
- exit 1
- fi
+ CLOVERX64.efi.zip
+ Clover_r*.pkg
- - name: Publish Tagged Release
+ - name: Publish Release
if: startsWith(github.ref, 'refs/tags/')
uses: softprops/action-gh-release@v3
with:
files: |
*.7z
CloverV2*.zip
- CLOVERX64.efi*.zip
- Clover*.pkg
+ CLOVERX64.efi.zip
+ Clover_r*.pkg
generate_release_notes: true
- prerelease: ${{ contains(github.ref_name, 'alpha') || contains(github.ref_name, 'beta') }}
-
- - name: Publish Alpha Rolling Release
- if: (github.event_name == 'workflow_dispatch' && inputs.alpha_build == true) || (github.event_name == 'push' && github.ref == 'refs/heads/master')
- uses: softprops/action-gh-release@v3
- with:
- tag_name: Clover-Build-Alpha
- name: "Clover Build Alpha (${{ env.GIT_SHA }})"
- body: |
- Automated alpha build from commit `${{ env.GIT_SHA }}` on branch `${{ github.ref_name }}`.
- This is a rolling pre-release and will be overwritten by future alpha builds.
- files: |
- *.7z
- CloverV2*.zip
- CLOVERX64.efi*.zip
- Clover*.pkg
- generate_release_notes: false
- prerelease: true
- make_latest: false
-
- - name: Remove Stale Alpha Release Assets
- if: (github.event_name == 'workflow_dispatch' && inputs.alpha_build == true) || (github.event_name == 'push' && github.ref == 'refs/heads/master')
- env:
- GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- run: |
- if ! gh release view Clover-Build-Alpha >/dev/null 2>&1; then
- echo "Clover-Build-Alpha release does not exist yet; skipping asset cleanup."
- exit 0
- fi
-
- shopt -s nullglob
- current=(*.7z CloverV2*.zip CLOVERX64.efi*.zip Clover*.pkg)
- gh release view Clover-Build-Alpha --json assets --jq '.assets[].name' |
- while IFS= read -r asset; do
- keep=false
- for f in "${current[@]}"; do
- if [ "$f" = "$asset" ]; then keep=true; break; fi
- done
- if [ "$keep" = false ]; then
- gh release delete-asset Clover-Build-Alpha "$asset" --yes
- fi
- done
diff --git a/CloverPackage/makeV2 b/CloverPackage/makeV2
index f559b5c8e8..c3c2e9dd24 100755
--- a/CloverPackage/makeV2
+++ b/CloverPackage/makeV2
@@ -7,25 +7,13 @@ cd "$(dirname $([ -L $0 ] && readlink $0 || echo $0))"
ROOT="$PWD"
SYMROOT="${ROOT}"/sym
mkdir -p "$SYMROOT"
-
REVISION=$(git describe --tags "$(git rev-list --tags --max-count=1)")
-# Keep the traditional "r" prefix for numeric tags only.
-# Non-numeric tags are used exactly as they are.
-if [[ "$REVISION" =~ ^[0-9]+$ ]]; then
- REVISION="r${REVISION}"
-fi
-
-REVISION_SUFFIX="${REVISION#Clover}"
-REVISION_SUFFIX="${REVISION_SUFFIX#[-_]}"
-
# Remove previous revision zip
rm -rf $SYMROOT/CloverV2-*.zip
-
# zip CloverV2, excluding all .empty and all .DS_Store
-zip -qr CloverV2-${REVISION_SUFFIX}.zip CloverV2 -x "*/.DS_Store" "*/.empty"
-
-mv CloverV2-${REVISION_SUFFIX}.zip $SYMROOT
+zip -qr CloverV2-${REVISION}.zip CloverV2 -x "*/.DS_Store" "*/.empty"
+mv CloverV2-${REVISION}.zip $SYMROOT
open "$SYMROOT"
diff --git a/CloverPackage/makeiso b/CloverPackage/makeiso
index ed1af4fdc9..53783cb8ea 100755
--- a/CloverPackage/makeiso
+++ b/CloverPackage/makeiso
@@ -25,17 +25,7 @@ EFIROOT=${SRCROOT}/CloverV2/EFI
BASETOOLS_DIR=${SRCROOT}/../BaseTools/Source/C/bin
REVISION=$(git describe --tags $(git rev-list --tags --max-count=1))
-
-# Keep the traditional "r" prefix for numeric tags only.
-# Non-numeric tags are used exactly as they are.
-if [[ "$REVISION" =~ ^[0-9]+$ ]]; then
- REVISION="r${REVISION}"
-fi
-
-REVISION_SUFFIX="${REVISION#Clover}"
-REVISION_SUFFIX="${REVISION_SUFFIX#[-_]}"
-
-PRODUCT=Clover-${REVISION_SUFFIX}
+PRODUCT=Clover-${REVISION}
CDLABEL=${PRODUCT}-X64
ISOIMAGE=${SYMROOT}/${CDLABEL}.iso
@@ -156,20 +146,17 @@ cp -f ${CLOVERROOT}/BootSectors/boot1f32 ${IMGROOT}/usr/standalone/i386
cp -f ${CLOVERROOT}/BootSectors/boot1f32alt ${IMGROOT}/usr/standalone/i386
cp -f ${CLOVERROOT}/BootSectors/boot1x ${IMGROOT}/usr/standalone/i386
cp -f ${CLOVERROOT}/BootSectors/boot1xalt ${IMGROOT}/usr/standalone/i386
-
# #ifdef CONFIG_FDISK440
# cp -f ${CLOVERROOT}/BootSectors/fdisk440 ${IMGROOT}/usr/bin
# #endif
-
rm -rf ${IMGROOT}/.s*
rm -rf ${IMGROOT}/*/.s*
rm -rf ${IMGROOT}/*/*/.s*
rm -rf ${IMGROOT}/*/*/*/.s*
rm -rf ${IMGROOT}/*/*/*/*/.s*
find "${IMGROOT}" -name '.DS_Store' -exec rm -R -f {} \; 2>/dev/null
-
echo "[HDIUTIL] ${ISOIMAGE}"
-mkdir -p ${SYMROOT}/CloverISO-${REVISION_SUFFIX}
+mkdir -p ${SYMROOT}/CloverISO-${REVISION}
if [[ "$SYSNAME" == Linux ]]; then
genisoimage -J -hfs -hfs-volid ${CDLABEL} -D -b usr/standalone/i386/cdboot -no-emul-boot -quiet -o "${ISOIMAGE}" ${IMGROOT}
@@ -178,21 +165,17 @@ hdiutil makehybrid -iso -joliet -hfs -hfs-volume-name ${CDLABEL} \
-eltorito-boot ${CDBOOT} -no-emul-boot -ov -o "${ISOIMAGE}" \
${IMGROOT} -quiet
fi
-
-mv -f ${ISOIMAGE} ${SYMROOT}/CloverISO-${REVISION_SUFFIX}/
-
-echo "[TAR] CloverISO-${REVISION_SUFFIX}"
-tar -cv -f ${SYMROOT}/CloverISO-${REVISION_SUFFIX}.tar -C ${SYMROOT}/CloverISO-${REVISION_SUFFIX} .
-
-echo "[LZMA] CloverISO-${REVISION_SUFFIX}"
+mv -f ${ISOIMAGE} ${SYMROOT}/CloverISO-${REVISION}/
+echo "[TAR] CloverISO-${REVISION}"
+tar -cv -f ${SYMROOT}/CloverISO-${REVISION}.tar -C ${SYMROOT}/CloverISO-${REVISION} .
+echo "[LZMA] CloverISO-${REVISION}"
if [[ "$SYSNAME" == Linux ]]; then
-xz -f -S .lzma ${SYMROOT}/CloverISO-${REVISION_SUFFIX}.tar
+xz -f -S .lzma ${SYMROOT}/CloverISO-${REVISION}.tar
else
-"$BASETOOLS_DIR"/LzmaCompress -e -o ${SYMROOT}/CloverISO-${REVISION_SUFFIX}.tar.lzma ${SYMROOT}/CloverISO-${REVISION_SUFFIX}.tar
+"$BASETOOLS_DIR"/LzmaCompress -e -o ${SYMROOT}/CloverISO-${REVISION}.tar.lzma ${SYMROOT}/CloverISO-${REVISION}.tar
fi
-
-rm -rf ${SYMROOT}/CloverISO-${REVISION_SUFFIX}.tar
+rm -rf ${SYMROOT}/CloverISO-${REVISION}.tar
# Open the final folder.
if [[ "${1:-}" == "" ]]; then
@@ -200,4 +183,4 @@ if [[ "${1:-}" == "" ]]; then
[[ "$SYSNAME" != Linux ]] && open sym
fi
-exit 0
\ No newline at end of file
+exit 0
diff --git a/CloverPackage/makepkg b/CloverPackage/makepkg
index a5df1dafc7..0470365205 100755
--- a/CloverPackage/makepkg
+++ b/CloverPackage/makepkg
@@ -29,30 +29,23 @@ echo
}
while [[ $# -gt 0 ]]; do
- case "${1}" in
- --nothemes ) NOEXTRAS+=" --nothemes";;
- # --noprefpane ) NOEXTRAS+=" --noprefpane";;
- --norc ) NOEXTRAS+=" --norc";;
- --nolegacy ) NOEXTRAS+=" --nolegacy";;
- * ) printf "\e[1m%s\e[0m\n" "Invalid option: ${1} !"; usage; exit 1;;
- esac
- shift
+ case "${1}" in
+ --nothemes ) NOEXTRAS+=" --nothemes";;
+ # --noprefpane ) NOEXTRAS+=" --noprefpane";;
+ --norc ) NOEXTRAS+=" --norc";;
+ --nolegacy ) NOEXTRAS+=" --nolegacy";;
+ * ) printf "\e[1m%s\e[0m\n" "Invalid option: ${1} !"; usage; exit 1;;
+ esac
+ shift
done
# Workspace = edk2/Clover/CloverPackage
# Go to the script directory to create the package
-cd "$(dirname "$0")"
+cd "$(dirname $0)"
-# Get the latest Git tag.
revision=$(git describe --tags $(git rev-list --tags --max-count=1))
-# Keep the traditional "r" prefix for numeric tags only.
-# Non-numeric tags are used exactly as they are.
-if [[ "$revision" =~ ^[0-9]+$ ]]; then
- revision="r${revision}"
-fi
-
SRCROOT="${PWD}"
SYMROOT="${SRCROOT}"/sym
PKG_BUILD_DIR="${SYMROOT}"/package
@@ -73,7 +66,7 @@ echo "${revision}" > revision
# # Create a new sym directory
# mkdir sym
-# Make the translation
+# Make the translation
echo ""
echo "========= Translating Resources ========"
./package/translate.sh || exit $?
@@ -90,12 +83,13 @@ if [[ -n "$xcode_path" ]]; then
# make -C "${SRCROOT}"/CloverPrefpane || exit $?
# Make utils
make -C "${SRCROOT}"/utils || exit $?
- # temporary use ready-to-use binaries
- # mkdir -p "${SYMROOT}"/utils
- # cp -v "${SRCROOT}"/utils/binaries/* "${SYMROOT}"/utils/
+# temporary use ready-to-use binaries
+# mkdir -p "${SYMROOT}"/utils
+# cp -v "${SRCROOT}"/utils/binaries/* "${SYMROOT}"/utils/
fi
# Start to build installer.
+
package/buildpkg.sh --srcroot "$SRCROOT" --symroot "sym" --builddir "$PKG_BUILD_DIR" ${NOEXTRAS:1} || exit $?
#(cd sym ; zip Clover_r${revision}.zip \
@@ -103,16 +97,15 @@ package/buildpkg.sh --srcroot "$SRCROOT" --symroot "sym" --builddir "$PKG_BUILD_
# Clover_r${revision}.pkg.md5 )
# Workspace = edk2/Clover/CloverPackage/
-
# Remove temp files.
-rm -f version
-rm -f revision
-# Workspace = edk2/Clover/CloverPackage
+rm -f version # take this to clean old sources
+rm -f revision
+# Workspace = edk2/Clover/CloverPackage
# Open the final folder.
ls -la sym
open sym
-
# Finish building installer.
+
exit 0
diff --git a/CloverPackage/package/Distribution b/CloverPackage/package/Distribution
index 1b177b71b3..e279da7316 100644
--- a/CloverPackage/package/Distribution
+++ b/CloverPackage/package/Distribution
@@ -12,7 +12,7 @@