Skip to content

Conversation

@derrod
Copy link
Member

@derrod derrod commented Mar 22, 2022

Description

Adds a GitHub actions workflow as well as necessary files for Steam build to be uploaded directly from this repo.

This is version 1 of this workflow, which does not yet account for M1/Apple Silicon builds. Once we get closer to starting the beta phase of the next release and have decided on a naming scheme for builds, whether to use universal builds for Steam, etc. the action will be updated to a "v2".

Motivation and Context

OBS is now on Steam, we don't want to have to deal with manually uploading builds. As originally proposed in obsproject/rfcs#30 this adds the necessary automation via GitHub actions.

Thanks to OpenTTD whose workflow has served an inspiration for this version.

How Has This Been Tested?

A number of runs of various iterations on my own repo: https://github.com/derrod/obs-studio/actions/workflows/steam.yml

A run with the version in this PR at the time of submission is here: https://github.com/derrod/obs-studio/actions/runs/2021121357

I'm sure some people have ideas to optimise it further as I'm not exactly experienced with writing github actions.

Types of changes

  • New feature (non-breaking change which adds functionality)

Checklist:

  • My code has been run through clang-format.
  • I have read the contributing document.
  • My code is not on the master branch.
  • The code has been tested.
  • All commit messages are properly formatted and commits squashed where appropriate.
  • I have included updates to all appropriate documentation.

@derrod derrod added the CI label Mar 22, 2022
@WizardCM WizardCM added the Seeking Testers Build artifacts on CI label Mar 22, 2022
@derrod derrod removed the Seeking Testers Build artifacts on CI label Mar 22, 2022
@derrod derrod force-pushed the steam-ci-v1 branch 3 times, most recently from 96a2669 to 3173e0d Compare March 24, 2022 10:58
@derrod
Copy link
Member Author

derrod commented Mar 24, 2022

Updated to get a more recent 7zip from a Ubuntu PPA and replaced all the ugly temporary json files with using variables that are piped into jq.

@PatTheMav
Copy link
Member

Startled the witches of nitpick forest, but looks fine overall.

Do we have to use batch scripts (i.e. prescribed by Steam)? I'd prefer Powershell, but with Windows preventing user-initiated Powershell scripts by default I wouldn't know if it works out of the box.

@derrod
Copy link
Member Author

derrod commented Mar 24, 2022

The batch script were simply adapted from the existing virtualcam install script. Since powershell is blocked by default that probably wouldn't work, and iirc I tried running a powershell script in an earlier iteration but that didn't work for some reason (maybe steam does a bit more than just telling the OS to run a file and didn't recognise .ps1?).

@PatTheMav
Copy link
Member

The batch script were simply adapted from the existing virtualcam install script. Since powershell is blocked by default that probably wouldn't work, and iirc I tried running a powershell script in an earlier iteration but that didn't work for some reason (maybe steam does a bit more than just telling the OS to run a file and didn't recognise .ps1?).

Yeah I'm worried that Windows will just block execution and batch scripts are just the way to go.

@derrod derrod force-pushed the steam-ci-v1 branch 5 times, most recently from 39f1427 to 897f57b Compare March 25, 2022 12:06
@WizardCM WizardCM requested review from PatTheMav and RytoEX March 26, 2022 22:15
Copy link
Member

@RytoEX RytoEX left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Did a quick review.

@derrod derrod requested a review from RytoEX March 27, 2022 08:51
Copy link
Member

@RytoEX RytoEX left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Seems fine. I left a comment on the frequency of the cron timing. Approved otherwise.

@PatTheMav
Copy link
Member

Where does Steam install the app bundle to on macOS? Did anyone test this already?

@derrod
Copy link
Member Author

derrod commented Mar 27, 2022

From memory it should be in ~/Library/Application Support/Steam/steamapps/OBS Studio

@PatTheMav
Copy link
Member

From memory it should be in ~/Library/Application Support/Steam/steamapps/OBS Studio

Ugly, but should cause no issues.

@derrod
Copy link
Member Author

derrod commented Mar 27, 2022

From memory it should be in ~/Library/Application Support/Steam/steamapps/OBS Studio

Ugly, but should cause no issues.

Well it did cause the issue of browser source not loading, which was fixed in 269d48f :P

Fun fact: Epic puts stuff into /Users/Shared/Epic Games/<stuff>.

@derrod derrod force-pushed the steam-ci-v1 branch 2 times, most recently from 3091dab to 2f5da94 Compare March 29, 2022 09:17
@RytoEX RytoEX self-assigned this Apr 12, 2022
@RytoEX
Copy link
Member

RytoEX commented Apr 13, 2022

@PatTheMav If this is still good to go, I'll land it.

@PatTheMav
Copy link
Member

In the best tradition of our joint indulgence of nitpicking, I added a few picked nits of my own.

@RytoEX
Copy link
Member

RytoEX commented Apr 18, 2022

@PatTheMav Re-requesting review until we get to an approval.

@RytoEX RytoEX merged commit e860b26 into obsproject:master Apr 18, 2022
@RytoEX RytoEX added this to the OBS Studio 28.0 milestone Apr 18, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants