4 Commits
5 changed files with 20 additions and 20 deletions

No files matched your search

+4 -4
View File
@@ -3,7 +3,7 @@
# builds the ISO on that tag and attaches it to its own release for it (steamify-iso.yml). The ISO lives there: # builds the ISO on that tag and attaches it to its own release for it (steamify-iso.yml). The ISO lives there:
# GitHub releases take at most 2 GB per file, the ISO is bigger, and a release on the mirror only survives its # GitHub releases take at most 2 GB per file, the ISO is bigger, and a release on the mirror only survives its
# syncs when its tag comes from here. # syncs when its tag comes from here.
# Name: the Steamify version the ISO gets (its newest release) plus the time (Dutch time, Europe/Amsterdam): # Name: the Steamify version the ISO gets (its newest release) plus the time (UTC, GitHub's clock when the release starts):
# master releases v<steamify>-<YYYY.MM.DD>-<HHMM>, feat/steamify a pre-release v<steamify>-dev.<...>. # master releases v<steamify>-<YYYY.MM.DD>-<HHMM>, feat/steamify a pre-release v<steamify>-dev.<...>.
name: Steamify ISO release (tag) name: Steamify ISO release (tag)
@@ -32,11 +32,11 @@ jobs:
run: | run: |
steamify="$(gh release view -R theupriser/steamify-cachyos --json tagName -q .tagName)" steamify="$(gh release view -R theupriser/steamify-cachyos --json tagName -q .tagName)"
steamify="${steamify#v}" steamify="${steamify#v}"
stamp="$(TZ=Europe/Amsterdam date +%Y.%m.%d-%H%M)" stamp="$(date -u +%Y.%m.%d-%H%M)"
if [ "${{ github.ref }}" = refs/heads/master ]; then if [ "${{ github.ref }}" = refs/heads/master ]; then
tag="v$steamify-$stamp" pre="" name="CachyOS with Steamify Live ISO $steamify ($stamp)" tag="v$steamify-$stamp" pre="" name="CachyOS with Steamify Live ISO $steamify ($stamp UTC)"
else else
tag="v$steamify-dev.$stamp" pre="--prerelease" name="CachyOS with Steamify Live ISO $steamify (test build $stamp)" tag="v$steamify-dev.$stamp" pre="--prerelease" name="CachyOS with Steamify Live ISO $steamify (test build $stamp UTC)"
fi fi
# The ISO's file on the mirror is named after the tag (steamify-iso.yml, profiledef.sh), so its # The ISO's file on the mirror is named after the tag (steamify-iso.yml, profiledef.sh), so its
# download link is known now. # download link is known now.
+3 -3
View File
@@ -46,7 +46,7 @@ jobs:
m=("${BASH_REMATCH[@]}") m=("${BASH_REMATCH[@]}")
{ {
echo "STEAMIFY_VERSION=${m[1]}" echo "STEAMIFY_VERSION=${m[1]}"
# One moment for the ISO's label (profiledef.sh) and the release's name: the tag's (Dutch time). # One moment for the ISO's label (profiledef.sh) and the release's name: the tag's (UTC).
echo "STEAMIFY_BUILD_STAMP=${m[3]}${m[4]}${m[5]}_${m[6]}" echo "STEAMIFY_BUILD_STAMP=${m[3]}${m[4]}${m[5]}_${m[6]}"
echo "ISO_PRERELEASE=$([ -n "${m[2]}" ] && echo true || echo false)" echo "ISO_PRERELEASE=$([ -n "${m[2]}" ] && echo true || echo false)"
# The ISO's file name: the tag without its v (profiledef.sh). # The ISO's file name: the tag without its v (profiledef.sh).
@@ -72,9 +72,9 @@ jobs:
tag="${{ github.ref_name }}" b="$STEAMIFY_BUILD_STAMP" tag="${{ github.ref_name }}" b="$STEAMIFY_BUILD_STAMP"
stamp="${b:0:4}.${b:4:2}.${b:6:2}-${b:9:4}" stamp="${b:0:4}.${b:4:2}.${b:6:2}-${b:9:4}"
if [ "$ISO_PRERELEASE" = true ]; then if [ "$ISO_PRERELEASE" = true ]; then
name="CachyOS with Steamify Live ISO $STEAMIFY_VERSION (test build $stamp)" name="CachyOS with Steamify Live ISO $STEAMIFY_VERSION (test build $stamp UTC)"
else else
name="CachyOS with Steamify Live ISO $STEAMIFY_VERSION ($stamp)" name="CachyOS with Steamify Live ISO $STEAMIFY_VERSION ($stamp UTC)"
fi fi
# Never overwritten: a release for this tag that already has the ISO is left alone. # Never overwritten: a release for this tag that already has the ISO is left alone.
api="${{ github.server_url }}/api/v1/repos/${{ github.repository }}" api="${{ github.server_url }}/api/v1/repos/${{ github.repository }}"
+2 -2
View File
@@ -28,12 +28,12 @@
## CachyOS with Steamify Live ISO ## CachyOS with Steamify Live ISO
CachyOS 26.08 with Steamify built in: install CachyOS and turn the PC into a Steam Machine in one go. CachyOS 26.08 with Steamify built in: install CachyOS and turn the PC into a Steam Machine in one go.
Its version is the Steamify version on it plus the build date and time (Dutch time; a release on `master` is `v<Steamify version>-<date>-<HHMM>`, e.g. `v2.9.3-2026.09.29-2205`). A new Steamify release starts one (a test build for now); by hand: Run workflow on "Steamify ISO release (tag)". Its version is the Steamify version on it plus the build date and time (UTC, when the release starts on GitHub; a release on `master` is `v<Steamify version>-<date>-<HHMM>`, e.g. `v2.9.3-2026.09.29-2015`). A new Steamify release starts one (a test build for now); by hand: Run workflow on "Steamify ISO release (tag)".
Releases: GitHub creates the tag and a release with the notes; the ISO itself (over GitHub's 2 GB limit) is built on the Gitea mirror and attached to its release for that tag (git.upriser.nl). Releases: GitHub creates the tag and a release with the notes; the ISO itself (over GitHub's 2 GB limit) is built on the Gitea mirror and attached to its release for that tag (git.upriser.nl).
**Features:** **Features:**
* **ISO:** named after its release tag (`steamify-cachyos-2.9.3-2026.09.29-2230-x86_64.iso`; built by hand, the date), labelled after the Steamify version on it and the build time (`STEAMIFY_2_9_1_20260929_1432`, was CachyOS's `COS_<year><month>`); CachyOS Hello installs it like CachyOS's own * **ISO:** named after its release tag (`steamify-cachyos-2.9.3-2026.09.29-2030-x86_64.iso`; built by hand, without a tag: `local`), labelled after the Steamify version on it and the build time (`STEAMIFY_2_9_1_20260929_1432`, was CachyOS's `COS_<year><month>`); CachyOS Hello installs it like CachyOS's own
release (the ISO's own release, its tag without the v, is in `/etc/steammachine-iso-build` and the boot menu) release (the ISO's own release, its tag without the v, is in `/etc/steammachine-iso-build` and the boot menu)
* **Installer (CachyOS - Steamify Installer):** * **Installer (CachyOS - Steamify Installer):**
* A Steamify page after the packages page: which Steam Machine parts to set up (rows from * A Steamify page after the packages page: which Steam Machine parts to set up (rows from
+8 -9
View File
@@ -2,20 +2,19 @@
# shellcheck disable=SC2034 # shellcheck disable=SC2034
iso_name="steamify-cachyos" iso_name="steamify-cachyos"
# The label follows the release name: the Steamify version on the ISO (steamify-prepare.sh put it there) # The label follows the release tag, which GitHub names (iso-release.yml): the Steamify version on the ISO
# plus the build date and time, e.g. STEAMIFY_2_9_1_20260929_1432 (ISO 9660: at most 32 characters, # (steamify-prepare.sh put it there) plus the tag's date and time, e.g. STEAMIFY_2_9_3_20260929_2030 (ISO 9660:
# A-Z 0-9 _). STEAMIFY_BUILD_STAMP (YYYYMMDD_HHMM, Dutch time) from the release workflow, so both name the # at most 32 characters, A-Z 0-9 _). STEAMIFY_BUILD_STAMP (YYYYMMDD_HHMM, UTC) comes from the tag; the build
# same moment; built by hand, the time now (Europe/Amsterdam). # reads no clock of its own. Built by hand, without a tag: LOCAL.
_steamify="$(sed -n 's/^VERSION=//p' "${BASH_SOURCE[0]%/*}/airootfs/usr/local/share/steamify/steamify.sh" 2>/dev/null | head -n 1)" _steamify="$(sed -n 's/^VERSION=//p' "${BASH_SOURCE[0]%/*}/airootfs/usr/local/share/steamify/steamify.sh" 2>/dev/null | head -n 1)"
_stamp="${STEAMIFY_BUILD_STAMP:-$(TZ=Europe/Amsterdam date --date="@${SOURCE_DATE_EPOCH:-$(date +%s)}" +%Y%m%d_%H%M)}" _stamp="${STEAMIFY_BUILD_STAMP:-LOCAL}"
iso_label="STEAMIFY_${_steamify:+${_steamify//./_}_}${_stamp}" iso_label="STEAMIFY_${_steamify:+${_steamify//./_}_}${_stamp}"
iso_label="${iso_label:0:32}" iso_label="${iso_label:0:32}"
iso_publisher="CachyOS <https://cachyos.org>" iso_publisher="CachyOS <https://cachyos.org>"
iso_application="Steamify CachyOS Live (based on CachyOS)" iso_application="Steamify CachyOS Live (based on CachyOS)"
# The file name (<iso_name>-<iso_version>-x86_64.iso) follows the release tag without its v # The file name (<iso_name>-<iso_version>-x86_64.iso) is the release tag without its v (STEAMIFY_ISO_VERSION
# (STEAMIFY_ISO_VERSION from the release workflow: steamify-cachyos-2.9.3-dev.2026.09.29-2230-x86_64.iso); # from the tag: steamify-cachyos-2.9.3-dev.2026.09.29-2030-x86_64.iso). Built by hand, without a tag: local.
# built by hand, the date. iso_version="${STEAMIFY_ISO_VERSION:-local}"
iso_version="${STEAMIFY_ISO_VERSION:-$(date --date="@${SOURCE_DATE_EPOCH:-$(date +%s)}" +%Y.%m.%d)}"
install_dir="arch" install_dir="arch"
buildmodes=('iso') buildmodes=('iso')
## GRUB ## GRUB
+3 -2
View File
@@ -141,8 +141,9 @@ prepare_profile(){
info "Profile: [%s]" "${profile}" info "Profile: [%s]" "${profile}"
# The release tag without its v when the release workflow builds (STEAMIFY_ISO_VERSION): the boot menu # The release tag without its v when the release workflow builds (STEAMIFY_ISO_VERSION): the boot menu
# and /etc/steammachine-iso-build name the same release as the file, label and tag. By hand: the date. # and /etc/steammachine-iso-build name the same release as the file, label and tag (no clock of its own).
local _iso_version="${STEAMIFY_ISO_VERSION:-$(date +%y%m%d)}" # By hand, without a tag: local.
local _iso_version="${STEAMIFY_ISO_VERSION:-local}"
change_grub_version "${_iso_version}" change_grub_version "${_iso_version}"
# Fetch up-to-date version of CachyOS repo mirrorlist # Fetch up-to-date version of CachyOS repo mirrorlist