Gum
MonoGame Gum (NuGet Packages)
Gum's repository includes a GitHub Action yaml file which builds and uploads NuGet packages. If the build succeeds and if the NuGet numbers are new, then new NuGet packages are uploaded.
The automated build will not upload a new NuGet if the version number is not manually increased first. Also note, this DOES NOT currently upload a new Gum tool - this must be done manually (see steps below).
To upload a new NuGet packages, follow these steps:
Open AllLibraries.sln in Visual Studio - this links MonoGame/FNA/Kni Gum and the projects it depends on. It is at <GumRoot>\MonoGameGum.sln
Double-click GumCommon and find the version. Copy this, then do a global find/replace to update all versions to the latest version.
Setting GumCommon's Version number at the time of this writing, 8 projects will be updated.
Save the files and push the commit
Merge the commit to
Master
Run the GitHub action file
Gum Tool
Currently Gum uses .NET 4.7.1. This will not build using dotnet build (not sure why). Therefore, Gum must be built and uploaded manually. We could eventually automate this through TeamCity until Gum (maybe?) gets updated to modern .NET. Until then the steps are:
Open Gum locally in Visual Studio
Open Gum AssemblyInfo.cs and set AssemblyVersion and AssemblyFileVersion using the date-based format. Notice that there's only 3 numbers unlike the versions for NuGet packages.
AssemblyVersion and AssemblyFileVersion in AssemblyInfo.cs Rebuild the entire solution (not just the Gum project)
Navigate to the location where Gum is built
Go up one folder so that you are outside of the Debug folder
Create a Data folder if one doesn't exist and copy the Debug folder into it
Right-click on Data and Zip it. This will produce a .zip that has a Data folder inside - this matches the expected folder structure from previous builds so make sure this is the case
Rename this Gum.zip
Manually upload this to FlatRedBall's Files folder using sftp to /home/frbfiles/files.flatredball.com/content/Tools/Gum/Gum.zip
Create a new release on Github - see the previous releases for examples
Add a new page in the Gum Upgrade section explaining how to upgrade this version. If no changes are needed, explain that the upgrade can happen without any changes.
Announce on FRB discord
Announce on MonoGame discord
Announce on MGE discord
Announce on Kni discord
Announce on twitter
Announce on Blue Sky
This file is used when creating FlatRedBall builds, so Gum must first be built and uploaded to the FlatRedBall FTP prior to running the FlatRedBall Github Actions. Otherwise, an old Gum will be included in FRBDK. This may be okay depending on if Gum has important new features.
Last updated
Was this helpful?