fix steam token getting reset
All checks were successful
CI / lint (push) Successful in 15s
CI / test (push) Successful in 23s
CI / fuzz (push) Successful in 1m57s

This commit is contained in:
Kamal Tufekcic 2026-08-06 20:52:16 +03:00
commit bac78eb8fa

View file

@ -35,11 +35,33 @@ jobs:
dota2) APPID=570; LOGIN="$STEAM_USER"; STEAM_HOME="$STEAM_HOME_AUTH" ;; dota2) APPID=570; LOGIN="$STEAM_USER"; STEAM_HOME="$STEAM_HOME_AUTH" ;;
*) echo "unknown game '$GAME' (expected cs2 or dota2)"; exit 1 ;; *) echo "unknown game '$GAME' (expected cs2 or dota2)"; exit 1 ;;
esac esac
STEAM_APPS="$STEAM_HOME/.steam/SteamApps"
{ echo "APPID=$APPID"; echo "STEAM_APPS=$STEAM_APPS"; } >> "$GITHUB_ENV"
env HOME="$STEAM_HOME" steamcmd +login "$LOGIN" +app_update "$APPID" +quit env HOME="$STEAM_HOME" steamcmd +login "$LOGIN" +app_update "$APPID" +quit
STEAM_APPS=""; SEEN=""; BUILD=""
for cand in "$STEAM_HOME/Steam/steamapps" "$STEAM_HOME/.steam/steam/steamapps" \
"$STEAM_HOME/.steam/SteamApps"; do
m="$cand/appmanifest_$APPID.acf"
[ -f "$m" ] || continue
# The same tree reached twice through a symlink is ONE tree, not a disagreement.
key=$(stat -Lc '%d:%i' "$m")
case " $SEEN " in *" $key "*) continue ;; esac
SEEN="$SEEN $key"
b=$(grep -oP '"buildid"[[:space:]]+"\K[0-9]+' "$m")
echo " candidate $cand -> buildid $b"
if [ -z "$STEAM_APPS" ]; then
STEAM_APPS="$cand"; BUILD="$b"
elif [ "$b" != "$BUILD" ]; then
echo "::error::two Steam app trees under $STEAM_HOME disagree — $STEAM_APPS says" \
"$BUILD, $cand says $b. One is stale; deriving from it would publish gamedata for" \
"a build nothing is running. Remove the stale tree or symlink it to the live one."
exit 1
fi
done
[ -n "$STEAM_APPS" ] || {
echo "::error::no appmanifest_$APPID.acf under $STEAM_HOME — did the update run?"; exit 1; }
echo "using $STEAM_APPS (buildid $BUILD)"
{ echo "APPID=$APPID"; echo "STEAM_APPS=$STEAM_APPS"; } >> "$GITHUB_ENV"
- name: Resolve the game paths + the new buildid - name: Resolve the game paths + the new buildid
run: | run: |
MANIFEST="$STEAM_APPS/appmanifest_$APPID.acf" MANIFEST="$STEAM_APPS/appmanifest_$APPID.acf"