From b341fa6eea2d73e4dbce07b31a078d07afc1be33 Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Thu, 16 Apr 2026 16:10:50 +0200 Subject: [PATCH] Add --rc option --- README.md | 2 +- bin/omarchy-iso-release | 61 +++++++++++++++++++++++++++++++---------- 2 files changed, 47 insertions(+), 16 deletions(-) diff --git a/README.md b/README.md index 4ace9b3..a8094dd 100644 --- a/README.md +++ b/README.md @@ -36,4 +36,4 @@ Run `./bin/omarchy-iso-upload [release/omarchy.iso]`. This requires you've confi ## Full release of the ISO -Run `./bin/omarchy-iso-release` to create, test, sign, and upload the ISO in one flow. +Run `./bin/omarchy-iso-release VERSION` to create, test, sign, and upload the ISO in one flow. Add `--rc` to release an RC build instead. diff --git a/bin/omarchy-iso-release b/bin/omarchy-iso-release index 35d70a4..8aea81c 100755 --- a/bin/omarchy-iso-release +++ b/bin/omarchy-iso-release @@ -1,34 +1,65 @@ #!/bin/bash -if [ $# -eq 0 ]; then - echo "Usage: omarchy-iso-release [version]" +MAKE_ARGS=() +INSTALLER_REF=master +RELEASE_SUFFIX="" + +while [[ $# -gt 0 ]]; do + case $1 in + --no-make) + MAKE_ARGS+=("$1") + shift + ;; + --rc) + MAKE_ARGS+=("$1") + INSTALLER_REF=rc + RELEASE_SUFFIX="-rc" + shift + ;; + -*) + echo "Unknown option: $1" + echo "Usage: omarchy-iso-release [--no-make] [--rc] [version]" + exit 1 + ;; + *) + if [[ -n "${BUILD_VERSION-}" ]]; then + echo "Usage: omarchy-iso-release [--no-make] [--rc] [version]" + exit 1 + fi + BUILD_VERSION="$1" + shift + ;; + esac +done + +if [[ -z "${BUILD_VERSION-}" ]]; then + echo "Usage: omarchy-iso-release [--no-make] [--rc] [version]" exit 1 fi BUILD_ROOT=$(realpath "${BASH_SOURCE[0]%/*}/..") BUILD_RELEASE_PATH="$BUILD_ROOT/release" -BULD_VERSION="$1" # Clear out old packages sudo rm -rf /var/cache/pacman/pkg/* # Make ISOs -if [[ $1 != "--no-make" ]]; then - echo -e "\e[32mMaking master ISO\e[0m" - OMARCHY_INSTALLER_REF=master omarchy-iso-make --no-cache --no-boot-offer +if [[ ! " ${MAKE_ARGS[*]} " =~ " --no-make " ]]; then + echo -e "\e[32mMaking $INSTALLER_REF ISO\e[0m" + omarchy-iso-make --no-cache --no-boot-offer "${MAKE_ARGS[@]}" else echo -e "\e[31mSkipping remaking ISOs\e[0m" fi -# Sign and upload master ISO -latest_master_iso=$(\ls -t "$BUILD_RELEASE_PATH"/*x86_64-master.iso | head -n1) -release_master_iso="$BUILD_RELEASE_PATH/omarchy-$BULD_VERSION.iso" -cp "$latest_master_iso" "$release_master_iso" +# Sign and upload ISO +latest_iso=$(\ls -t "$BUILD_RELEASE_PATH"/*x86_64-"$INSTALLER_REF".iso | head -n1) +release_iso="$BUILD_RELEASE_PATH/omarchy-$BUILD_VERSION$RELEASE_SUFFIX.iso" +cp "$latest_iso" "$release_iso" -echo -e "\e[32mSigning master ISO\e[0m" -omarchy-iso-sign "$release_master_iso" +echo -e "\e[32mSigning $INSTALLER_REF ISO\e[0m" +omarchy-iso-sign "$release_iso" -master_sha=$(sha256sum "$release_master_iso") -echo -e "\e[32mSHA256 for master ISO: $master_sha\e[0m" +iso_sha=$(sha256sum "$release_iso") +echo -e "\e[32mSHA256 for $INSTALLER_REF ISO: $iso_sha\e[0m" -omarchy-iso-upload "$release_master_iso" +omarchy-iso-upload "$release_iso"