|
55 | 55 | `OTelLatestStableVer` property in `Directory.Packages.props` has been
|
56 | 56 | updated to the latest stable core version.
|
57 | 57 |
|
58 |
| - 2. Generate combined CHANGELOG |
59 |
| - |
60 |
| - Run the PowerShell script `.\build\generate-combined-changelog.ps1 |
61 |
| - -minVerTagPrefix [MinVerTagPrefix]`. Where `[MinVerTagPrefix]` is the tag |
62 |
| - prefix (eg `core-`) for the components being released. This generates a |
63 |
| - combined changelog file to be used in GitHub release. The file is created in |
64 |
| - the repo root but should not be checked in. Move it or copy the contents off |
65 |
| - and then delete the file. |
66 |
| - |
67 |
| - 3. Update CHANGELOG files |
| 58 | + 2. Update CHANGELOG files |
68 | 59 |
|
69 | 60 | Run the PowerShell script `.\build\update-changelogs.ps1 -minVerTagPrefix
|
70 | 61 | [MinVerTagPrefix] -version [Version]`. Where `[MinVerTagPrefix]` is the tag
|
71 | 62 | prefix (eg `core-`) for the components being released and `[Version]` is the
|
72 | 63 | version being released (eg `1.9.0`). This will update `CHANGELOG.md` files
|
73 | 64 | for the projects being released.
|
74 | 65 |
|
75 |
| - 4. **Stable releases only**: Normalize PublicApi files |
| 66 | + 3. **Stable releases only**: Normalize PublicApi files |
76 | 67 |
|
77 | 68 | Run the PowerShell script `.\build\finalize-publicapi.ps1 -minVerTagPrefix
|
78 | 69 | [MinVerTagPrefix]`. Where `[MinVerTagPrefix]` is the tag prefix (eg `core-`)
|
79 | 70 | for the components being released. This will merge the contents of any
|
80 | 71 | detected `PublicAPI.Unshipped.txt` files in the `.publicApi` folder into the
|
81 | 72 | corresponding `PublicAPI.Shipped.txt` files for the projects being released.
|
82 | 73 |
|
83 |
| - 5. Tag Git with version to be released. We use |
| 74 | + 4. Tag Git with version to be released. We use |
84 | 75 | [MinVer](https://github.com/adamralph/minver) to do versioning, which
|
85 | 76 | produces version numbers based on git tags.
|
86 | 77 |
|
|
113 | 104 | git push origin Instrumentation.AspNetCore-1.6.0
|
114 | 105 | ```
|
115 | 106 |
|
116 |
| - 6. Go to the [list of |
117 |
| - tags](https://github.com/open-telemetry/opentelemetry-dotnet/tags) and find |
118 |
| - the tag(s) which were pushed. Click the three dots next to the tag and |
119 |
| - choose `Create release`. |
120 |
| - * Give the release a name based on the tags created (e.g. |
121 |
| - `core-1.9.0-beta.1` or `Instrumentation.Http-1.8.0`). |
122 |
| - * Paste the contents of combined changelog from Step 2. Only include |
123 |
| - projects with changes. |
124 |
| - * Check "This is a pre-release" if applicable. |
125 |
| - * Click "Publish release". This will kick off the [Pack and publish to |
126 |
| - MyGet |
127 |
| - workflow](https://github.com/open-telemetry/opentelemetry-dotnet/actions/workflows/publish-packages-1.0.yml). |
| 107 | + Pushing the tag will kick off the [Build, pack, and publish to MyGet |
| 108 | + workflow](https://github.com/open-telemetry/opentelemetry-dotnet/actions/workflows/publish-packages-1.0.yml). |
128 | 109 |
|
129 |
| - 7. Validate using MyGet packages. Basic sanity checks :) |
| 110 | + 5. :stop_sign: Wait for the [Build, pack, and publish to MyGet |
| 111 | + workflow](https://github.com/open-telemetry/opentelemetry-dotnet/actions/workflows/publish-packages-1.0.yml) |
| 112 | + to complete. |
130 | 113 |
|
131 |
| - 8. From the above build, get the artifacts from the drop, which has all the |
132 |
| - NuGet packages. |
| 114 | + 6. Validate locally everything works using the MyGet packages pushed from the |
| 115 | + release. Basic sanity checks :) |
133 | 116 |
|
134 |
| - 9. Copy all the NuGet files and symbols for the packages being released into a |
135 |
| - local folder. |
| 117 | + 7. Download the artifacts from the drop attached to the workflow run. The |
| 118 | + artifacts archive (`.zip`) contains all the NuGet packages (`.nupkg`) and |
| 119 | + symbols (`.snupkg`) from the build which were pushed to MyGet. |
136 | 120 |
|
137 |
| -10. Download latest [nuget.exe](https://www.nuget.org/downloads) into the same |
138 |
| - folder from Step 9. |
| 121 | + 8. Extract the artifacts from the archive (`.zip`) into a local folder. |
139 | 122 |
|
140 |
| -11. Create or regenerate an API key from nuget.org (only maintainers have |
| 123 | + 9. Download latest [nuget.exe](https://www.nuget.org/downloads) into the same |
| 124 | + folder from Step 8. |
| 125 | + |
| 126 | +10. Create or regenerate an API key from nuget.org (only maintainers have |
141 | 127 | access). When creating API keys make sure it is set to expire in 1 day or
|
142 | 128 | less.
|
143 | 129 |
|
144 |
| -12. Run the following commands from PowerShell from local folder used in Step 9: |
| 130 | +11. Run the following commands from PowerShell from local folder used in Step 8: |
145 | 131 |
|
146 | 132 | ```powershell
|
147 | 133 | .\nuget.exe setApiKey <actual api key>
|
148 | 134 |
|
149 | 135 | get-childitem -Recurse | where {$_.extension -eq ".nupkg"} | foreach ($_) {.\nuget.exe push $_.fullname -Source https://api.nuget.org/v3/index.json}
|
150 | 136 | ```
|
151 | 137 |
|
152 |
| -13. Validate that the package(s) are uploaded. Packages are available |
| 138 | +12. Validate that the package(s) are uploaded. Packages are available |
153 | 139 | immediately to maintainers on nuget.org but aren't publicly visible until
|
154 | 140 | scanning completes. This process usually takes a few minutes.
|
155 | 141 |
|
| 142 | +13. Open the |
| 143 | + [Releases](https://github.com/open-telemetry/opentelemetry-dotnet/releases) |
| 144 | + page on the GitHub repository. The [Build, pack, and publish to MyGet |
| 145 | + workflow](https://github.com/open-telemetry/opentelemetry-dotnet/actions/workflows/publish-packages-1.0.yml) |
| 146 | + creates a draft release for the tag which was pushed. Edit the draft Release |
| 147 | + and click `Publish release`. |
| 148 | +
|
156 | 149 | 14. If a new stable version of the core packages was released, open a PR to
|
157 | 150 | update the `OTelLatestStableVer` property in `Directory.Packages.props` to
|
158 | 151 | the just released stable version.
|
|
0 commit comments