I have a workflow that builds a Unity project to Steam-friendly platforms (Windows64, Windows, Linux64) and then uses this action to deploy those builds to a Steam game. The steam-deploy action fails in the "Uploading Build" step, and the most-relevant message I can find in the log is:
Building file mapping...
Scanning content...........
[2021-10-16 04:26:31]: ERROR! Build for depot 1792551 failed : Failure
Confirm that the manual "upload a ZIP through the Steam partner site" process works with appropriate depots & builds.
Use a Github Actions workflow file to create builds & store them as artifacts for appropriate platforms.
Use this Github Actions workflow file to retrieve those artifacts & upload them to Steam.
Note that this does contain numerous repository secrets.
name: Deploy To Steam
on:
workflow_dispatch: {}
jobs:
deploy_to_steam:
name: Deploy to Steam
runs-on: ubuntu-latest
strategy:
fail-fast: false
steps:
- name: Download artifact from another workflow
uses: dawidd6/action-download-artifact@v2
with:
github_token: ${{secrets.GITHUB_TOKEN}}
workflow: BuildAndDeployToSteam.yml
workflow_conclusion: completed
# From original workflow where build + deploy was in one worfklow but separate jobs.
# - name: Download all workflow run artifacts
# id: artifact_download
# uses: actions/download-artifact@v2
# # with:
# # path: # If not used, defaults to download to $(pwd)
- name: Display structure of downloaded files
run: ls -R
- name: Setup steamcmd
uses: CyberAndrii/setup-steamcmd@v1
- name: Generate auth code
id: steam_mfa_generate
uses: CyberAndrii/steam-totp@v1
with:
shared_secret: ${{ secrets.STEAM_SHARED_SECRET }}
# This uses the syntax used by the steam-deploy action
- name: Display structure of files to upload
run: ls $(pwd)/ArborSculptura-StandaloneWindows64/
- name: Steam - Deploy
uses: game-ci/steam-deploy@v0.1
with:
username: ${{ secrets.STEAM_USERNAME }}
password: ${{ secrets.STEAM_PASSWORD }}
mfaCode: ${{ steps.steam_mfa_generate.outputs.code }}
appId: ${{ secrets.STEAM_APP_ID }}
# From combined build + deploy workflow:
# buildDescription: ${{ steps.buildStep.outputs.buildVersion }}
buildDescription: v0.0.1
# rootPath: # pwd is prepended by this action anyway, so no need to use
depot1Path: ArborSculptura-StandaloneWindows64/*
depot2Path: ArborSculptura-StandaloneLinux64/*
depot3Path: ArborSculptura-StandaloneWindows/*
releaseBranch: prerelease
localContentServer: LocalContentServer
The workflow errors out & doesn't upload anything to Steam as the error occurs in the first depot that it attempts to build.
Expected behavior
The action would upload files found in specified directories to Steam with no issue.
Additional details
While the Steam app ID is in the repo secrets, it's not really secret as it (or at least its depots) show up in the logs. I can confirm that the depot numbers are correct & match the numbers shown on the Steam partner website.
The 3 artifact ZIP files are what I used to confirm the manual ZIP upload works, so I don't believe there's any issue with the build or artifact storage process.
I'm using a dedicated build account on Steam, but from what I can tell there's no issue with its login or its permissions/scope. Using the dedicated build account works fine for manual ZIP uploads.
This looks like an error from steamcmd but I have no clue why.
I tried searching through the Steamworks group discussions on Steam about this error and found various things like symlinks, relative paths, permissions issues, and incorrect depot numbers all causing problems - but they're all fixable. I'm fairly certain that none of those are causing the problem here.
The only part of the workflow that I don't really know anything about is the localContentServer property - I've copied values from the example on the readme of this steam-deploy repo. Hopefully that's fine?
I don't really have any other ideas for what is preventing the uploads - any advice would be hugely appreciated.
Bug description
I have a workflow that builds a Unity project to Steam-friendly platforms (Windows64, Windows, Linux64) and then uses this action to deploy those builds to a Steam game. The steam-deploy action fails in the "Uploading Build" step, and the most-relevant message I can find in the log is:
Full logs attached. SteamDeployActionLog.zip
How to reproduce
Confirm that the manual "upload a ZIP through the Steam partner site" process works with appropriate depots & builds. Use a Github Actions workflow file to create builds & store them as artifacts for appropriate platforms. Use this Github Actions workflow file to retrieve those artifacts & upload them to Steam.
Note that this does contain numerous repository secrets.
The workflow errors out & doesn't upload anything to Steam as the error occurs in the first depot that it attempts to build.
Expected behavior
The action would upload files found in specified directories to Steam with no issue.
Additional details
While the Steam app ID is in the repo secrets, it's not really secret as it (or at least its depots) show up in the logs. I can confirm that the depot numbers are correct & match the numbers shown on the Steam partner website. The 3 artifact ZIP files are what I used to confirm the manual ZIP upload works, so I don't believe there's any issue with the build or artifact storage process. I'm using a dedicated build account on Steam, but from what I can tell there's no issue with its login or its permissions/scope. Using the dedicated build account works fine for manual ZIP uploads.
This looks like an error from steamcmd but I have no clue why.
I tried searching through the Steamworks group discussions on Steam about this error and found various things like symlinks, relative paths, permissions issues, and incorrect depot numbers all causing problems - but they're all fixable. I'm fairly certain that none of those are causing the problem here.
The only part of the workflow that I don't really know anything about is the localContentServer property - I've copied values from the example on the readme of this steam-deploy repo. Hopefully that's fine?
I don't really have any other ideas for what is preventing the uploads - any advice would be hugely appreciated.