game-ci / steam-deploy

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

Password: FAILED (Invalid Password) #62

Closed timothymalcham closed 4 months ago

timothymalcham commented 1 year ago

Bug description

I was having some issues authenticating with Steam Guard with v1 of this action, so I recently upgraded to v3 (I was told doing so might fix the issue). That issue is gone now, but now in the "Test login" step, I get this error:

Run game-ci/steam-deploy@v3
/usr/bin/docker run --name c9a4a5b62624b2b5b644789d0f425748d4fd04_84366b --label c9a4a5 --workdir /github/workspace --rm -e "INPUT_USERNAME" -e "INPUT_CONFIGVDF" -e "INPUT_APPID" -e "INPUT_BUILDDESCRIPTION" -e "INPUT_ROOTPATH" -e "INPUT_DEPOT1PATH" -e "INPUT_DEPOT2PATH" -e "INPUT_RELEASEBRANCH" -e "INPUT_TOTP" -e "INPUT_FIRSTDEPOTIDOVERRIDE" -e "INPUT_DEPOT3PATH" -e "INPUT_DEPOT4PATH" -e "INPUT_DEPOT5PATH" -e "INPUT_DEPOT6PATH" -e "INPUT_DEPOT7PATH" -e "INPUT_DEPOT8PATH" -e "INPUT_DEPOT9PATH" -e "steam_username" -e "steam_password" -e "steam_totp" -e "configVdf" -e "ssfnFileName" -e "ssfnFileContents" -e "appId" -e "firstDepotIdOverride" -e "buildDescription" -e "rootPath" -e "depot1Path" -e "depot2Path" -e "depot3Path" -e "depot4Path" -e "depot5Path" -e "depot6Path" -e "depot7Path" -e "depot8Path" -e "depot9Path" -e "releaseBranch" -e "HOME" -e "GITHUB_JOB" -e "GITHUB_REF" -e "GITHUB_SHA" -e "GITHUB_REPOSITORY" -e "GITHUB_REPOSITORY_OWNER" -e "GITHUB_REPOSITORY_OWNER_ID" -e "GITHUB_RUN_ID" -e "GITHUB_RUN_NUMBER" -e "GITHUB_RETENTION_DAYS" -e "GITHUB_RUN_ATTEMPT" -e "GITHUB_REPOSITORY_ID" -e "GITHUB_ACTOR_ID" -e "GITHUB_ACTOR" -e "GITHUB_TRIGGERING_ACTOR" -e "GITHUB_WORKFLOW" -e "GITHUB_HEAD_REF" -e "GITHUB_BASE_REF" -e "GITHUB_EVENT_NAME" -e "GITHUB_SERVER_URL" -e "GITHUB_API_URL" -e "GITHUB_GRAPHQL_URL" -e "GITHUB_REF_NAME" -e "GITHUB_REF_PROTECTED" -e "GITHUB_REF_TYPE" -e "GITHUB_WORKFLOW_REF" -e "GITHUB_WORKFLOW_SHA" -e "GITHUB_WORKSPACE" -e "GITHUB_ACTION" -e "GITHUB_EVENT_PATH" -e "GITHUB_ACTION_REPOSITORY" -e "GITHUB_ACTION_REF" -e "GITHUB_PATH" -e "GITHUB_ENV" -e "GITHUB_STEP_SUMMARY" -e "GITHUB_STATE" -e "GITHUB_OUTPUT" -e "RUNNER_OS" -e "RUNNER_ARCH" -e "RUNNER_NAME" -e "RUNNER_ENVIRONMENT" -e "RUNNER_TOOL_CACHE" -e "RUNNER_TEMP" -e "RUNNER_WORKSPACE" -e "ACTIONS_RUNTIME_URL" -e "ACTIONS_RUNTIME_TOKEN" -e "ACTIONS_CACHE_URL" -e GITHUB_ACTIONS=true -e CI=true -v "/var/run/docker.sock":"/var/run/docker.sock" -v "/home/runner/work/_temp/_github_home":"/github/home" -v "/home/runner/work/_temp/_github_workflow":"/github/workflow" -v "/home/runner/work/_temp/_runner_file_commands":"/github/file_commands" -v "/home/runner/work/DINO-MERCS-unity/DINO-MERCS-unity":"/github/workspace" c9a4a5:b62624b2b5b644789d0f425748d4fd04

#################################
#   Generating Depot Manifests  #
#################################

Adding depot1827641.vdf ...

