This is an automated email from the ASF dual-hosted git repository.

aw pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/yetus.git


The following commit(s) were added to refs/heads/main by this push:
     new 95d3be59 YETUS-1042. Post-0.13.0 release docs updates (#258)
95d3be59 is described below

commit 95d3be597f3f18518298f82144c97d967c922317
Author: Allen Wittenauer <[email protected]>
AuthorDate: Mon Apr 25 13:40:02 2022 -0700

    YETUS-1042. Post-0.13.0 release docs updates (#258)
---
 .gitignore                                         |   1 +
 asf-site-src/pom.xml                               |  13 ++-
 asf-site-src/source/contribute/releases.html.md    | 103 +++++++++++----------
 .../documentation/in-progress/precommit/apidocs    |   1 -
 4 files changed, 69 insertions(+), 49 deletions(-)

diff --git a/.gitignore b/.gitignore
index 480fc922..58163492 100644
--- a/.gitignore
+++ b/.gitignore
@@ -20,3 +20,4 @@ publish
 asf-site-src/source/documentation/0*
 asf-site-src/source/documentation/in-progress/CHANGELOG.md
 asf-site-src/source/documentation/in-progress/RELEASENOTES.md
+asf-site-src/source/documentation/in-progress/precommit/apidocs
diff --git a/asf-site-src/pom.xml b/asf-site-src/pom.xml
index ad66a00f..37849883 100644
--- a/asf-site-src/pom.xml
+++ b/asf-site-src/pom.xml
@@ -115,7 +115,7 @@
           <!-- AUTOMATED_EDIT_END -->
           <execution>
             <!-- we create a symlink of current version->in-progress.  This 
will cause
-                 middle man to generate two copies of the output. -->
+                 middleman to generate two copies of the output. -->
             <id>in-progress</id>
             <phase>pre-site</phase>
             <goals>
@@ -126,6 +126,17 @@
               
<newLink>${basedir}/source/documentation/${project.version}</newLink>
             </configuration>
           </execution>
+          <execution>
+            <id>apidocs</id>
+            <phase>pre-site</phase>
+            <goals>
+              <goal>symlink</goal>
+            </goals>
+            <configuration>
+              
<target>../../../../target/in-progress/precommit/apidocs/</target>
+              
<newLink>${basedir}/source/documentation/in-progress/precommit/apidocs</newLink>
+            </configuration>
+          </execution>
         </executions>
       </plugin>
 
diff --git a/asf-site-src/source/contribute/releases.html.md 
b/asf-site-src/source/contribute/releases.html.md
index 515ac6eb..ed7603dc 100644
--- a/asf-site-src/source/contribute/releases.html.md
+++ b/asf-site-src/source/contribute/releases.html.md
@@ -24,6 +24,7 @@
 
 - [Dependencies](#dependencies)
 - [Setup](#setup)
+- [Verify Changelog and Release Notes](#verify-changelog-and-release-notes)
 - [Release Candidate\(s\)](#release-candidates)
 - [Verification](#verification)
 - [Cleanup](#cleanup)
@@ -112,7 +113,8 @@ Like the rest of our project activity, we'll use an issue 
in JIRA to track manag
 
 ### Work in Git
 
-Once you have an issue to track things, you can create the git branch for 
staging our release. This separate branch will allow you to polish the release 
while regular work continues on the main branch. For non-micro releases, you 
will need to update main for the next SNAPSHOT version and the branch for the 
release.
+Once you have an issue to track things, git branches will be needed in order 
to make the necessary
+PRs.  A script is provided to make this easier:
 
 - Major Release:
 
@@ -134,18 +136,28 @@ Once you have an issue to track things, you can create 
the git branch for stagin
 
 These commands will create one or two branches:
 
-- JIRA-release with updated poms that match the release you are working on
-- JIRA-main with updated poms that match the next SNAPSHOT release
+- _JIRA_-release with updated poms that match the release you are working on
+- _JIRA_-main with updated poms that match the next SNAPSHOT release
 
-Verify these branches are correct and create the necessary PRs.  Once 
approved, merge to their respective branches.
+Verify the automated commits to these branches are correct and create the 
necessary PRs.
+Once Apache Yetus checks finish, merge to their respective branches. (You do 
not need approval.)
+
+## Verify Changelog and Release Notes
+
+Before starting work on the release candidate, it is generally a good idea to 
look over
+the changelog and release notes.  These files are part of our distribution and 
if they
+are incorrect, will require a new RC. Therefore, before cutting a new release, 
make sure
+they do not have errors or missing information.  The easiest way to do this 
check is to
+run through the [website](../website) directions to update the live website. 
After doing
+that work, they should be listed [here](/downloads/releasenotes/) as the top 
entry.
 
 ## Release Candidate(s)
 
 Depending on how candidate evaluation goes, you may end up performing these 
steps multiple times. Before you start, you'll need to decide when you want 
each candidate's vote thread to end. ASF policy requires a minimum voting 
period of 72 hours (ref [ASF Voting 
Policy](https://www.apache.org/foundation/voting.html)), so you should ensure 
enough padding to complete the candidate generation process in time. Ideally, 
you would plan to post the vote thread on a Friday morning (US time) with  [...]
 
-1. Update JIRA version release date. Browse to the JIRA project version 
management page 
<https://issues.apache.org/jira/plugins/servlet/project-config/YETUS/versions>, 
mark the version as 'Release', and set the release date. Our generated release 
notes will use this date.
+1. Update JIRA version release date. Browse to the JIRA project version 
management page 
<https://issues.apache.org/jira/plugins/servlet/project-config/YETUS/versions>, 
mark the version as 'Release', and set the release date. Our generated release 
notes will use this date. Note that this will close the version and no one will 
be able to assign new JIRA issues to it.  However it is required for the 
`build-and-sign` step below.
 1. Update your `${HOME}/.m2/settings.xml` file to include the Maven snapshot 
information as indicated on 
<https://www.apache.org/dev/publishing-maven-artifacts.html>
-1. Build release artifacts. Run the following from the _release staging 
branch_ created by the `release/initial-patches.sh` script and run these 
commands:
+1. Build release artifacts. Run the following from the _release staging 
branch_ (`JIRA-release`) created by the `release/initial-patches.sh` script and 
run these commands:
 
    ```bash
    $ git checkout YETUS-XXX-release
@@ -155,11 +167,12 @@ Depending on how candidate evaluation goes, you may end 
up performing these step
    $ ls -lah yetus-dist/target/artifacts/*
    ```
 
+1. Before exiting the container, peruse the `/tmp/build-log` directory to see 
if any relevant errors occurred.
 1. Exit the container.
 1. Check out the staging area for release candidates and make a directory for 
this candidate, somewhere outside of your working directory. Copy the artifacts 
from the previous step into place. For example, when working on RC1 for the 
0.7.0 release
 
    ```bash
-   $ svn co `https://dist.apache.org/repos/dist/dev/yetus/` yetus-dist-dev
+   $ svn co https://dist.apache.org/repos/dist/dev/yetus/ yetus-dist-dev
    $ cd yetus-dist-dev
    $ mkdir 0.7.0-RC1
    $ cd 0.7.0-RC1
@@ -288,13 +301,13 @@ ASF policies require that binding votes on releases be 
cast only after verifying
    - Our software may only have a runtime dependency on a product with a 
prohibit license if its use is optional; read [the Licensing Policy's Category 
X list for prohibited 
licenses](https://www.apache.org/legal/resolved#category-x) and [the Licensing 
Policy's explanation of optional runtime 
dependencies](https://www.apache.org/legal/resolved#optional).
 1. You SHOULD make sure the source release artifact corresponds to the 
referenced commit hash in the [VOTE] thread. (This ASF policy is currently in 
DRAFT status.) The release tag is how we'll provide long-term provenance 
information for our downstream users. Since the release's source code artifact 
will be the canonical representation of the release we vote on, it is essential 
that it matches the contents of the version control system's tag. Given our 
example above, you can check this w [...]
 
+    NOTE: The `maven` plug-in that we use does not include some git control 
files like `.gitignore` and `.gitattributes`.  Additionally, it adds a 
`DEPENDENCIES` file.
+
    ```bash
    $ mkdir apache-yetus-0.7.0-src_unpack
    $ tar -C apache-yetus-0.7.0-src_unpack -xzf apache-yetus-0.7.0-src.tar.gz
    $ git clone --single-branch --depth=1 --branch YETUS-585 
'https://github.com/apache/yetus.git' apache-yetus-0.7.0-RC1-tag
-   $ diff -r apache-yetus-0.7.0-RC1-tag 
apache-yetus-0.7.0-src_unpack/yetus-project-0.7.0
-   $ echo $?
-   0
+   $ diff -r apache-yetus-0.7.0-RC1-tag 
apache-yetus-0.7.0-src_unpack/apache-yetus-0.7.0
    ```
 
 1. You MUST make sure any non-source artifacts can be derived from the source 
artifact. Since the source artifact is the canonical representation of our 
release, any other artifacts we distribute must be just for the convenience of 
our downstream users. As such, one must be able to derive them from the source 
artifact. Currently, you can generate all of the artifacts we distribute for 
convenience using the same commands used to create the release artifacts.
@@ -302,7 +315,7 @@ ASF policies require that binding votes on releases be cast 
only after verifying
    ```bash
    $ mkdir apache-yetus-0.7.0-src_unpack
    $ tar -C apache-yetus-0.7.0-src_unpack -xzf apache-yetus-0.7.0-src.tar.gz
-   $ cd apache-yetus-0.7.0-src_unpack/yetus-project-0.7.0
+   $ cd apache-yetus-0.7.0-src_unpack/apache-yetus-0.7.0
    $ mvn clean install
    ```
 
@@ -434,6 +447,25 @@ Once a release candidate obtains majority approval from 
the PMC, there are sever
 
 ### Core Release Tasks
 
+1. Update the documentation in the git main branch for the new release.  
Remove the oldest release and add the latest.
+
+   ```bash
+   $ release/update-doc-versions.sh --version=<x.y.z -- version WITHOUT the 
rel/!>
+   $ git add -p
+   $ git add asf-site-src/pom.xml
+   $ git commit
+   ```
+
+   - Example commit message:
+
+   ```text
+   YETUS-XXX. add release 0.7.0.
+
+   - list in releases
+   - remove 0.4.0, add 0.7.0 to pom.xml
+   ```
+
+1. Commit the patch to the ASF source repo immediately, but do not update the 
website just yet.
 1. Create shortcut links to the vote thread (e.g., 
<https://s.apache.org/yetus-0.7.0-rc1-vote>) and the result (e.g., 
<https://s.apache.org/yetus-0.7.0-vote-passes>) that point to the archives on 
mail-archives.apache.org.  Be aware that it may take several hours for the 
archive to get the posts that need to be referenced.
 1. Produce a signed release tag. You should create a signed tag and push it to 
the asf repo. The tag's message should include ASF-shortened links to the vote 
and results. It should be named 'rel/_version_' so that it will be immutable 
due to ASF infra's git configuration. Presuming we're working on the 0.7.0 
release and the RC1 example above has passed:
 
@@ -457,7 +489,6 @@ Once a release candidate obtains majority approval from the 
PMC, there are sever
         $ cp path/to/yetus-dist-dev/0.7.0-RC1/* 0.7.0
         $ svn add 0.7.0
         $ svn commit -m "Publish Apache Yetus 0.7.0"
-    It may take up to 24 hours for the artifacts to make their way to the 
various mirrors. You should not announce the release until after this period.
 1. Add the release to the ASF reporter tool. To make our project reports for 
the ASF Board easier, you should include the release in the [Apache Committee 
Report Helper website](https://reporter.apache.org/addrelease.html?yetus). Be 
sure to use the date release artifacts first were pushed to the distribution 
area, which should be the same release date as in JIRA. Note that this website 
is only available to PMC members. If you are not yet in the PMC, please ask 
them to add the release inf [...]
 1. Remove candidates from the staging area. Once you have moved the artifacts 
into the distribution area, they no longer need to be in the staging area and 
should be cleaned up as a courtesy to future release managers.
 
@@ -552,37 +583,16 @@ Once a release candidate obtains majority approval from 
the PMC, there are sever
         Meg Smith
         Apache Yetus PMC
     If you'd like feedback on the draft, feel free to post it for review on 
your release issue.
-1. Wait 24 hours for mirrors to get properly updated.
+1. Wait 24 hours for mirrors to get properly updated before continuing.
 
 ### Documentation
 
-1. Update the documentation in the git main branch for the new release.  
Remove the oldest release and add the latest.
-
-   ```bash
-   $ release/update-doc-versions.sh --version=<x.y.z -- version WITHOUT the 
rel/!>
-   $ git add -p
-   $ git add asf-site-src/pom.xml
-   $ git commit
-   ```
-
-   - Example commit message:
-
-   ```text
-   YETUS-XXX. add release 0.7.0.
-
-   - list in releases
-   - remove 0.4.0, add 0.7.0 to pom.xml
-   ```
-
-1. You should then post this patch for review. Once you've gotten feedback, 
it's fine to push the patch to the ASF source repo immediately so long as the 
updated website is not published.
-1. 24 hours after the distribution repo has been updated, publish website 
updates. See [Maintaining the Yetus Website](../website).
+1. Publish website updates. See [Maintaining the Yetus Website](../website).
 1. Verify that https://yetus.apache.org/latest.tgz and 
https://yetus.apache.org/latest.tgz.asc download the newly released version.
 
 ### Homebrew
 
-24 Hours after the distribution repo has been updated, update Homebrew to 
point to the new release:
-
-1. Update the `yetus-homebrew` repo by using the release script:
+1. Update the `yetus-homebrew` repo by using the release script. It will tag 
_and sign_ (so GPG needs to work!) the top of the tree to point to the release. 
(Homebrew only uses top of tree, so branches are pointless.)
 
   ```bash
   $ ./release.sh YETUS-XXX <x.y.z -- version WITHOUT the rel/!>
@@ -601,31 +611,30 @@ Once a release candidate obtains majority approval from 
the PMC, there are sever
 
 ### Github Marketplace Action
 
-24 Hours after the distribution repo has been updated, update the Github 
Marketplace.
-
-1. Update the `yetus-test-patch-action` repo by using the release script to 
create a branch which will then tag that branch:
+1. Verify that the [Github Container 
Registry](https://github.com/orgs/apache/packages?repo_name=yetus) has both 
repositories updated with the tagged release.
+1. Update the `yetus-test-patch-action` repo by using the release script to 
create a branch which will then tag _and sign_ (so GPG needs to work!) that 
branch:
 
   ```bash
   $ ./release.sh YETUS-XXX <x.y.z -- version WITHOUT the rel/!>
   ```
 
 1. Verify the branch and the tag match and that the container version matches 
the Apache Yetus release.
+1. Push the branch:
+
+  ```bash
+  $ git push origin x.y.z
+  ```
+
+1. Verify that the tag built in Github Actions.
 1. Go to [Draft a 
release](https://github.com/aw-was-here/yetus-test-patch-action/releases/new?marketplace=true)
 1. Type the tag that you just pushed into the 'tag' box.
 1. Use categories 'Code quality' and 'Continuous integration'
 1. Release Title should reflect the version
-1. Describe this release should be a cut-down version of the announcement 
email (drop SHA and direct download links. main page, github actions, and 
release notes should be mentioned)
+1. Describe this release should be a cut-down version of the announcement 
email (drop SHA and direct download links. main page, github actions, and 
release notes should be mentioned). See 
[Releases](https://github.com/apache/yetus-test-patch-action/releases) for 
examples.
 1. Mark 'This is a pre-release'
 1. Verify everything looks good.
 1. Publish release
 
 ### Make it Official
 
-1. Did you wait 24 hours for the release artifacts to get everywhere?
 1. Send announcement emails. The email should come from your apache.org email 
address and at a minimum should go to the [email protected] list. For 
details see [the ASF Release Policy section How Should Releases Be 
Announced?](https://www.apache.org/dev/release.html#release-announcements). 
Additionally, you may want to send the announcement to the development lists of 
downstream projects we know are using Yetus components.
-1. Send tweet. Once the message to [email protected] has made it to the 
public archive, you should draft a tweet with a link to the announcement. You 
should use the ASF link shortener and a descriptive name. For example, the 
0.7.0 release could use
-
-        Apache Yetus 0.7.0 has been released:
-
-        https://s.apache.org/yetus-0.7.0-announce
-    This tweet should come from the official 
[@ApacheYetus](https://twitter.com/ApacheYetus/) account. Currently, only PMC 
members have access to it. If you are not yet on the PMC, please ask for the 
PMC to post the tweet once your email is available in the archives.
diff --git a/asf-site-src/source/documentation/in-progress/precommit/apidocs 
b/asf-site-src/source/documentation/in-progress/precommit/apidocs
deleted file mode 120000
index 38e80e1b..00000000
--- a/asf-site-src/source/documentation/in-progress/precommit/apidocs
+++ /dev/null
@@ -1 +0,0 @@
-../../../../target/in-progress/precommit/apidocs/
\ No newline at end of file

Reply via email to