fix steam token getting reset
This commit is contained in:
parent
43e37679ed
commit
bac78eb8fa
1 changed files with 25 additions and 3 deletions
|
|
@ -35,11 +35,33 @@ jobs:
|
|||
dota2) APPID=570; LOGIN="$STEAM_USER"; STEAM_HOME="$STEAM_HOME_AUTH" ;;
|
||||
*) echo "unknown game '$GAME' (expected cs2 or dota2)"; exit 1 ;;
|
||||
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
|
||||
|
||||
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
|
||||
run: |
|
||||
MANIFEST="$STEAM_APPS/appmanifest_$APPID.acf"
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue