game-ci / steam-deploy

Github Action to deploy a game to Steam
MIT License
227 stars 63 forks source link

Copying SteamGuard files failed with "is a directory" #23

Closed cr4yz closed 2 years ago

cr4yz commented 2 years ago

Copying the SteamGuard files is failing, it appears to be that the ssfn file does not have an extension and is seen as an attempt to create a directory rather than the file we need.

https://github.com/game-ci/steam-deploy/runs/4627291074?check_suite_focus=true#step:4:254 https://github.com/game-ci/steam-deploy/runs/4627291074?check_suite_focus=true#step:4:257

davidmfinol commented 2 years ago

For those runs, configVdf, ssfnFileName, and ssfnFileContents were all empty, hence the error.

The reason they were empty is because we do not have a Steam Build Account that we can use for GameCI testing. See the open issue: https://github.com/game-ci/steam-deploy/issues/18

We are discussing creating a legal entity in the GameCI discord. Once that is complete, we will setup the Steam Build Account and close #18 . After that, these errors will not happen.

Closing this issue, but feel free to create another issue if you are running into a similar issue with your own project.

cr4yz commented 2 years ago

I ran into the same errors on my own project where ssfnFilename, ssfnFileContents, and configVdf were set via secrets. The deploy fails when Steam login asks for an authentication code.

davidmfinol commented 2 years ago

Can you share the logs for your build? Are you getting this exact same error?:

/home/runner/work/steam-deploy/steam-deploy/.//steam_deploy.sh: 85: cannot create /opt/hostedtoolcache/steamcmd/latest/i386/: Is a directory
/home/runner/work/steam-deploy/steam-deploy/.//steam_deploy.sh: 85: echo: echo: I/O error
cr4yz commented 2 years ago

Yep I am getting the same error:


#################################
#    Copying SteamGuard Files   #
#################################

Copying /opt/hostedtoolcache/steamcmd/latest/i386/config/config.vdf...
/home/runner/work/_actions/game-ci/steam-deploy/main/steam_deploy.sh: 85: cannot create /opt/hostedtoolcache/steamcmd/latest/i386/: Is a directory
/home/runner/work/_actions/game-ci/steam-deploy/main/steam_deploy.sh: 85: echo: echo: I/O error
/home/runner/work/_actions/game-ci/steam-deploy/main/steam_deploy.sh: 89: cannot create /home/runner/Steam/: Is a directory
/home/runner/work/_actions/game-ci/steam-deploy/main/steam_deploy.sh: 89: echo: echo: I/O error
Copying /home/runner/Steam/config/config.vdf...
Copying /opt/hostedtoolcache/steamcmd/latest/i386/ssfn...
Copying /home/runner/Steam/ssfn...
Finished Copying SteamGuard Files!

#################################
#        Uploading build        #
#################################

Redirecting stderr to '/home/runner/Steam/logs/stderr.txt'
[  0%] Checking for available updates...
[----] Verifying installation...
Steam Console Client (c) Valve Corporation - version 1639697740
-- type 'quit' to exit --
Loading Steam API...OK
Logging in user '***' to Steam Public...
This computer has not been authenticated for your account using Steam Guard.
Please check your email for the message from Steam, and enter the Steam Guard
 code from that message.
You can also enter this code at any time using 'set_steam_guard_code'
 at the console.
Steam Guard code:FAILED (Account Logon Denied)

#################################
#             Errors            #
#################################

Listing current folder and rootpath

total 76K
drwxr-xr-x 13 runner docker 4.0K Dec 24 19:55 .
drwxr-xr-x  3 runner docker 4.0K Dec 24 19:51 ..
drwxr-xr-x  9 runner docker 4.0K Dec 24 19:51 .git
-rw-r--r--  1 runner docker   66 Dec 24 19:51 .gitattributes
drwxr-xr-x  3 runner docker 4.0K Dec 24 19:51 .github
-rw-r--r--  1 runner docker 1.3K Dec 24 19:51 .gitignore
drwxr-xr-x  4 runner docker 4.0K Dec 24 19:54 Assets
drwxr-xr-x  2 runner docker 4.0K Dec 24 19:55 BuildOutput
-rw-r--r--  1 runner docker 1.1K Dec 24 19:51 LICENSE
drwxr-xr-x 13 runner docker 4.0K Dec 24 19:54 Library
drwxr-xr-x  2 root   root   4.0K Dec 24 19:54 Logs
drwxr-xr-x  2 runner docker 4.0K Dec 24 19:51 Packages
drwxr-xr-x  2 runner docker 4.0K Dec 24 19:54 ProjectSettings
-rw-r--r--  1 runner docker   19 Dec 24 19:51 README.md
drwxr-xr-x  2 root   root   4.0K Dec 24 19:54 UserSettings
drwxr-xr-x  3 root   root   4.0K Dec 24 19:54 build
-rw-r--r--  1 runner docker  270 Dec 24 19:55 depot1675381.vdf
-rw-r--r--  1 runner docker  246 Dec 24 19:55 manifest.vdf
drwxr-xr-x  3 runner docker 4.0K Dec 24 19:55 steamcmd

