-
Notifications
You must be signed in to change notification settings - Fork 5
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
Add GH Action Workflow to push master
and development
branches to Steam Workshop
#41
Comments
After testing, this seems to publish to the Workshop at least I'd update the workflow to only act on PRs to the |
Okay, my additions in my fork (see below) broke something and the runner isn't running. Trying to have it only push on the following conditions
I'll do some more testing, should be a way to fix that. Edit: Turns out that PR stuff in actions when run against a fork is being forcibly run agianst the main repo, not the fork, according to docs. Not ideal, that. |
Progress, 'cause it's now using the worker when told to, and authenticating against Steam, but still, no dice. Uploading through PZ works. I'll investigate furhter. |
After figuring out how to set logging options for steamcmd for a local test-build (Note: It's |
I'll put it in writing, I'm an idiot. Forgot to tell the action to actually checkout the repo. But I learned a lot about Action workflows, which is cool. Now it's working, has been squashed into my master branch. |
I think this would be a great change, and your workflow described above looks solid. We should probably open a What concerns me about the automation is that the Steam workshop does not appear to support any kind of PAT authentication. Is there really no way to do this without using your actual Steam account credentials and messing with 2FA? It doesn't even look like you can delegate upload permissions to another account. I don't know if I feel comfortable using this as long as it requires access to my whole entire Steam account. |
There are multiple solutions to the security predicament. Thus a way to resolve this would be to Another way to solve this, while having Steam Guard enabled and having releases go through your account, would be to switch the automation and add the seed for 2FA (Some automations support this, I'll test them) as a GH Repository Secret, same storage for the username and steam account password. If that is sufficiently long, I personally see an acceptable risk. GH Repo secrets. You need admin access to create them, they get encrypted with SHA256, and nobody ever sees them again or is able to modify them, the only action available is to delete them. We could place restrictions around what specifically gets published to the Workshop by having the action only run under set conditions like outlined above, mitigating the risk of the entire ordeal in regards to stuff like someone publishing unvetted code to the Workshop in your name. That's currently the best I can think of where we can compromise usability and security. Though as a whole, the entire permission system surrounding Steam and the Workshop is utterly fucking archaic and anachronistic and should be tossed into a fire and rebuilt. |
Actually, there is at least recent enough (As of this year) mention of allowing contributors to update an Item on the Bohemia Forums. If anyone fucks around with Steam Workshop, it's ArmA 3 Mod devs. I'll send you a friend request on Steam and we can test that with the development build I got there, alright? |
Closed due to concerns about Steam handling authencation. |
Thank you @macinsight for kicking this off - you probably noticed, but I moved the mod to another account and I'm using that account for the CI workflow. There is one that runs nightly for a separate workshop item (https://steamcommunity.com/sharedfiles/filedetails/?id=3103482033) and another one that runs when a v* tag is pushed. This will really save some time and energy in the long run when it comes to pushing updates, so thanks again! |
Oh, sweet! Now I can crowdsource the missing items, hah! Looks like the nightly item is currently hidden, could you add me as a contributor for that item as well so I can subscribe and test stuff without having to worry about Zomboid not liking my symlinks from |
Actually, what's the source branch for the nightly one? We could use the |
This proposed enhancement suggests the addition of a GitHub Action Workflow to streamline the process of pushing changes from both the 'master' and (hopefully upcoming) 'development' branches to the Steam Workshop. Currently, this process requires manual handling by Coavins. Automating this workflow can significantly improve efficiency and reduce the risk of oversights during the deployment process.
I'd propose the following changes:
master
branchFor this workflow to be efficient, the following step-by-step workflow should be discussed below:
development
branch where issues get ironed out and testing takes place.development
branch to a new Steam Workshop Item named "coavins-firearms-repair-git" or similarmaster
Happy to hear your input.
The text was updated successfully, but these errors were encountered: