This is an automated email from the ASF dual-hosted git repository.
nightowl888 pushed a commit to branch asf-site
in repository https://gitbox.apache.org/repos/asf/lucenenet-site.git
The following commit(s) were added to refs/heads/asf-site by this push:
new ef856dbe1 website: Updated make-release page with procedures for
updating .htaccess and for generating automated release notes
ef856dbe1 is described below
commit ef856dbe1186b0c3a56a04464cbe6cfd34b8c6e6
Author: Shad Storhaug <[email protected]>
AuthorDate: Wed Nov 6 19:15:29 2024 +0700
website: Updated make-release page with procedures for updating .htaccess
and for generating automated release notes
---
.htaccess | 4 +-
contributing/make-release.html | 196 +++++++++++++++++++++++++++--------------
manifest.json | 20 +++++
3 files changed, 150 insertions(+), 70 deletions(-)
diff --git a/.htaccess b/.htaccess
index 578948c69..05acaef2d 100644
--- a/.htaccess
+++ b/.htaccess
@@ -1,4 +1,4 @@
-#
-----------------------------------------------------------------------------------
+#
-----------------------------------------------------------------------------------
#
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
@@ -42,4 +42,4 @@ RewriteEngine On
RewriteRule ^docs/latest/(.*)$ /docs/3.0.3/$1 [R=301,L]
# Redirect /docs/absolute-latest/ to /docs/4.8.0-beta00017/
-RewriteRule ^docs/absolute-latest/(.*)$ /docs/4.8.0-beta00017/$1 [R=301,L]
\ No newline at end of file
+RewriteRule ^docs/absolute(-latest|Latest)/(.*)$ /docs/4.8.0-beta00017/$1
[R=301,L]
diff --git a/contributing/make-release.html b/contributing/make-release.html
index 07b4354d7..a08bdec2b 100644
--- a/contributing/make-release.html
+++ b/contributing/make-release.html
@@ -135,70 +135,11 @@
</li>
</ul>
</li>
-<li><p>Prepare a GitHub Release. Review the <a
href="https://github.com/apache/lucenenet/commits/master">master branch commit
history</a>, and <a
href="https://github.com/apache/lucenenet/releases/new">create a new
<strong>DRAFT</strong> GitHub release</a> using the following template:</p>
-<pre><code class="lang-txt">> This release contains <any important
changes that users should be aware of>
-
-## Change Log
-
-### Breaking Changes
-* #<GitHub Issue ID (optional)> - <A descriptive title (may need to
add context or summarize)>
-
-### Bugs
-* #<GitHub Issue ID (optional)> - <A descriptive title (may need to
add context or summarize)>
-
-### Improvements
-* #<GitHub Issue ID (optional)> - <A descriptive title (may need to
add context or summarize)>
-
-### New Features
-* #<GitHub Issue ID (optional)> - <A descriptive title (may need to
add context or summarize)>
-</code></pre>
-<div class="TIP">
-<h5>Tip</h5>
-<p>Click the "Save draft" button frequently during the above updates
to ensure you don't lose them if your browser crashes.</p>
-</div>
-<div class="NOTE">
-<h5>Note</h5>
-<p>Be sure to check the "This is a pre-release" box as
appropriate.</p>
-</div>
-</li>
-<li><p>Click the "Save draft" button when finished.</p>
-</li>
-<li><p>Update Website with the release notes</p>
-<p>Only people with permissions on GitHub will be able to see the draft
release notes. <a
href="https://people.apache.org/phonebook.html?ctte=lucenenet">PMC members</a>
and <a
href="https://people.apache.org/phonebook.html?unix=lucenenet">committers</a>
can have permissions, but only if they set them up themselves. So, we duplicate
the above information on a release notes page that all subscribers of the
[email protected] mailing list can view during the release vote.</p>
-<div class="NOTE">
-<h5>Note</h5>
-<p>If the release notes require updating, don't forget the primary place to
update them are on the GitHub Releases draft page above. It is best to update
that page and then copy the changes from GitHub Releases to the release notes
page on the website, then commit the changes and <a
href="https://lucenenet.apache.org/contributing/documentation.html#website">publish
the website</a> as usual.</p>
-</div>
-<ul>
-<li><p>Create a new release notes page in the
<code>/websites/site/release-notes</code> directory, in most cases it's easiest
to just copy the previous release notes page.</p>
-<ul>
-<li>Ensure the <code>uid</code> in the header is correct</li>
-<li>Update all headers to the release version number (i.e.
<code>4.8.0-beta00008</code>)</li>
-</ul>
-</li>
-<li><p>Copy the release notes from the GitHub Releases draft to the new
website release notes page</p>
-<ul>
-<li>Delete the prior information in the current version release notes except
for the header (whether from a prior version or an update)</li>
-<li>Copy and paste the GitHub Releases draft just below the header</li>
-<li>Add the URLs to issues on GitHub. These are the instructions for
Notepad++. Modify as needed if you are using another text editor.
-<ul>
-<li>Find: <code>#(\d+)</code></li>
-<li>Replace with:
<code>[#$1]\(https://github.com/apache/lucenenet/pull/$1\)</code></li>
-<li>Search mode: "regular expression"</li>
-<li>Click "Replace All" and verify the URLs work correctly</li>
-</ul>
-</li>
-</ul>
-</li>
-<li><p>Follow the instructions on how to <a
href="https://lucenenet.apache.org/contributing/documentation.html#website">build,
test & publish the website</a> and run/test the website locally.</p>
-</li>
-<li><p>Commit changes and <a
href="https://lucenenet.apache.org/contributing/documentation.html#website">publish
the website</a>.</p>
-</li>
-</ul>
+<li><p>Review the <a
href="https://github.com/apache/lucenenet/commits/master">master branch commit
history on GitHub</a> to ensure everything looks right.</p>
</li>
<li><p>Add Missing License Headers</p>
<ul>
-<li><p>Run <a href="https://creadur.apache.org/rat/">Apache Release Audit
Tool</a>:</p>
+<li><p>Run the <a href="https://creadur.apache.org/rat/">Apache Release Audit
Tool</a>:</p>
<pre><code class="lang-powershell">dotnet msbuild -t:AuditRelease
</code></pre>
</li>
@@ -223,7 +164,7 @@
</li>
</ul>
</li>
-<li><p>Execute a complete test locally (it can take around 20 minutes, but you
may do the next step in parallel):</p>
+<li><p>Execute a complete test locally (it can take around 40 minutes, but you
may do the next step in parallel):</p>
<pre><code class="lang-powershell">build -pv <packageVersion> -t -mp 10
</code></pre>
<div class="NOTE">
@@ -292,6 +233,114 @@ git push <remote-name (defaults to origin)> master
--tags
<li><p>Check signature of generated artifacts (the
<code>SignReleaseCandidate</code> target above runs the commands)</p>
</li>
</ul>
+<h3 id="create-the-release-notes">Create the Release Notes</h3>
+<h4 id="primer">Primer</h4>
+<p>We have partially automated the release notes through GitHub Releases. They
are driven off of the GitHub Pull Requests and are categorized using labels.
Labeling should be done during the PR review process, but there may need to be
some cleanup by changing the title and/or labels of the PRs in the release.</p>
+<h5 id="labels-that-apply-to-the-release-notes">Labels that Apply to the
Release Notes</h5>
+<table>
+<thead>
+<tr>
+<th>GitHub Label</th>
+<th>Action</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td>notes:ignore</td>
+<td>Removes the PR from the release notes</td>
+</tr>
+<tr>
+<td>notes:breaking-change</td>
+<td>Categorizes the PR under "Breaking Changes"</td>
+</tr>
+<tr>
+<td>notes:new-feature</td>
+<td>Categorizes the PR under "New Features"</td>
+</tr>
+<tr>
+<td>notes:bug-fix</td>
+<td>Categorizes the PR under "Bug Fixes"</td>
+</tr>
+<tr>
+<td>notes:performance-improvement</td>
+<td>Categorizes the PR under "Performance Improvements"</td>
+</tr>
+<tr>
+<td>notes:website-or-documentation</td>
+<td>Categorizes the PR under "Website and API Documentation"</td>
+</tr>
+<tr>
+<td><none of the above></td>
+<td>Categorizes the PR under "Other Changes"</td>
+</tr>
+</tbody>
+</table>
+<div class="NOTE">
+<h5>Note</h5>
+<p>Using multiple labels from the above list is not supported and the first
category in the above list will be used if more than one is applied to a GitHub
pull request.</p>
+</div>
+<h4 id="create-a-draft-github-release">Create a Draft GitHub Release</h4>
+<ul>
+<li><p>Go to the <a
href="https://github.com/apache/lucenenet/releases/new">GitHub New Release</a>
link.</p>
+</li>
+<li><p>Select the tag you previously created in <a
href="#sign-the-release">Sign the Release</a> from the "Choose a tag"
dropdown.</p>
+</li>
+<li><p>For the "Previous tag", select the tag for the prior
release.</p>
+</li>
+<li><p>Click "Generate Release Notes".</p>
+</li>
+</ul>
+<p>The PRs will be listed and categorized in release notes. Review to
ensure:</p>
+<ol>
+<li>The title is clear and understandable to the user what the PR is for.</li>
+<li>The PR is categorized appropriately. Typically "Other Changes"
will be rare.</li>
+</ol>
+<p>If there are PRs that need to be edited, do so now. Then regenerate the
release notes using the above instructions. Repeat until all of the PRs are
categorized appropriately.</p>
+<ul>
+<li><p>Add important release information at the top of the release notes using
the following template. This should include any reason why a user would want to
choose this release over another one, such as important bug and vulnerability
fixes. It should also contain any significant breaking changes that affect
usability.</p>
+<pre><code class="lang-txt">> This release contains <any important
changes that users should be aware of>
+</code></pre>
+<div class="TIP">
+<h5>Tip</h5>
+<p>Click the "Save draft" button frequently during the above updates
to ensure you don't lose them if your browser crashes.</p>
+</div>
+<div class="NOTE">
+<h5>Note</h5>
+<p>Be sure to check the "This is a pre-release" box as
appropriate.</p>
+</div>
+</li>
+<li><p>Click the "Save draft" button when finished.</p>
+</li>
+</ul>
+<h3 id="add-the-release-notes-to-the-website">Add the Release Notes to the
Website</h3>
+<p>Only people with permissions on GitHub will be able to see the draft
release notes. <a
href="https://people.apache.org/phonebook.html?ctte=lucenenet">PMC members</a>
and <a
href="https://people.apache.org/phonebook.html?unix=lucenenet">committers</a>
can have permissions, but only if they set them up themselves. So, we duplicate
the above information on a release notes page that all subscribers of the
[email protected] mailing list can view during the release vote.</p>
+<div class="NOTE">
+<h5>Note</h5>
+<p>If the release notes require updating, don't forget the primary place to
update them are on the GitHub Releases draft page above. It is best to update
that page and then copy the changes from GitHub Releases to the release notes
page on the website, then commit the changes and <a
href="https://lucenenet.apache.org/contributing/documentation.html#website">publish
the website</a> as usual.</p>
+</div>
+<ul>
+<li><p>Create a new release notes page in the
<code>/websites/site/release-notes</code> directory, in most cases it's easiest
to just copy the previous release notes page.</p>
+<ul>
+<li>Ensure the <code>uid</code> in the header is correct</li>
+<li>Update all headers to the release version number (i.e.
<code>4.8.0-beta00008</code>)
+<br>
+<br></li>
+</ul>
+</li>
+<li><p>Copy the release notes from the GitHub Releases draft to the new
website release notes page</p>
+<ul>
+<li>Delete the prior information in the current version release notes except
for the header (whether from a prior version or an update)</li>
+<li>Copy and paste the GitHub Releases draft just below the header</li>
+<li>Ensure any URLs are absolute since relative links will be broken if they
apply to GitHub
+<br>
+<br></li>
+</ul>
+</li>
+<li><p>Follow the instructions on how to <a
href="https://lucenenet.apache.org/contributing/documentation.html#website">build,
test & publish the website</a> and run/test the website locally.</p>
+</li>
+<li><p>Commit changes and <a
href="https://lucenenet.apache.org/contributing/documentation.html#website">publish
the website</a>.</p>
+</li>
+</ul>
<h3 id="add-release-artifacts-to-the-svn-dev-distribution-repository">Add
Release Artifacts to the SVN <code>dev</code> Distribution Repository</h3>
<div class="WARNING">
<h5>Warning</h5>
@@ -414,7 +463,7 @@ Non Binding Votes +1: [3] 0: [0] -1: [0]
<ul>
<li><p>Log the new version at <a
href="https://reporter.apache.org/addrelease.html?lucenenet">https://reporter.apache.org/addrelease.html?lucenenet</a></p>
</li>
-<li><p>Publish the Draft <a
href="https://github.com/apache/lucenenet/releases">GitHub Release</a> that was
<a href="#release-steps">created earlier</a>, updating the tag if necessary</p>
+<li><p>Publish the Draft <a
href="https://github.com/apache/lucenenet/releases">GitHub Release</a> that was
<a href="#create-a-draft-github-release">created earlier</a>, updating the tag
if necessary</p>
</li>
<li><p>Update Website with new release</p>
<ul>
@@ -424,11 +473,21 @@ Non Binding Votes +1: [3] 0: [0] -1: [0]
<p>Only update the version if it's a new stable version.</p>
</div>
</li>
+<li><p>Update the <code>/websites/site/lucenetemplate/.htaccess</code> file to
reflect the <code>latest</code> and <code>absoluteLatest</code> versions.</p>
+<ul>
+<li><code>latest</code> should reflect the current release only if it is not a
pre-release</li>
+<li><code>absoluteLatest</code> should reflect the current release (whether
pre-release or not)
+<br>
+<br></li>
+</ul>
+</li>
<li><p>Create a new release page in the <code>/websites/site/download</code>,
in most cases it's easiest to just copy the previous release page.</p>
<ul>
<li>Ensure the <code>uid</code> in the header is correct</li>
<li>Update all headers, status, release date to be correct</li>
-<li>Ensure supported frameworks and packages section is accurate for the new
release</li>
+<li>Ensure supported frameworks and packages section is accurate for the new
release
+<br>
+<br></li>
</ul>
</li>
<li><p>Add the new release page to the
<code>/websites/site/download/toc.yml</code> file</p>
@@ -443,7 +502,9 @@ Non Binding Votes +1: [3] 0: [0] -1: [0]
</li>
<li><p>Update the API Documentation with new release</p>
<ul>
-<li>Follow the instructions on how to <a
href="https://lucenenet.apache.org/contributing/documentation.html#api-docs">build</a>,
test and <a
href="https://lucenenet.apache.org/contributing/documentation.html#publishing-the-docs">publish</a>
the docs.</li>
+<li>Follow the instructions on how to <a
href="https://lucenenet.apache.org/contributing/documentation.html#api-docs">build</a>,
test and <a
href="https://lucenenet.apache.org/contributing/documentation.html#publishing-the-docs">publish</a>
the docs.
+<br>
+<br></li>
</ul>
</li>
<li><p>Send announcement email 24 hours after the release (to ensure the
mirrors have propagated the download locations)</p>
@@ -482,8 +543,7 @@ The Apache Lucene.NET Team
<h5>Note</h5>
<p>Due to the fact that an Azure Pipeline cannot be re-run with the same
version number and users who reference <code>.nupkg</code> files will have them
in their local <code>.nuget</code> cache, there are 2 choices:</p>
<ol>
-<li>To use the same version number that failed:</li>
-</ol>
+<li>To use the same version number that failed:
<ul>
<li>Create a new Azure DevOps pipeline by copying the settings from the
pipeline named Lucene.NET-Release.</li>
<li>Test the Lucene.NET-Release pipeline thoroughly, using different version
numbers than the one you are releasing.</li>
@@ -491,7 +551,7 @@ The Apache Lucene.NET Team
<li>Delete the tag for this release and recreate it with the same version
number at the appropriate commit.</li>
<li>If the vote has already started, the new release vote email should provide
instructions for removing the previous version from the <code>.nuget</code>
cache to ensure the new release with the same version is the one being
scrutinized.</li>
</ul>
-<ol start="2">
+</li>
<li>To use a new version number, simply re-start the process from the
beginning, copy the release notes from the previous version (both on GitHub and
the website) and follow all of the remaining steps above. Discard the draft
release notes on GitHub when complete.</li>
</ol>
</div>
diff --git a/manifest.json b/manifest.json
index 1bcd58033..0c6262a89 100644
--- a/manifest.json
+++ b/manifest.json
@@ -338,6 +338,26 @@
},
"version": ""
},
+ {
+ "type": "Resource",
+ "source_relative_path": "lucenetemplate/.gitattributes",
+ "output": {
+ "resource": {
+ "relative_path": ".gitattributes"
+ }
+ },
+ "version": ""
+ },
+ {
+ "type": "Resource",
+ "source_relative_path": "lucenetemplate/.htaccess",
+ "output": {
+ "resource": {
+ "relative_path": ".htaccess"
+ }
+ },
+ "version": ""
+ },
{
"type": "Resource",
"source_relative_path": "lucenetemplate/doap_Lucene_Net.rdf",