total 12K
drwxr-xr-x  3 root   root   4.0K Dec 24 19:54 .
drwxr-xr-x 13 runner docker 4.0K Dec 24 19:55 ..
drwxr-xr-x  4 root   root   4.0K Dec 24 19:54 StandaloneWindows64

Listing logs folder:

/home/runner/Steam/logs/:
total 48K
drwxr-xr-x 2 runner docker 4.0K Dec 24 19:55 ./
drwxrwxrwx 7 runner docker 4.0K Dec 24 19:55 ../
-rwxr-xr-x 1 runner docker 7.3K Dec 24 19:55 bootstrap_log.txt
-rwxr-xr-x 1 runner docker  298 Dec 24 19:55 cloud_log.txt
-rwxr-xr-x 1 runner docker  944 Dec 24 19:55 configstore_log.txt
-rwxr-xr-x 1 runner docker 2.6K Dec 24 19:55 connection_log.txt
-rwxr-xr-x 1 runner docker  111 Dec 24 19:55 content_log.txt
-rwxr-xr-x 1 runner docker  156 Dec 24 19:55 shader_log.txt
-rw-r--r-- 1 runner docker   66 Dec 24 19:55 stderr.txt
-rwxr-xr-x 1 runner docker  288 Dec 24 19:55 systemmanager.txt
-rwxr-xr-x 1 runner docker   98 Dec 24 19:55 workshop_log.txt

Displaying error log

CAppInfoCacheReadFromDiskThread took 0 milliseconds to initialize

Displaying bootstrapper log

[2021-12-24 19:55:16] Startup - updater built Dec 13 2017 05:27:43
[2021-12-24 19:55:16] Checking for update on startup
[2021-12-24 19:55:16] Checking for available update...
[2021-12-24 19:55:17] Package file steamcmd_public_all.zip.318d008a002b0b7d76e770b6313ddb942166f70f missing or incorrect size
[2021-12-24 19:55:17] Package file steamcmd_bins_linux.zip.vz.a918d52e0deee03c4f626691b3ce576a8e8687c2_16448501 missing or incorrect size
[2021-12-24 19:55:17] Package file steamcmd_siteserverui_linux.zip.vz.b12869011e7ed098aebce590e247fbb4f766283c_36440310 missing or incorrect size
[2021-12-24 19:55:17] Package file steamcmd_linux.zip.vz.804109efe8f8ae1b394020228950b9fa94fc2669_2195299 missing or incorrect size
[2021-12-24 19:55:17] Downloading update (0 of 53841 KB)...
[2021-12-24 19:55:17] Downloading update (2745 of 53841 KB)...
[2021-12-24 19:55:17] Downloading update (6444 of 53841 KB)...
[2021-12-24 19:55:17] Downloading update (8943 of 53841 KB)...
[2021-12-24 19:55:18] Downloading update (11713 of 53841 KB)...
[2021-12-24 19:55:18] Downloading update (14202 of 53841 KB)...
[2021-12-24 19:55:18] Downloading update (16075 of 53841 KB)...
[2021-12-24 19:55:18] Downloading update (18193 of 53841 KB)...
[2021-12-24 19:55:19] Downloading update (19494 of 53841 KB)...
[2021-12-24 19:55:19] Downloading update (20902 of 53841 KB)...
[2021-12-24 19:55:19] Downloading update (21254 of 53841 KB)...
[2021-12-24 19:55:19] Downloading update (22619 of 53841 KB)...
[2021-12-24 19:55:20] Downloading update (25103 of 53841 KB)...
[2021-12-24 19:55:20] Downloading update (27580 of 53841 KB)...
[2021-12-24 19:55:20] Downloading update (29612 of 53841 KB)...
[2021-12-24 19:55:20] Downloading update (32075 of 53841 KB)...
[2021-12-24 19:55:21] Downloading update (32982 of 53841 KB)...
[2021-12-24 19:55:21] Downloading update (34735 of 53841 KB)...
[2021-12-24 19:55:21] Downloading update (35984 of 53841 KB)...
[2021-12-24 19:55:21] Downloading update (37227 of 53841 KB)...
[2021-12-24 19:55:22] Downloading update (37977 of 53841 KB)...
[2021-12-24 19:55:22] Downloading update (38231 of 53841 KB)...
[2021-12-24 19:55:22] Downloading update (38486 of 53841 KB)...
[2021-12-24 19:55:23] Downloading update (38995 of 53841 KB)...
[2021-12-24 19:55:23] Downloading update (39744 of 53841 KB)...
[2021-12-24 19:55:23] Downloading update (41110 of 53841 KB)...
[2021-12-24 19:55:23] Downloading update (42342 of 53841 KB)...
[2021-12-24 19:55:24] Downloading update (43556 of 53841 KB)...
[2021-12-24 19:55:24] Downloading update (44892 of 53841 KB)...
[2021-12-24 19:55:24] Downloading update (46130 of 53841 KB)...
[2021-12-24 19:55:24] Downloading update (47391 of 53841 KB)...
[2021-12-24 19:55:25] Downloading update (48747 of 53841 KB)...
[2021-12-24 19:55:25] Downloading update (49975 of 53841 KB)...
[2021-12-24 19:55:25] Downloading update (51212 of 53841 KB)...
[2021-12-24 19:55:25] Downloading update (52457 of 53841 KB)...
[2021-12-24 19:55:26] Downloading update (53819 of 53841 KB)...
[2021-12-24 19:55:26] Downloading update (53841 of 53841 KB)...
[2021-12-24 19:55:26] Download Complete.
[2021-12-24 19:55:26] uninstalled manifest found in /opt/hostedtoolcache/steamcmd/latest/i386/package/steam_cmd_linux (1).
[2021-12-24 19:55:26] Found pending update
[2021-12-24 19:55:26] Applying update...
[2021-12-24 19:55:26] Extracting package...
[2021-12-24 19:55:32] Installing update...
[2021-12-24 19:55:32] Cleaning up...
[2021-12-24 19:55:32] Update complete, launching...
[2021-12-24 19:55:32] Shutdown

