Development Release Instructions - HoneyHazard/PixelMatchSwitcher GitHub Wiki
Pixel Match Switcher merge and tag
Merge a feature branch into master, tag the PixelMatchSwitcher for release, delete the feature branch
```
cd PixelMatchSwitcher
git checkout master
git merge feature_branch
git tag 0.xx.x-alpha
git push
git push --tags
git branch -D feature_branch
git push origin :feature_branch
```
Merge OBS updates into forks
Pull a stable version of OBS into obs-studio-atomic-effects fork:
```
cd obs-studio-atomic-effects
git checkout master
git pull obs master --tags
git push --tags
git push
git checkout results_latest
git merge master
git push --tags
git push
git checkout results_stable
git merge 2x.x.x
git push --tags
git push
```
Merge the latest into obs-studio-pixel-match-switcher fork for building:
```
cd obs-studio-pixel-match-switcher
git checkout master
git pull
git pull atomic results_stable
```
Update OBS build dependencies
Update local build dependencies when needed
- Windows dependencies are at https://github.com/obsproject/obs-deps/releases
- Unpack to
c:\obs-deps
Update CEF when needed
- Find a minimal build with the right version at https://cef-builds.spotifycdn.com/index.html
- extract to
C:\cef_binary
- CMake, output to
c:\cef_binary\build
- Build release and debug
PixelMatchSwitcher and other in-tree modules
Make the latest of PixelMatchSwitcher included in the tree:
```
cd obs-studio-pixel-match-switcher
git add UI/frontend-plugins/PixelMatchSwitcher
```
Update OBS submodules (official in-tree submodules)
```
cd obs-studio-pixel-match-switcher
git submodule update --recursive
```
Update SceneSwitcher (in-tree uncomitted)
Check releases at https://github.com/WarmUpTill/SceneSwitcher/releases
cd UI/frontend-plugins/SceneSwitcher
git fetch
git checkout 1.xx.x
git submodule update --init --recursive
Update obs-streamFX (in-tree uncomitted)
Check releases at https://github.com/Xaymar/obs-StreamFX/releases
cd UI/frontend-plugins/obs-streamFX
git fetch
git checkout 0.xx.0
git submodule update --init --recursive
Update obs-move-transitions (in-tree uncomitted)
Check releases at https://github.com/exeldro/obs-move-transition/releases
```
cd plugins/obs-move-transition
git fetch
git checkout x.x.x
cd ..
git add obs-move-transition
```
Update the windows installer version to 2x.x and PM version to 0.xx
```
cd obs-studio-pixel-match-switcher
nano UI/installer/mp-installer.nsi
```
Change `APPVERSION` and `SHORTVERSION` to 2x.x
Change `PMVERSION` to new Pixel Match Switcher release version.
`git add UI/installer/mp-installer.nsi`
Commit and tag obs-studio-pixel-match-switcher fork and push
```
cd obs-studio-pixel-match-switcher
git commit -m "release 0.xx.x-alpha"
git tag 0.xx.x-alpha
git push --tags
git push
```
Gather the assets
Monitor build actions of the obs-studio-pixel-match-switcher:
https://github.com/PixelMatchSwitcher/obs-studio-pixel-match-switcher/actions?query=workflow%3A%22CI+Multiplatform+Build%22
Click on the latest build. Wait for successful builds and download artifacts.
Download, rename Win64 zip
obs-studio-with-pixel-match-switcher-0.xx.x-win64.zip
Windows build of obs-studio-pixel-match-switcher:
-
Set
TWITCH_CLIENT
,TWITCH_HASH
,RESTREAM_CLIENTID
,RESTREAM_HASH
,VIRTUALCAM_GUID
,CEF_ROOT_DIR
,CEFWRAPPER_LIBRARY_DEBUG
,YOUTUBE_CLIENTID
,YOUTUBE_SECRET
,YOUTUBE_CLIENTID_HASH
,YOUTUBE_SECRET_HASH
-
Build Release!
-
Ensure Websockets, Spectralizer, Shaderfilter are in
C:\Users\admin\Documents\Releases\extra
; NOTE versions in the release!
- [obs-move-transition](https://github.com/exeldro/obs-move-transition/releases)
- [obs-backgroundremoval](https://github.com/royshil/obs-backgroundremoval/releases)
- [obs-shadefilter](https://github.com/Oncorporation/obs-shaderfilter/releases)
-
Run
prepare_installers.bat
underUI/installer
-
Obtain and rename
obs-studio-with-pixel-match-switcher-0.xx.x-bundle-x64.exe
andobs-studio-with-pixel-match-switcher-0.xx.x-bundle-live-x64.exe
inC:\Users\admin\Documents\Releases
Download, unpack, rename OSX build
obs-studio-with-pixel-match-switcher-0.xx.x-untested-OSX.dmg
Download, unpack, rename Ubuntu 18 build
obs-studio-with-pixel-match-switcher-ubuntu18-0.xx.x-amd64.deb
Download, unpack, rename flatpak
obs-studio-with-pixel-match-switcher-0.xx.0.flatpak
Build on Debian 10 (optional)
```
cd obs-studio-pixel-match-switcher
git pull
git submodule update --recursive
cd ..
mkdir build-obs-studio-pixel-match-switcher
cd build-obs-studio-pixel-match-switcher
cmake -DUNIX_STRUCTURE=1 -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Release ../obs-studio-pixel-match-switcher
sudo checkinstall --install=no --backup=no --fstrans=no --deldoc=yes --pkgname=obs-studio --pkgversion="0.xx.x-pixelmatchswitcher" --pkggroup="Applications/Multimedia"
sudo chown 1000:1000 obs-studio_0.xx.x-pixelmatchswitcher-1_amd64.deb
```
Rename to `obs-studio-with-pixel-match-switcher-debian10-0.xx.x-amd64.deb`
Draft and publish the release with attached binaries
Go to https://github.com/HoneyHazard/PixelMatchSwitcher/releases
Press "Draft a new release" (or "Edit" to attach new files)
- tag: 0.xx.x-alpha
- name: 0.xx.x-alpha
- description: include OBS version tag or a 7-digit hash of the latest OBS commit used in compilation
- attach binaries:
- `obs-studio-with-pixel-match-switcher-0.xx.x-win64.zip`
- `obs-studio-with-pixel-match-switcher-0.xx.x-bundle-x64.exe`
- `obs-studio-with-pixel-match-switcher-0.xx.x-bundle-live-x64.exe`
- `obs-studio-with-pixel-match-switcher-0.xx.x-untested-OSX.dmg`
- `obs-studio-with-pixel-match-switcher-ubuntu18-0.xx.x-amd64.deb`
- `obs-studio-with-pixel-match-switcher-debian10-0.xx.x-amd64.deb`
- `obs-studio-with-pixel-match-switcher-0.xx.x.flatpak`
Update plugin info with the on OBS forums
- https://obsproject.com/forum/resources/pixel-match-switcher.1202/
- Update with the latest version, README, etc
Update the user manual etc
https://github.com/HoneyHazard/PixelMatchSwitcher/wiki/User-Manual