Skip to content

Building a new release.

Thad House edited this page Jan 4, 2017 · 5 revisions

See Create Releases for up to date references.

  1. Update native libraries in the WPILib and NetworkTablesCore. WPILib builds have to be custom compiled. I'm going to work on instructions for this. The HAL does not get updated too often so most releases will be the same anyway. ntcore libraries for the RoboRIO can be found here, and desktop binaries can be found here. Arm builds other then the RoboRIO have to be built manually. Instructions for this are found in the NetworkTablesCore repository.

  2. Commit all changes to NetworkTablesCore, and let AppVeyor build it.

  3. Open the WPILib project, and update the NetworkTablesCore nuget package to be the newest one from AppVeyor. Commit and push the WPILib, and let AppVeyor build it. If NetworkTablesCore has not been updates since last release, changes to it can be skipped.

  4. Open the Simulator project, and update all WPILib references from AppVeyor. The nuspec file also needs to get updated with the correct WPILib version. Also update the MonoGame references from NuGet if newer ones have been pushed. Commit and build it.

  5. Download all packages and symbols from AppVeyor (except for MonoGame, get it from NuGet, and we don't need symbols). The MonoGameSimulator does not have symblols. This should be a list of 4 packages (7 total files) not including MonoGame.

    • NetworkTables
    • WPILib
    • WPILib.Extras
    • MonoGameSimulator
  6. Upload all packages and symbols to NuGet.

  7. Update the submodules in the Release-Tools project.

  8. Rebuild the documentation, and upload the new docs to the website. Also push a new release post to the website.

  9. Go into AppVeyor, and reset all the build numbers, but do not redo the build yet.

  10. Increment all the assembly numbers and the appveyor.yml files for each project. Push to NuGet, which will redo builds.

  11. Post about the new release on ChiefDelphi.

That's all you need to generate a new release. We can also update the extension as well, but for only minor releases that does not need to happen, as teams should be updating the project from NuGet anyway. To update the extension, do the following. I'm going to work on a generator to do this automatically if I get time, which I should.

  1. With the solution closed, copy all of the downloaded nupkg files into the extension.

  2. Run the ExtensionPatcher, which will patch the package versions into their correct locations.

  3. Open the solution, and update the version number of the vsix.

  4. Build the solution, and test it.

  5. Push to AppVeyor, let it build, and grab the Vsix from there. Push that to the visual studio gallery.

Clone this wiki locally