[2021-12-24 19:55:32] Startup - updater built Dec 13 2021 23:06:06
[2021-12-24 19:55:32] Failed to load cached hosts file (File 'update_hosts_cached.vdf' not found), using defaults
[2021-12-24 19:55:32] Using the following download hosts for Public, Realm steamglobal
[2021-12-24 19:55:32] 1. http://media.steampowered.com, /client/, Realm 'steamglobal', weight was 1, source = 'baked in'
[2021-12-24 19:55:32] Checking for update on startup
[2021-12-24 19:55:32] Checking for available updates...
[2021-12-24 19:55:32] Downloading manifest: http://media.steampowered.com/client/steam_cmd_linux
[2021-12-24 19:55:32] Download skipped: /client/steam_cmd_linux version 1639697740, installed version 1639697740, existing pending version 0
[2021-12-24 19:55:32] Nothing to do
[2021-12-24 19:55:32] Verifying installation...
[2021-12-24 19:55:32] Performing checksum verification of executable files
[2021-12-24 19:55:32] Unable to read and verify install manifest /opt/hostedtoolcache/steamcmd/latest/i386/package/steam_cmd_linux.installed
[2021-12-24 19:55:32] Verification complete
[2021-12-24 19:55:32] Downloading update...
[2021-12-24 19:55:32] Checking for available updates...
[2021-12-24 19:55:32] Downloading manifest: http://media.steampowered.com/client/steam_cmd_linux
[2021-12-24 19:55:32] Downloaded new manifest: /client/steam_cmd_linux version 1639697740, installed version 1639697740, existing pending version 0
[2021-12-24 19:55:32] Download complete.
[2021-12-24 19:55:32] uninstalled manifest found in /opt/hostedtoolcache/steamcmd/latest/i386/package/steam_cmd_linux (1).
[2021-12-24 19:55:32] Extracting package...
[2021-12-24 19:55:38] Installing update...
[2021-12-24 19:55:38] Cleaning up...
[2021-12-24 19:55:38] Update complete, launching Steamcmd...
[2021-12-24 19:55:38] Shutdown

[2021-12-24 19:55:38] Startup - updater built Dec 13 2021 23:06:06
[2021-12-24 19:55:38] Failed to load cached hosts file (File 'update_hosts_cached.vdf' not found), using defaults
[2021-12-24 19:55:38] Using the following download hosts for Public, Realm steamglobal
[2021-12-24 19:55:38] 1. http://media.steampowered.com, /client/, Realm 'steamglobal', weight was 1, source = 'baked in'
[2021-12-24 19:55:38] Checking for update on startup
[2021-12-24 19:55:38] Checking for available updates...
[2021-12-24 19:55:38] Downloading manifest: http://media.steampowered.com/client/steam_cmd_linux
[2021-12-24 19:55:38] Download skipped: /client/steam_cmd_linux version 1639697740, installed version 1639697740, existing pending version 0
[2021-12-24 19:55:38] Nothing to do
[2021-12-24 19:55:38] Verifying installation...
[2021-12-24 19:55:38] Performing checksum verification of executable files
[2021-12-24 19:55:38] Verification complete
[2021-12-24 19:55:39] Shutdown

