feat: The script is now steamify.sh

- setup-gamescope-boot.sh renamed to steamify.sh; all references updated.
- Releases publish the bundle as steamify.sh and, for older install commands, setup-gamescope-boot.sh.
- The Steamify shortcut runs steamify.sh.
This commit is contained in:
theupriser committed 2026-09-24 12:33:43 +02:00
1 parent f3955c438c
commit 00b863fc9e
19 files changed
+58 -47

No files matched your search

+6 -6
View File
@@ -1,16 +1,16 @@
#!/bin/bash
# Build a single-file version of the wizard for `curl | bash` use:
# .github/tools/bundle.sh [output] (default: dist/setup-gamescope-boot.sh)
# .github/tools/bundle.sh [output] (default: dist/steamify.sh)
#
# Inlines lib/*.sh in the order setup-gamescope-boot.sh sources them and
# Inlines lib/*.sh in the order steamify.sh sources them and
# wraps the entry point's body in main(), so bash has read the whole file
# before anything runs. That lets the bundle reattach stdin to the terminal
# when it was piped in by curl, so the interactive menu still works.
set -euo pipefail
cd "$(dirname "$0")/../.."
out="${1:-dist/setup-gamescope-boot.sh}"
entry=setup-gamescope-boot.sh
out="${1:-dist/steamify.sh}"
entry=steamify.sh
mkdir -p "$(dirname "$out")"
# Library order, taken from the entry point's source loop.
@@ -28,10 +28,10 @@ version="v$(grep -oP '^VERSION=\K.*' "$entry"), $(git describe --always --dirty
for lib in $libs; do
echo "# ----- lib/$lib.sh -----"
# Drop each module's shebang and its "Sourced by ..." boilerplate.
sed -e '1{/^#!/d}' -e '/^# Sourced by setup-gamescope-boot.sh/d' "lib/$lib.sh"
sed -e '1{/^#!/d}' -e '/^# Sourced by steamify.sh/d' "lib/$lib.sh"
echo
done
echo "# ----- setup-gamescope-boot.sh -----"
echo "# ----- steamify.sh -----"
echo "main() {"
# Everything after the source loop is the entry point's body.
sed -n '/^for lib in /,$p' "$entry" | sed '1,/^done$/d' | sed 's/^/ /; s/^ $//'
+18 -13
View File
@@ -1,10 +1,12 @@
# Builds the single-file wizard (.github/tools/bundle.sh) and publishes it as a
# release per version: tag v$VERSION (VERSION in setup-gamescope-boot.sh),
# release per version: tag v$VERSION (VERSION in steamify.sh),
# with that version's CHANGELOG.md section as notes. A released version is
# never overwritten; the newest one is marked latest, and the "latest" tag and
# release are moved to it, so both of these always get the newest version:
# curl -fsSL https://github.com/theupriser/steamify-cachyos/releases/latest/download/setup-gamescope-boot.sh | bash
# curl -fsSL https://github.com/theupriser/steamify-cachyos/releases/download/latest/setup-gamescope-boot.sh | bash
# curl -fsSL https://github.com/theupriser/steamify-cachyos/releases/latest/download/steamify.sh | bash
# curl -fsSL https://github.com/theupriser/steamify-cachyos/releases/download/latest/steamify.sh | bash
# The bundle is also published as setup-gamescope-boot.sh, its name before
# 0.9.0, so older install commands keep working.
# Pull requests only build and check it, and warn when VERSION is already released.
name: Single-file build
@@ -26,29 +28,32 @@ jobs:
fetch-depth: 0 # for the version in the bundle's header
- name: Build
run: .github/tools/bundle.sh dist/setup-gamescope-boot.sh
run: |
.github/tools/bundle.sh dist/steamify.sh
# Old name (before 0.9.0), for older install commands and links.
cp dist/steamify.sh dist/setup-gamescope-boot.sh
- name: Check
run: |
bash -n dist/setup-gamescope-boot.sh
bash -n dist/steamify.sh
# SC2034/SC2154: variables used across the inlined modules.
shellcheck -S warning -e SC2034,SC2154 dist/setup-gamescope-boot.sh
shellcheck -S warning -e SC2034,SC2154 dist/steamify.sh
- uses: actions/upload-artifact@v4
with:
name: setup-gamescope-boot
path: dist/setup-gamescope-boot.sh
name: steamify
path: dist/steamify.sh
- name: Version
id: version
env:
GH_TOKEN: ${{ github.token }}
run: |
version="$(grep -oP '^VERSION=\K.*' setup-gamescope-boot.sh)"
version="$(grep -oP '^VERSION=\K.*' steamify.sh)"
echo "version=$version" >> "$GITHUB_OUTPUT"
if gh release view "v$version" >/dev/null 2>&1; then
echo "released=true" >> "$GITHUB_OUTPUT"
echo "::warning::v$version is already released and won't be overwritten. Bump VERSION in setup-gamescope-boot.sh and add a CHANGELOG.md section to release this."
echo "::warning::v$version is already released and won't be overwritten. Bump VERSION in steamify.sh and add a CHANGELOG.md section to release this."
else
echo "released=false" >> "$GITHUB_OUTPUT"
fi
@@ -68,11 +73,11 @@ jobs:
notes="Single-file build of v$VERSION ($(git describe --always), $(git log -1 --format=%cs)).
Run the newest version with:
curl -fsSL https://github.com/${{ github.repository }}/releases/latest/download/setup-gamescope-boot.sh | bash
curl -fsSL https://github.com/${{ github.repository }}/releases/latest/download/steamify.sh | bash
## Changes in v$VERSION
$changes"
gh release create "v$VERSION" dist/setup-gamescope-boot.sh assets/steam-gaming-settings.svg \
gh release create "v$VERSION" dist/steamify.sh dist/setup-gamescope-boot.sh assets/steam-gaming-settings.svg \
--target "$GITHUB_SHA" --title "Steamify CachyOS v$VERSION" --notes "$notes" --latest
# "latest" follows the newest version tag, for the older install URL
@@ -85,4 +90,4 @@ jobs:
else
gh release create latest --title "Steamify CachyOS - latest (v$VERSION)" --notes "$latest_notes" --latest=false
fi
gh release upload latest dist/setup-gamescope-boot.sh assets/steam-gaming-settings.svg --clobber
gh release upload latest dist/steamify.sh dist/setup-gamescope-boot.sh assets/steam-gaming-settings.svg --clobber