Skip to content

Commit

Permalink
adding documentation for the release process (#2393)
Browse files Browse the repository at this point in the history
* adding documentation for the release process

* Update release.md

* Update README.md

* Create release.md

* Delete release.md
  • Loading branch information
corranrogue9 authored Jan 18, 2023
1 parent 31712cb commit ecd0850
Show file tree
Hide file tree
Showing 2 changed files with 25 additions and 0 deletions.
2 changes: 2 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -115,6 +115,8 @@ You can query the latest nightly NuGet packages using this query: [MAGIC OData q

The release of the component binaries is carried out regularly through [Nuget](http://www.nuget.org/). A new version is released every 2 months. A new [milestone](https://github.com/OData/odata.net/milestones) item will be created after each release. It will correspond to the work that is expected to be included in the next release. Any work that has been completed by the due date for the milestone will be shipped regardless of if the entire milestone is completed. Work that is not completed by the due date will be moved to another milestone.

Details on the release process are found [here](./release.md)

### 3.6 Performance benchmarks

#### Installation
Expand Down
23 changes: 23 additions & 0 deletions docs/release.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
1. Increment the version number referenced during build in [`Versioning.props`](tools/CustomMSBuild/Versioning.props) by using [semantic versioning](https://semver.org/). Also copy the contents of any `PublicAPI.Unshipped.txt` file that has changed since the last release into its corresponding `PublicAPI.Shipped.txt` file. Both of these steps can usually be accomplished by running the `tools\IncrementVersion.cmd` script. Create a pull request with these changes and merge it.
2. Kick off a new [nightly build](https://identitydivision.visualstudio.com/OData/_build?definitionId=1104) to generate the nuget packages that will be published for this release:
3. Generate release notes in the [change log](https://github.com/MicrosoftDocs/OData-docs/blob/main/Odata-docs/changelog/odatalib-7x.md) to be published on release of the new version. This is done by referencing the PRs that have been merged into `master` since the last version increment. In github, each commit should have a link to the PR that was merged to generate that commit, so you can use github history to generate the changelog. Create a pull request with these changes in the docs repo and merge it.
4. Download the build artifacts from the nightly build to your local machine
5. Mark the nightly build to be retained indefinitely
6. Download NuGet Package Explorer from the windows store and use it to verify the URLs of each package for license, release notes, and package information
7. Log into to your nuget.org account and link it to your AAD account. Ask someone from the team to add you as an administrator. You will need to accept this request once it is sent to you
8. Create a new API key for this release and limit the lifetime so that it won't be re-used
9. Verify the signatures of the packages downloaded from the build artifacts by running the following command: `nuget verify -Signature Microsoft.Spatial.7.4.4.nupkg`. Do the same for Microsoft.OData.Edm, Microsoft.OData.Core, and Microsoft.OData.Client
10. Upload all 4 nupkg files using the nuget.org UI in the following order:
1. Microsoft.Spatial
2. Microsoft.OData.Edm
3. Microsoft.OData.Core
4. Microsoft.OData.Client
11. Upload all 4 snupkg files in the same order
12. Create a new tag corresponding to the new version number by running:
```
git tag -a 6.16.0 -m "6.16.0 RTM"
git push origin 6.16.0
```
and repacing `6.16.0` with the new version number
13. Create a [new release](https://github.com/OData/odata.net/releases) in github with the name "ODL 7.9.4" replacing "7.9.4" with the new version number. Also choose the newly created tag. Add links to the new nuget packages in the description. Note that the assets files will be generated automatically by github when the release is created
14. Cherry-pick the change log commit in the docs repo from the `main` branch to the `live` branch

0 comments on commit ecd0850

Please sign in to comment.