"DepotBuildConfig"
{
  "DepotID" "1827641"
  "FileMapping"
  {
    "LocalPath" "./StandaloneWindows64/*"
    "DepotPath" "."
    "recursive" "1"
  }
  "FileExclusion" "*.pdb"
  "FileExclusion" "**/*_BurstDebugInformation_DoNotShip*"
  "FileExclusion" "**/*_BackUpThisFolder_ButDontShipItWithYourGame*"
}

Adding depot1827642.vdf ...

"DepotBuildConfig"
{
  "DepotID" "1827642"
  "FileMapping"
  {
    "LocalPath" "./StandaloneOSX/*"
    "DepotPath" "."
    "recursive" "1"
  }
  "FileExclusion" "*.pdb"
  "FileExclusion" "**/*_BurstDebugInformation_DoNotShip*"
  "FileExclusion" "**/*_BackUpThisFolder_ButDontShipItWithYourGame*"
}

#################################
#    Generating App Manifest    #
#################################

"appbuild"
{
  "appid" "***"
  "desc" "v2.0.11"
  "buildoutput" "BuildOutput"
  "contentroot" "/github/workspace/build"
  "setlive" "prerelease"

  "depots"
  {    "1827641" "depot1827641.vdf"    "1827642" "depot1827642.vdf"  }
}

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

Steam is installed in: /github/home/Steam
Copying /github/home/Steam/config/config.vdf...
Finished Copying SteamGuard Files!

#################################
#        Test login             #
#################################

