Publishing a New Release - yvt/openspades GitHub Wiki
- Replace each version number in
CMakeLists.txt
,OpenSpades.h
,Resources/PackageInfo.json
,XSpades/PackageInfo.json
, andXSpades/XSpades-Info.plist
with the new one. Version numbers inResources/PackageInfo.json
,XSpades/PackageInfo.json
must look like[x, x, x, 4]
for a stable release. - Create a new git commit with the following commit message:
Bump version to x.y.z
(x.y.z
is the version you want to publish) - Create a new git tag named
vx.y.z
(x.y.z
is the version you want to publish)
Making a Windows binary package
- Follow the building steps in
README.md
. Before building the generated solution, change the build configuration to RelWithDebugInfo. - Create a directory named
OpenSpades-x.y.z-Windows
and copy following files to it.OpenSpades.exe
andResources
from the build directory.- MSVC runtime DLL(s) (
msvcp140.dll
andvcruntime140.dll
in case of MSVC 16). COPYING-*
,YSRSpades.dll
,pthreadGC2.dll
,libstdc++-6.dll
,openal32.dll
, andlibgcc_s_dw2-1.dll
from the previous release of OpenSpades.- The contents of
Nonfree
andOfficial Mods
from the non-free pak toResources
.
- Open
Resources/PackageInfo.json
with a text editor and replace"SourceCode"
with"Windows"
. - Zip
OpenSpades-x.y.z-Windows
using whatever zip archiver you have. Make sure the root of the created zip archive contains a single directory namedOpenSpades-x.y.z-Windows
, not the contents of it. - Store
openspades.pdb
along withOpenSpades-x.y.z-Windows.zip
. You'll need it to analyze core dump files sent by users.
Making a macOS binary package
- Follow the building steps in
README.md
. Build the project with the Release build configuration. - Copy
COPYING-*
from the previous release of OpenSpades to the same directory as the built application bundle (OpenSpades.app
) is located. - Zip
OpenSpades.app
andCOPYING-*
and rename it toOpenSpades-x.y.z-OSX.zip
.
Official Distribution Channels
OpenSpades is distributed through the following channels:
1. GitHub
Make sure to add the "This version is outdated" text to the previous version. This helps users find the latest version if they were directed to the release page via a link pointing to a old version.
2. GameJolt
We use a specialized update channel because the GameJolt client is capable of updating games automatically and therefore we don't want users to see a link to the GitHub releases page.
Open Resources/PackageInfo.json
in each package and edit it as the following:
- "URL": "http://openspades.yvt.jp/api/version.json"
+ "URL": "http://openspades.yvt.jp/api/version.gamejolt.json"
Add NotoFonts.pak
to Resources
.
After doing that, repackage and name them as the following:
OpenSpades-x.y.z-Windows-GJ.zip
OpenSpades-x.y.z-OSX-GJ.zip
After publishing a new release
- Register a new version to
openspades.yvt.jp/api/version.json
andopenspades.yvt.jp/api/version.gamejolt.json
. - Replace version numbers in
Resources/PackageInfo.json
,XSpades/PackageInfo.json
with[y, y, y, 0]
and"pre-y.y.y"
(y.y.y is the next version with the revision number incremented) and create a new git commit with some message. (TODO: what message?) - Update Trello.