Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

updated build pipeline to automatically kick off a nightly build when… #2750

Open
wants to merge 1 commit into
base: release-7.x
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 7 additions & 1 deletion azure-pipelines-nightly.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,13 @@
name: $(TeamProject)_$(BuildDefinitionName)_$(SourceBranchName)_$(Date:yyyyMMdd)$(Rev:.r)

# No trigger for nightly
trigger: none
trigger:
branches:
include:
- master
paths:
include:
- tools/CustomMSBuild/Versioning.props

# No Pull request (PR) triggers for nightly
pr: none
Expand Down
23 changes: 11 additions & 12 deletions docs/release.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,40 +15,39 @@
1. Increment the version number and update the Public API files; both of these steps can be accomplished by running the `tools\IncrementVersion.cmd` script. Then create a pull request with these changes using the `tools\Release\CreateAndPushBranch.cmd` script and merge the pull request.
* Increment the version number referenced during build in [`Versioning.props`](tools/CustomMSBuild/Versioning.props) by using [semantic versioning](https://semver.org/).
* Update the Public API files by copying the contents of any `PublicAPI.Unshipped.txt` file that has changed since the last release into its corresponding `PublicAPI.Shipped.txt` file.
2. Kick off a new [nightly build](https://identitydivision.visualstudio.com/OData/_build?definitionId=1104) by running the pipeline 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. Then create a pull request with these changes in the [Docs](https://github.com/MicrosoftDocs/OData-docs/) repo and merge it.
2. 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. Then create a pull request with these changes in the [Docs](https://github.com/MicrosoftDocs/OData-docs/) repo and merge it.
* Generate new release notes 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 the NuGet Packages
4. Download the build artifacts from the nightly build to your local machine.
3. A [nightly build](https://identitydivision.visualstudio.com/OData/_build?definitionId=1104) was kicked off whenever your version increment PR was merged. Download the build artifacts from the nightly build to your local machine.
* Access the artifacts by navigating to the "published" items in the "Scheduled" section of the summary page for the new build.
5. Mark the nightly build to be retained indefinitely.
4. Mark the nightly build to be retained indefinitely.
* Find this setting by clicking the button with three dots next to the title of the build.
6. Use NuGet Package Explorer to verify the URLs of each package in the Nuget-Release folder for license terms, package information, and release notes.
5. Use NuGet Package Explorer to verify the URLs of each package in the Nuget-Release folder for license terms, package information, and release notes.
* Expected URLs:
* License Terms: http://go.microsoft.com/fwlink/?linkid=833178 (forwards to https://raw.githubusercontent.com/OData/odata.net/master/LICENSE.txt)
* Package Information: http://odata.github.io/ (forwards to https://learn.microsoft.com/en-us/odata/)
* Release Notes: http://docs.microsoft.com/en-us/odata/changelog
* Note: Symbols packages will not have license terms and Nightly packages will not have release notes.
7. Verify the signatures of the packages downloaded from the build artifacts by running the following command: `nuget verify -Signature Microsoft.Spatial.7.9.4.nupkg`, replacing "7.9.4" with the new version number. Do the same for Microsoft.OData.Edm, Microsoft.OData.Core, and Microsoft.OData.Client.
6. Verify the signatures of the packages downloaded from the build artifacts by running the following command: `nuget verify -Signature Microsoft.Spatial.7.9.4.nupkg`, replacing "7.9.4" with the new version number. Do the same for Microsoft.OData.Edm, Microsoft.OData.Core, and Microsoft.OData.Client.

### Upload the NuGet Packages
8. Create a new API key on nuget.org for this release and limit the lifetime so that it won't be re-used.
7. Create a new API key on nuget.org for this release and limit the lifetime so that it won't be re-used.
* Limit the lifetime by setting the key to expire in one day (for example).
* You can use the default setting for scopes when creating the API key.
9. Upload all 4 nupkg files using the nuget.org UI in the following order:
8. 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
10. Upload all 4 snupkg files in the same order.
9. Upload all 4 snupkg files in the same order.

### Document the Release
11. Create a new tag on the `master` branch in the [ODL repo](https://github.com/OData/odata.net) corresponding to the new version number by running:
10. Create a new tag on the `master` branch in the [ODL repo](https://github.com/OData/odata.net) corresponding to the new version number by running:
```
git tag -a 7.9.4 -m "7.9.4 RTM"
git push origin 7.9.4
```
and repacing `7.9.4` with the new version number
12. 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.)
13. Cherry-pick the change log commit in the [Docs](https://github.com/MicrosoftDocs/OData-docs/) repo from the `main` branch to the `live` branch.
11. 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.)
12. Cherry-pick the change log commit in the [Docs](https://github.com/MicrosoftDocs/OData-docs/) repo from the `main` branch to the `live` branch.
Loading