Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Setup a Steam App Id for tests #18

Closed
davidmfinol opened this issue Dec 4, 2021 · 12 comments
Closed

Setup a Steam App Id for tests #18

davidmfinol opened this issue Dec 4, 2021 · 12 comments
Labels
enhancement New feature or request

Comments

@davidmfinol
Copy link
Member

In order to get .github/workflows/main.yml to validate any changes to this action, we should setup a proper Steam Build Account that can upload to a Steam App Id that would be used exclusively for testing this action.

@davidmfinol davidmfinol added the enhancement New feature or request label Dec 4, 2021
@webbertakken
Copy link
Member

webbertakken commented Dec 4, 2021

GameCI has donations that we could use to register an application to steam partner.

The costs were ~100 USD per application last time I registered one.
Unless someone would like to sponsor their existing steam builder account :)

Not sure about which legal entity to use though. Any ideas?

@bilalakil
Copy link
Collaborator

bilalakil commented Dec 26, 2021

I think I can volunteer one. Looks like I can use User Groups in Steamworks to restrict the permissions to a single app, and I'll make a new DLC that's never going to see the light of day dedicated to this. That means you'll get passing builds but you won't really be able to see what's going on behind it though - is that acceptable? Also it'd be under my Doodad Games PTY LTD Steam account legally speaking.

Although theoretically any of you can do this if you find it more trustable:

  • create a dedicated DLC under whichever Steam account + parent product you find preferable
    • as long as you don't fill in all the store page details and request a review from Steam (?!), it'll never be visible on the parent product's page
  • create a dedicated Steam Build Account
  • create a Group with the necessary permissions only for that DLC and add the Steam Build Account to that group
  • viola?

Side note: I wonder if there's a way, once this is done, to automatically download the game from Steam and verify the contents for a proper end-to-end test 🤔

@webbertakken
Copy link
Member

That's very kind of you, we'll keep that in mind.

For now we're also exploring which legal entity to use for game-ci, not just limited to steam. It might be worth it in the long run.

See discord #game-ci-legal-entity

@bilalakil
Copy link
Collaborator

I've skimmed the channel and that's admittedly a deeper topic than I can provide useful input for. I've done all the legalities by hand here in Australia but I've no knowledge if I've done it "the best way" or not 😅

However, I'll still offer using mine as a stop-gap to get passing tests if you like. Should just be a matter of changing secrets once the entity is set up. Let me know 🙂

@webbertakken
Copy link
Member

That's admittedly still a very good idea. I've given you temporary maintainer status to this repo. Feel free to set it up as you suggested.

@bilalakil
Copy link
Collaborator

I've accepted the maintainer invite, but I don't seem to be able to modify the secrets, if that was the intention. If not, then what's the plan? 😛

@bilalakil
Copy link
Collaborator

After having gotten things working, I've learned there's a little more to the steps listed above to get things working with a DLC:

  • create a dedicated Steam Build Account

On an admin account:

  • create a dedicated DLC
  • create a Group with the necessary permissions only for that DLC and add the Steam Build Account to that group
  • create two new depots for the DLC and assign them to the DLC's package
    • the first DLC I created seemed to be auto-assigned to the package, in fact using the package's app ID as its depot ID (which is why I had to add firstDepotIdOverride)
    • I set the first to Windows and the second to Linux, matching the tests, but I'm not sure that this is actually necessary

On the Steam Build Account:

  • log into the Steam Build Account and manually upload a zip to the two depots
    • you can do this via the Steamworks web upload instead of using Steampipe shenanigans
  • set those builds live on the default branch
    • you can't create new branches until something's live on default apparently 🤔
  • create a new prerelease branch

You should now be good to go

@webbertakken
Copy link
Member

I've accepted the maintainer invite, but I don't seem to be able to modify the secrets, if that was the intention. If not, then what's the plan? 😛

I see, maybe must be admin to edit secrets. I've upgraded your status.

@bilalakil
Copy link
Collaborator

Thanks! I've updated the secrets, although I'd suggest waiting until #26 is merged before taking back the authority in case I need to change anything (because I can't tell if it's all right yet - turns out secrets aren't passed to PRs from forked repos).

@webbertakken
Copy link
Member

No rush :) Thanks again for thinking along and helping out the community.

@bilalakil
Copy link
Collaborator

main has successfully deployed to the test DLC and passed tests 😀 You can remove my admin privileges now 😛

Although if you think it's ok, I wouldn't mind being left as a collaborator so I could work in branches in this repo instead of in a fork?

@webbertakken
Copy link
Member

Great. I've changed your privilege to write access.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

3 participants