game-ci / steam-deploy

Github Action to deploy a game to Steam
MIT License
229 stars 65 forks source link

Build fails on Loading Steam API #40

Closed pearcemichal closed 2 years ago

pearcemichal commented 2 years ago

Bug description

In the uploading build step, steam API fails to load which causes cascading failures

How to reproduce

Push to master, and let action run. reports failed after a couple seconds.

-

Expected behavior

build is pushed to steam

Additional details

my action has a deploy to steam job with the build linux and windows jobs set as needs:

the builds complete normally, and then it starts the steam deploy as expected.

the deploy to steam task fails in the "upload build".

code:

Redirecting stderr to '/home/runner/Steam/logs/stderr.txt'
[  0%] Checking for available updates...
[----] Verifying installation...
Steam Console Client (c) Valve Corporation - version 1654028333
-- type 'quit' to exit --
Loading Steam API...KeyValues Error: LoadFromBuffer: missing {   (current key: '***') in file InstallConfigStore [offset: 153]

src/tier1/KeyValues.cpp (2973) : Assertion Failed: Error while parsing text KeyValues for resource InstallConfigStore
KeyValues Error: LoadFromBuffer: missing {   (current key: '***') in file InstallConfigStore [offset: 153]

src/tier1/KeyValues.cpp (2973) : Assertion Failed: Error while parsing text KeyValues for resource InstallConfigStore
OK
KeyValues Error: LoadFromBuffer: missing {   (current key: '***') in file InstallConfigStore [offset: 153]

src/tier1/KeyValues.cpp (2973) : Assertion Failed: Error while parsing text KeyValues for resource InstallConfigStore
Logging in user '***' to Steam Public...KeyValues Error: LoadFromBuffer: missing {   (current key: '***') in file InstallConfigStore [offset: 153]

src/tier1/KeyValues.cpp (2973) : Assertion Failed: Error while parsing text KeyValues for resource InstallConfigStore
FAILED (Service Unavailable)

Error Log

Redirecting stderr to '/home/runner/Steam/logs/stderr.txt'
[  0%] Checking for available updates...
[----] Verifying installation...
Steam Console Client (c) Valve Corporation - version 1654028333
-- type 'quit' to exit --
Loading Steam API...KeyValues Error: LoadFromBuffer: missing {   (current key: '***') in file InstallConfigStore [offset: 153]

src/tier1/KeyValues.cpp (2973) : Assertion Failed: Error while parsing text KeyValues for resource InstallConfigStore
KeyValues Error: LoadFromBuffer: missing {   (current key: '***') in file InstallConfigStore [offset: 153]

src/tier1/KeyValues.cpp (2973) : Assertion Failed: Error while parsing text KeyValues for resource InstallConfigStore
OK
KeyValues Error: LoadFromBuffer: missing {   (current key: '***') in file InstallConfigStore [offset: 153]

src/tier1/KeyValues.cpp (2973) : Assertion Failed: Error while parsing text KeyValues for resource InstallConfigStore
Logging in user '***' to Steam Public...KeyValues Error: LoadFromBuffer: missing {   (current key: '***') in file InstallConfigStore [offset: 153]

src/tier1/KeyValues.cpp (2973) : Assertion Failed: Error while parsing text KeyValues for resource InstallConfigStore
FAILED (Service Unavailable)

yml actions file

name: Build project

on: [push]

jobs:
  buildForWindows:
    name: Build for Windows
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
        with:
          fetch-depth: 0
          lfs: true
      - uses: actions/cache@v2
        with:
          path: Library
          key: Library-StandaloneWindows64
          restore-keys: Library-
      - uses: game-ci/unity-builder@v2.0.4
        env:
          UNITY_LICENSE: ${{ secrets.UNITY_LICENSE }}
        with:
          targetPlatform: StandaloneWindows64
          buildName: debris_field_PC
          versioning: Semantic
      - uses: actions/upload-artifact@v2
        with:
          name: debris_field_PC
          path: build/StandaloneWindows64

  buildForLinux:
    name: Build for Linux
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
        with:
          fetch-depth: 0
          lfs: true
      - uses: actions/cache@v2
        with:
          path: Library
          key: Library-StandaloneLinux64
          restore-keys: Library-
      - uses: game-ci/unity-builder@v2.0.4
        env:
          UNITY_LICENSE: ${{ secrets.UNITY_LICENSE }}
        with:
          targetPlatform: StandaloneLinux64
          buildName: debris_field_linux.x86_64
          versioning: Semantic
      - uses: actions/upload-artifact@v2
        with:
          name: debris_field_linux.x86_64
          path: build/StandaloneLinux64

  deployToSteam:
    needs: [buildForWindows, buildForLinux]
    runs-on: ubuntu-latest
    steps:
      - uses: game-ci/steam-deploy@v1
        with:
          username: ${{ secrets.STEAM_USERNAME }}
          password: ${{ secrets.STEAM_PASSWORD }}
          configVdf: ${{ secrets.STEAM_CONFIG_VDF}}
          ssfnFileName: ${{ secrets.STEAM_SSFN_FILE_NAME }}
          ssfnFileContents: ${{ secrets.STEAM_SSFN_FILE_CONTENTS }}
          appId: 651940
          buildDescription: Beta v3.1.0
          rootPath: build
          depot1Path: StandaloneWindows64
          depot3Path: StandaloneLinux64
          releaseBranch: beta
JDare commented 2 years ago

I had a very similar issue yesterday, it turns out I had unpublished depot changes in steamworks. After publishing everything the problem went away for me.

davidmfinol commented 2 years ago

I noticed this issue with the workflow as put in the description: Your steam-deploy job doesn't download the artifacts.

You need to download the artifacts. See how the download action is used here: https://game.ci/docs/github/deployment/steam

pearcemichal commented 2 years ago

@davidmfinol thank you, that fixed it!