ln: failed to create symbolic link '/github/home/.steam/root': No such file or directory
ln: failed to create symbolic link '/github/home/.steam/steam': No such file or directory
Redirecting stderr to '/github/home/Steam/logs/stderr.txt'
ILocalize::AddFile() failed to load file "public/steambootstrapper_english.txt".
[  0%] Checking for available update...
[----] Downloading update (0 of 59,540 KB)...
[  0%] Downloading update (0 of 59,540 KB)...
[  0%] Downloading update (0 of 59,540 KB)...
[  0%] Downloading update (3,304 of 59,540 KB)...
[  5%] Downloading update (7,013 of 59,540 KB)...
[ 11%] Downloading update (9,776 of 59,540 KB)...
[ 16%] Downloading update ([12](https://github.com/timothymalcham/DINO-MERCS-unity/actions/runs/5623993320/job/15260382456#step:6:13),284 of 59,540 KB)...
[ 20%] Downloading update (14,806 of 59,540 KB)...
[ 24%] Downloading update (17,3[13](https://github.com/timothymalcham/DINO-MERCS-unity/actions/runs/5623993320/job/15260382456#step:6:14) of 59,540 KB)...
[ 29%] Downloading update (20,067 of 59,540 KB)...
[ 33%] Downloading update (22,574 of 59,540 KB)...
[ 37%] Downloading update (25,094 of 59,540 KB)...
[ 42%] Downloading update (27,596 of 59,540 KB)...
[ 46%] Downloading update (30,350 of 59,540 KB)...
[ 50%] Downloading update (32,858 of 59,540 KB)...
[ 55%] Downloading update (35,369 of 59,540 KB)...
[ 59%] Downloading update (37,879 of 59,540 KB)...
[ 63%] Downloading update (40,509 of 59,540 KB)...
[ 68%] Downloading update (42,277 of 59,540 KB)...
[ 71%] Downloading update (43,537 of 59,540 KB)...
[ 73%] Downloading update (44,779 of 59,540 KB)...
[ 75%] Downloading update (46,034 of 59,540 KB)...
[ 77%] Downloading update (47,416 of 59,540 KB)...
[ 79%] Downloading update (48,669 of 59,540 KB)...
[ 81%] Downloading update (49,934 of 59,540 KB)...
[ 83%] Downloading update (51,320 of 59,540 KB)...
[ 86%] Downloading update (52,578 of 59,540 KB)...
[ 88%] Downloading update (53,831 of 59,540 KB)...
[ 90%] Downloading update (55,204 of 59,540 KB)...
[ 92%] Downloading update (56,456 of 59,540 KB)...
[ 94%] Downloading update (57,7[15](https://github.com/timothymalcham/DINO-MERCS-unity/actions/runs/5623993320/job/15260382456#step:6:16) of 59,540 KB)...
[ 96%] Downloading update (58,949 of 59,540 KB)...
[ 99%] Downloading update (59,540 of 59,540 KB)...
[100%] Download Complete.
[----] Applying update...
[----] Extracting package...
[----] Extracting package...
[----] Extracting package...
[----] Extracting package...
[----] Installing update...
[----] Installing update...
[----] Installing update...
[----] Installing update...
[----] Installing update...
[----] Installing update...
[----] Installing update...
[----] Installing update...
[----] Cleaning up...
[----] Update complete, launching...
Redirecting stderr to '/github/home/Steam/logs/stderr.txt'
[  0%] Checking for available updates...
[----] Verifying installation...
[  0%] Downloading update...
[  0%] Checking for available updates...
[----] Download complete.
[----] Extracting package...
[----] Extracting package...
[----] Extracting package...
[----] Extracting package...
[----] Installing update...
[----] Installing update...
[----] Installing update...
[----] Installing update...
[----] Installing update...
[----] Installing update...
[----] Installing update...
[----] Installing update...
[----] Cleaning up...
[----] Update complete, launching Steamcmd...
Redirecting stderr to '/github/home/Steam/logs/stderr.txt'
[  0%] Checking for available updates...
[----] Verifying installation...
Steam Console Client (c) Valve Corporation - version [16](https://github.com/timothymalcham/DINO-MERCS-unity/actions/runs/5623993320/job/15260382456#step:6:17)8964[25](https://github.com/timothymalcham/DINO-MERCS-unity/actions/runs/5623993320/job/15260382456#step:6:26)[31](https://github.com/timothymalcham/DINO-MERCS-unity/actions/runs/5623993320/job/15260382456#step:6:32)
-- type 'quit' to exit --
Loading Steam API...dlmopen steamservice.so failed: steamservice.so: cannot open shared object file: No such file or directory
OK
Logging in user '***' to Steam Public...
password: FAILED (Invalid Password)

From what I understand, we no longer have to pass the STEAM_PASSWORD secret, so what would cause this error?

I've consistently gotten this error each time I run the workflow, resulting in the job failing and the build not making it to Steam.

Additional details

name: šŸš€ Build Game & Deploy to Steam šŸš€

on:
    push:
        tags:
            - 'v*'

jobs:
  buildForWindowsMac:
    name: Build for ${{ matrix.targetPlatform }}
    runs-on: ubuntu-latest
    strategy:
      fail-fast: false
      matrix:
        targetPlatform:
          - StandaloneWindows64 # Build a Windows 64-bit standalone.
          - StandaloneOSX # Build a OSX intel 64-bit standalone.
    outputs:
      buildVersion: ${{ steps.build.outputs.buildVersion }}
    steps:
      - name: free disk space
        run: |
          sudo swapoff -a
          sudo rm -f /swapfile
          sudo apt clean
          docker rmi $(docker image ls -aq)
          df -h

      - uses: actions/checkout@v3
        with:
          fetch-depth: 0
          lfs: true

      - uses: actions/cache@v3
        with:
          path: Library
          key:
            Library-${{ matrix.targetPlatform }}-${{ hashFiles('Assets/**', 'Packages/**',
            'ProjectSettings/**') }}
          restore-keys: |
            Library-${{ matrix.targetPlatform }}-
            Library-

      - uses: game-ci/unity-builder@v2
        id: build
        env:
          UNITY_LICENSE: ${{ secrets.UNITY_LICENSE }}
        with:
          targetPlatform: ${{ matrix.targetPlatform }}
          versioning: Semantic

      - uses: actions/upload-artifact@v3
        with:
          name: Build-${{ matrix.targetPlatform }}
          path: build/${{ matrix.targetPlatform }}

  deployToSteam:
    needs: [buildForWindowsMac]
    runs-on: ubuntu-latest
    steps:
      - name: Checkout Repository
        uses: actions/checkout@v3
        with:
          fetch-depth: 0

      - name: Download StandaloneWindows64 Artifact
        uses: actions/download-artifact@v3
        with:
          name: Build-StandaloneWindows64
          path: build/StandaloneWindows64

      - name: Download StandaloneOSX Artifact
        uses: actions/download-artifact@v3
        with:
          name: Build-StandaloneOSX
          path: build/StandaloneOSX

      - uses: game-ci/steam-deploy@v3
        with:
          username: ${{ secrets.STEAM_USERNAME }}
          configVdf: ${{ secrets.STEAM_CONFIG_VDF}}
          appId: ${{ secrets.STEAM_APP_ID }}
          buildDescription: v${{ needs.buildForWindowsMac.outputs.buildVersion }}
          rootPath: build
          depot1Path: StandaloneWindows64
          depot2Path: StandaloneOSX
          releaseBranch: prerelease
timothymalcham commented 1 year ago

I tried recreating the STEAM_CONFIG_VDF secret once again, following the steps mentioned here: https://game.ci/docs/github/deployment/steam. But still get the invalid password error.

Would this error be caused by a misconfigured secret?

timothymalcham commented 1 year ago

Okay I tried one more time to set the steam guard code and the vdf file, and it worked this time and the build succeeded.

Not sure what was different this time. Feel free to close this issue out if it doesn't seem to affect anyone else.

webbertakken commented 1 year ago

Thanks for reporting in your solution as well!

I'll close this, but in case anyone is running into the same issue - or if the issue returns - by all means let's reopen it.

mikeage commented 1 year ago

FWIW, I've seen that I've needed to regenerate the config.vdf file several times in the past few weeks. Prior to this change (I use my own action, but the contents are the same), we had the same file from Oct 2021 until about 2 weeks ago. I have no idea why -- has anyone else seen this?

bleakley commented 12 months ago

I'm experiencing the same issue as well, calling v3 with the following args:

      - name: Steam - Deploy
        uses: game-ci/steam-deploy@v3
        with:
          username: ${{ secrets.STEAM_USERNAME }}
          configVdf: ${{ secrets.STEAM_CONFIG_VDF}}
          appId: ***
          buildDescription: ${{ github.ref_name }}
          rootPath: out
          depot1Path: warpvector-win32-x64
          depot2Path: warpvector-linux-x64

repeating many, many times as suggested. I'm getting

Logging in user '***' to Steam Public...
password: FAILED (Invalid Password)

but like the OP I am using v3 and not using the password. I was experiencing the identical issue on v2 as well when passing in the correct password.

stalkerg commented 8 months ago

on Linux I can't find config.vdf in the same folder, for cm2network/steamcmd docker image I found it in /home/steam/Steam/config/config.vdf on my Linux machine it's seems like in ~/.steam/steam/config/config.vdf but not sure is it the same or not (it's include not only auth info)

devsleeper commented 7 months ago

Same here as above. I wonder only now because it came up that I needed to have 2 accounts for development purposes, could it be the encoded file is including a secondary account or choosing this other account instead of the main one?

Either way, annoying as hell hope this gets fixed because it does NOT seem to be user error. Steps followed to the letter, and it was confirmed working previously..

soundasleep commented 4 months ago

I'm having this same issue with a build that has been working fine for almost a year, and suddenly stopped authenticating.

I've tried everything I can think of:

And the build is still failing... I'll try again over the next couple of days and also probably get in contact with Steam Support to try figure out what's going on.

UpdateUI: skip show logoSteam Console Client (c) Valve Corporation - version 1709846822
-- type 'quit' to exit --
Loading Steam API...OK
Logging in user '***' to Steam Public...
password: FAILED (Invalid Password)

Is there any way to print out the logs if the build fails? I tried to archive the logs using actions/upload-artifact@v4 but got

 Warning: No files were found with the provided path: /github/home/.local/share/Steam/logs/. No artifacts will be uploaded.

(I'm guessing because this is being run via Docker)

wooolly commented 4 months ago

My builds have also started failing recently with this error, despite nothing changing in the interim. I tried regenerating the VDF in case it had expired(?) but still no luck. I think this case needs reopening.

wobblewares commented 4 months ago

My builds have also started failing recently with this error, despite nothing changing in the interim. I tried regenerating the VDF in case it had expired(?) but still no luck. I think this case needs reopening.

I also just started having this issue. Our last successful build was a couple days ago and we just received the INVALID_PASSWORD error for the first time an hour ago. I haven't had to recreate the VDF for 4 months prior to this, and regenerating it has had no effect.

AsafZoki commented 4 months ago

We got the same problem i recreate the vdf like 4 times and still there is a problem with the action like he doesn't get the vdf file how can we solve it?

trezy commented 4 months ago

Just to add to the pile, I'm running into the same issue. I'm working on debugging it now, but any guidance would be great.

TheOrioli commented 4 months ago

We are also experiencing this sudden failure. Seems like something must have happened on Valve's side. The latest SDK as of writing is still 1.59 from February, so it might be good to reopen this so any steam support tickets don't get auto-closed because the GitHub issue is "resolved"

maxha651 commented 4 months ago

steamcmd image got an update which seems to have broken something (guessing related to newer ubuntu image base). Changing the tag in the Dockerfile from latest to ubuntu-22 works for me

shichen85 commented 4 months ago

steamcmd image got an update which seems to have broken something (guessing related to newer ubuntu image base). Changing the tag in the Dockerfile from latest to ubuntu-22 works for me

Worked for me! Thank you.

TheOrioli commented 4 months ago

Can confirm it works with ubuntu-22

After some figuring out on how to use a repo directly in workflows here is a snippet of how to use your own fork until this action is patched:

  - uses: actions/checkout@v4
    with:
          repository: YourOrganization/steam-deploy
          path: steam-deploy
  - uses: ./steam-deploy

@maxha651 perhaps do a PR on this repo to get that close issue glory ā¤ļø

AsafZoki commented 4 months ago

Yep works for me as well with ubuntu 22

maxha651 commented 4 months ago

Can confirm it works with ubuntu-22

After some figuring out on how to use a repo directly in workflows here is a snippet of how to use your own fork until this action is patched:

  - uses: actions/checkout@v4
    with:
          repository: YourOrganization/steam-deploy
          path: steam-deploy
  - uses: ./steam-deploy

@maxha651 perhaps do a PR on this repo to get that close issue glory ā¤ļø

haha thanks, but I'll just let the maintainers set that to whatever they think makes most sense. Should probably be more of a conscious choice rather than 'whatever steamcmd uses as latest' :)

Also you can just use uses: YourOrg/steam-deploy@main as well to use your own fork.

webbertakken commented 4 months ago

We'd be happy to merge in a suggested fix. That way not everyone has to create their own fork.

Accepting contributions.

webbertakken commented 4 months ago

Merged the suggested fix.

Release: https://github.com/game-ci/steam-deploy/releases/tag/v3.0.1

soundasleep commented 4 months ago

Thank you so much @webbertakken ! The fix works great, no changes necessary, just rerunning the action with @v3 and it works as before. Curious as to why steamcmd suddenly doesn't work on Ubuntu 24, sounds like a protocol or SSL or something weird like that bug šŸ¤”

ZeroParticle commented 4 months ago

Thank you so much @webbertakken ! The fix works great, no changes necessary, just rerunning the action with @v3 and it works as before. Curious as to why steamcmd suddenly doesn't work on Ubuntu 24, sounds like a protocol or SSL or something weird like that bug šŸ¤”

It looks like they changed their internal directory structure on Ubuntu 24. My PR (#70) updates the directory to correct for this. Interestingly moving back to Ubuntu 22 did not fix this problem for me, but the directory switch worked just fine. It's possible that I was messing something up on Ubuntu 22, but I figured I'd submit the upgrade PR anyway.

webbertakken commented 4 months ago

Also merged that suggested forward fix.

Release: https://github.com/game-ci/steam-deploy/releases/tag/v3.0.2

TheOrioli commented 4 months ago

@webbertakken Sorry for being a party pooper, but #70 is not a fix for this issue, in fact v3.0.2 reintroduced the problem again, and it was fixed in v3.0.1 . I don't know the setup @ZeroParticle has in their system, but this is the full job we use:

deploy_steam:
    needs: [build, update_icon, version, deployment_target]
    runs-on: ubuntu-22.04
    steps:
      - uses: actions/download-artifact@v4
        with:
          name: steam_windows_64
          path: build/steam_windows_64
      - uses: actions/download-artifact@v4
        with:
          name: steam_windows_32
          path: build/steam_windows_32
      - uses: actions/download-artifact@v4
        with:
          name: steam_linux_64
          path: build/steam_linux_64
      - uses: actions/download-artifact@v4
        with:
          name: steam_linux_32
          path: build/steam_linux_32
      - uses: game-ci/steam-deploy@v3
        with:
          username: ${{ secrets.STEAM_USERNAME }}
          configVdf: ${{ secrets.STEAM_CONFIG_VDF}}
          appId: ${{ secrets.STEAM_APP_ID }}
          buildDescription: ${{ needs.version.outputs.version_hash }}
          rootPath: build
          depot1Path: steam_windows_64
          depot2Path: steam_windows_32
          depot3Path: steam_linux_64
          depot4Path: steam_linux_32
          releaseBranch: ${{ needs.deployment_target.outputs.steam_branch }}

it fails with v3.0.0, works with v3.0.1 and fails again with v3.0.2

So unless there is something weird/non-standard in how we use the job, it seems #70 is a regression on this issue :(

webbertakken commented 4 months ago

@TheOrioli no party pooping taken. Thank you for reporting that the issue was reintroduced.

I went ahead and reverted #70 in #71.

Release: https://github.com/game-ci/steam-deploy/releases/tag/v3.0.3

We need the next person who moves the image to latest to pin it to an actual version and properly test the fix as provided to the public, rather than a specific workflow.

Cheers all!