Build successfully uploaded to Steam, but fails to be published to a branch, failing the action overall
bilalakil opened this issue · comments
Bug description
Build successfully uploaded to Steam, but fails to be published to a branch, failing the action overall. I was able to log into Steam, with the same account that was used in the workflow and set the build live (that was uploaded from this failing workflow) manually.
The logs sadly did not reveal much useful information:
2021-12-22T14:07:33.2501059Z [2021-12-22 14:07:28]: Starting AppID 1857400 build (flags 0x0).
2021-12-22T14:07:33.2503743Z [2021-12-22 14:07:28]: Building depot 1857401...
2021-12-22T14:07:33.2504840Z
2021-12-22T14:07:33.2505767Z
2021-12-22T14:07:33.2507322Z Building file mapping...
2021-12-22T14:07:54.2863297Z Scanning content........Warning: failed to init SDL thread priority manager: SDL not found
2021-12-22T14:07:56.9344344Z .
2021-12-22T14:07:56.9346465Z Uploading content
2021-12-22T14:07:56.9348984Z [2021-12-22 14:07:56]: ERROR! Failed to commit build for AppID 1857400 : Failure
How to reproduce
- I'm using a Steam build account with only two permissions set: Edit App Metadata and Publish App Changes To Steam
- I have an almost-blank Unity project. I guess using a fresh new project would work after you set a startup scene
- GitHub Actions workflow used:
name: CI CD
on:
push:
branches:
- main
jobs:
testBuildUpload:
name: Test, build then upload
runs-on: ubuntu-latest
steps:
- name: Checkout repository (no LFS)
uses: actions/checkout@v2
- name: Create LFS file list
run: git lfs ls-files -l | cut -d' ' -f1 | sort > .lfs-assets-id
- name: Restore LFS cache
uses: actions/cache@v2
id: lfs-cache
with:
path: .git/lfs
key: ${{ runner.os }}-lfs-${{ hashFiles('.lfs-assets-id') }}
restore-keys: |
${{ runner.os }}-lfs-
- name: LFS pull
run: |
git lfs pull
git add .
git reset --hard
- name: Restore Unity cache
uses: actions/cache@v2
with:
path: Library
key: ${{ runner.os }}-Library-${{ hashFiles('Assets/**', 'Packages/**', 'ProjectSettings/**') }}
restore-keys: |
${{ runner.os }}-Library-
- name: Run tests
uses: game-ci/unity-test-runner@v2
env:
UNITY_LICENSE: ${{ secrets.UNITY_LICENSE }}
- name: Build project
uses: game-ci/unity-builder@v2
env:
UNITY_LICENSE: ${{ secrets.UNITY_LICENSE }}
with:
targetPlatform: StandaloneWindows64
versioning: None
- uses: game-ci/steam-deploy@v0.1
with:
username: ${{ secrets.STEAM_BUILD_ACCOUNT_USERNAME }}
password: ${{ secrets.STEAM_BUILD_ACCOUNT_PASSWORD }}
configVdf: ${{ secrets.STEAM_BUILD_ACCOUNT_CONFIG_VDF }}
ssfnFileName: ${{ secrets.STEAM_BUILD_ACCOUNT_SSFN_FILE_NAME }}
ssfnFileContents: ${{ secrets.STEAM_BUILD_ACCOUNT_SSFN_FILE_CONTENTS }}
appId: 1857400
buildDescription: github_actions-${{ github.sha }}
rootPath: build
depot1Path: StandaloneWindows64
releaseBranch: default
Expected behavior
- Build successfully uploaded to Steam depot (✔)
- Build set live to
default
branch (❌)
Additional details
- I have confirmed that the permissions for the build account are sufficient by logging into Steamworks with the account and setting the build live manually
- Workflow logs: logs_27.zip
Have you tried using a releaseBranch other than default? I suspect that Steam may have some safeguard in place for the default releaseBranch.
Hey that was it! Nice 😀 Made a new branch, changed releaseBranch
accordingly and it worked!
I guess that means I'm the first person that ever tried auto deploying to the default branch? 😅
I would like to add a comment (even when the issue is closed already): This is something that Steam chose not to support: https://partner.steamgames.com/doc/sdk/uploading#5
SetLive - Beta branch name to automatically set live after successful build, none if empty. Note that the 'default' branch can not be set live automatically. That must be done through the App Admin panel.