[2021-12-24 19:55:39] Startup - updater built Dec 13 2021 23:06:06
[2021-12-24 19:55:39] Failed to load cached hosts file (File 'update_hosts_cached.vdf' not found), using defaults
[2021-12-24 19:55:39] Using the following download hosts for Public, Realm steamglobal
[2021-12-24 19:55:39] 1. http://media.steampowered.com, /client/, Realm 'steamglobal', weight was 1, source = 'baked in'
[2021-12-24 19:55:39] Checking for update on startup
[2021-12-24 19:55:39] Checking for available updates...
[2021-12-24 19:55:39] Downloading manifest: http://media.steampowered.com/client/steam_cmd_linux
[2021-12-24 19:55:40] Download skipped: /client/steam_cmd_linux version 1639697740, installed version 1639697740, existing pending version 0
[2021-12-24 19:55:40] Nothing to do
[2021-12-24 19:55:40] Verifying installation...
[2021-12-24 19:55:40] Performing checksum verification of executable files
[2021-12-24 19:55:40] Verification complete
[2021-12-24 19:55:41] Shutdown

#################################
#             Output            #
#################################

BuildOutput:
total 8.0K
drwxr-xr-x  2 runner docker 4.0K Dec 24 19:55 ./
drwxr-xr-x 13 runner docker 4.0K Dec 24 19:55 ../
Error: Process completed with exit code 1.```
webbertakken commented 2 years ago

That's odd. Is $STEAM_HOME set to an absolute path /opt/hostedtoolcache/steamcmd/latest/i386/config/config for some reason?

cr4yz commented 2 years ago

None I know of. Here is my main.yml, I've kept it mostly the same as docs:



on: [push, pull_request]

jobs:
  buildForAllSupportedPlatforms:
    name: Build for ${{ matrix.targetPlatform }}
    runs-on: ubuntu-latest
    strategy:
      fail-fast: false
      matrix:
        targetPlatform:
          #- StandaloneOSX # Build a macOS standalone (Intel 64-bit).
          #- StandaloneWindows # Build a Windows standalone.
          - StandaloneWindows64 # Build a Windows 64-bit standalone.
          #- StandaloneLinux64 # Build a Linux 64-bit standalone.
          #- iOS # Build an iOS player.
          #- Android # Build an Android .apk standalone app.
          #- WebGL # WebGL.
    steps:
      - uses: actions/checkout@v2
        with:
          fetch-depth: 0
          lfs: true
      - uses: actions/cache@v2
        with:
          path: Library
          key: Library-${{ matrix.targetPlatform }}
          restore-keys: Library-
      - uses: game-ci/unity-builder@v2
        env:
          UNITY_LICENSE: ${{ secrets.UNITY_LICENSE }}
        with:
          targetPlatform: ${{ matrix.targetPlatform }}
      - name: File structure here
        run: ls ./
      - name: File structure there
        run: ls ./build/StandaloneWindows64
      #- uses: actions/upload-artifact@v2
      #  with:
      #    name: ${{ matrix.targetPlatform }}
      #    path: build
      #- uses: CyberAndrii/steam-totp@v1
      #  id: steam_mfa_generate
      #  with:
      #    shared_secret: ${{ secrets.STEAM_SHARED_SECRET }}
      - uses: game-ci/steam-deploy@main
        with: 
          username: ${{ secrets.STEAM_USERNAME }}
          password: ${{ secrets.STEAM_PASSWORD }}
          #mfaCode:  ${{ steps.steam_mfa_generate.outputs.code }}
          configVdf: ${{ secrets.STEAM_CONFIG_VDF }}
          ssfnFileName: ${{ secrets.STEAM_SSFN_FILE_NAME }}
          ssfnFileContents: ${{ secrets.STEAM_SSFN_FILE_CONTENTS }}
          appId: 1675380
          buildDescription: ${{ matrix.targetPlatform }}
          rootPath: build
          depot1Path: StandaloneWindows64
          releaseBranch: prerelease```
davidmfinol commented 2 years ago

For some reason, ssfnFileName seems to be empty for you.

/home/runner/work/_actions/game-ci/steam-deploy/main/steam_deploy.sh: 85: cannot create /opt/hostedtoolcache/steamcmd/latest/i386/: Is a directory appears when it tries to copy /opt/hostedtoolcache/steamcmd/latest/i386/<ssfnFileName> and is empty.

Can you double-check if you properly set STEAM_SSFN_FILE_NAME in your GitHub Secrets?

cr4yz commented 2 years ago

Ah user error on my part, I had a typo in the key name =\

Thank you very much!