diff --git a/.github/workflows/bundle.yml b/.github/workflows/bundle.yml index e6765d3..283bf0f 100644 --- a/.github/workflows/bundle.yml +++ b/.github/workflows/bundle.yml @@ -40,14 +40,23 @@ jobs: env: GH_TOKEN: ${{ github.token }} run: | - notes="Single-file build of $(git describe --always) ($(git log -1 --format=%cs)). + version="$(grep -oP '^VERSION=\K.*' setup-gamescope-boot.sh)" + # This version's section of CHANGELOG.md, without its heading. + changes="$(awk -v v="$version" ' + $0 ~ "^## " { if (found) exit; if (index($0, "## " v " ") == 1) { found = 1; next } } + found' CHANGELOG.md)" + notes="Single-file build of v$version ($(git describe --always), $(git log -1 --format=%cs)). Run it with: - curl -fsSL https://github.com/${{ github.repository }}/releases/download/latest/setup-gamescope-boot.sh | bash" + curl -fsSL https://github.com/${{ github.repository }}/releases/download/latest/setup-gamescope-boot.sh | bash + + ## Changes in v$version + $changes" + title="Latest single-file build (v$version)" if gh release view latest >/dev/null 2>&1; then - gh release edit latest --notes "$notes" + gh release edit latest --title "$title" --notes "$notes" else - gh release create latest --title "Latest single-file build" --notes "$notes" --latest + gh release create latest --title "$title" --notes "$notes" --latest fi # Move the tag to this commit and replace the asset. git tag -f latest && git push -f origin latest diff --git a/CHANGELOG.md b/CHANGELOG.md index e2299a4..cc2f76d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -38,6 +38,11 @@ Machine LED driver works on every installed kernel and survives kernel updates. - **docs: Version 0.7.0 and CHANGELOG** (this release's docs) - `VERSION` in the entry point, shown in the menu header and the bundle. - README and AGENTS.md updated for the theme, the extras and the LED driver. +- **ci: Version and changelog in the release notes** + - The `latest` release's title shows the version, and its notes include this + version's section of `CHANGELOG.md`. + - Fix a shellcheck warning in the bundle (a variable name shared with + `lib/state.sh`), which would have failed the CI check. ## 0.6.2 - 2026-09-23 diff --git a/lib/steamos-extras.sh b/lib/steamos-extras.sh index 0ea146e..5f3d836 100644 --- a/lib/steamos-extras.sh +++ b/lib/steamos-extras.sh @@ -92,22 +92,22 @@ extras_enable() { # Keep Steam's on-screen keyboard (Steam + X) above other windows and out # of the taskbar, like SteamOS's kwinrulesrc. - local rules g="$STEAM_KEYBOARD_RULE" + local rules rule="$STEAM_KEYBOARD_RULE" rules="$(kreadconfig6 --file kwinrulesrc --group General --key rules)" - if [[ ",$rules," != *",$g,"* ]]; then - kset theme kwinrulesrc "$g" Description "Window settings for Steam Keyboard" - kset theme kwinrulesrc "$g" above true - kset theme kwinrulesrc "$g" aboverule 2 - kset theme kwinrulesrc "$g" skiptaskbar true - kset theme kwinrulesrc "$g" skiptaskbarrule 2 - kset theme kwinrulesrc "$g" title "Steam Keyboard" - kset theme kwinrulesrc "$g" titlematch 2 - kset theme kwinrulesrc "$g" type 16 - kset theme kwinrulesrc "$g" typerule 2 - kset theme kwinrulesrc "$g" wmclass steam - kset theme kwinrulesrc "$g" wmclasscomplete true - kset theme kwinrulesrc "$g" wmclassmatch 2 - kset theme kwinrulesrc General rules "${rules:+$rules,}$g" + if [[ ",$rules," != *",$rule,"* ]]; then + kset theme kwinrulesrc "$rule" Description "Window settings for Steam Keyboard" + kset theme kwinrulesrc "$rule" above true + kset theme kwinrulesrc "$rule" aboverule 2 + kset theme kwinrulesrc "$rule" skiptaskbar true + kset theme kwinrulesrc "$rule" skiptaskbarrule 2 + kset theme kwinrulesrc "$rule" title "Steam Keyboard" + kset theme kwinrulesrc "$rule" titlematch 2 + kset theme kwinrulesrc "$rule" type 16 + kset theme kwinrulesrc "$rule" typerule 2 + kset theme kwinrulesrc "$rule" wmclass steam + kset theme kwinrulesrc "$rule" wmclasscomplete true + kset theme kwinrulesrc "$rule" wmclassmatch 2 + kset theme kwinrulesrc General rules "${rules:+$rules,}$rule" kset theme kwinrulesrc General count "$(( $(kreadconfig6 --file kwinrulesrc --group General --key count --default 0) + 1 ))" qdbus6 org.kde.KWin /KWin org.kde.KWin.reconfigure >/dev/null 2>&1 || true fi