You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@opennlp.apache.org by GitBox <gi...@apache.org> on 2023/01/03 11:55:57 UTC

[GitHub] [opennlp-site] rzo1 opened a new pull request, #78: OPENNLP-1433 - Document how to do model releases

rzo1 opened a new pull request, #78:
URL: https://github.com/apache/opennlp-site/pull/78

   First draft of the model release documentation. Happy to get some feedback regarding wording / grammer / content, etc.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: dev-unsubscribe@opennlp.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [opennlp-site] rzo1 merged pull request #78: OPENNLP-1433 - Document how to do model releases

Posted by GitBox <gi...@apache.org>.
rzo1 merged PR #78:
URL: https://github.com/apache/opennlp-site/pull/78


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: dev-unsubscribe@opennlp.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [opennlp-site] rzo1 commented on a diff in pull request #78: OPENNLP-1433 - Document how to do model releases

Posted by GitBox <gi...@apache.org>.
rzo1 commented on code in PR #78:
URL: https://github.com/apache/opennlp-site/pull/78#discussion_r1060825742


##########
src/main/jbake/content/release-model.ad:
##########
@@ -0,0 +1,255 @@
+////
+   Licensed to the Apache Software Foundation (ASF) under one
+   or more contributor license agreements.  See the NOTICE file
+   distributed with this work for additional information
+   regarding copyright ownership.  The ASF licenses this file
+   to you under the Apache License, Version 2.0 (the
+   "License"); you may not use this file except in compliance
+   with the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing,
+   software distributed under the License is distributed on an
+   "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+   KIND, either express or implied.  See the License for the
+   specific language governing permissions and limitations
+   under the License.
+////
+= Making a model release
+:jbake-type: page
+:jbake-tags: building
+:jbake-status: published
+:idprefix:
+
+## Release Preparation
+
+- Elect a release manager.
+- Create a ticket for a new model release in JIRA. If you do not have permission to do so just ask to be given permissions on the mailing list.
+
+## Steps for the Release Manager
+
+The following steps need only to be performed once.
+
+- Make sure you have your PGP key entered into https://id.apache.org/.
+  Your KEYS will then be present in https://people.apache.org/keys/group/opennlp.asc.
+- Make sure you have your PGP keys password.
+- Add your PGP key to the KEYS file:
+----
+Examples of adding your key to this file:
+ pgp -kxa <your name> and append it to this file.
+ (pgpk -ll <your name> && pgpk -xa <your name>) >> this file.
+ (gpg --list-sigs <your name>
+     && gpg --armor --export <your name>) >> this file.
+----
+- In a local temp folder, svn checkout the OpenNLP artifacts and update the KEYS file
+----
+svn co https://dist.apache.org/repos/dist/release/opennlp/
+svn commit -m "Added Key for <name>" KEYS
+----
+
+## Release Steps
+
+- Train the models
+- Make sure to save the evaluation log for every model (adhere to the naming conventions, see below).
+- ZIP the evaluation logs.
+
+### Successful Model Release Preparation
+
+#### Perform the Model Release
+
+- Create sha512 checksums
+
+----
+# cd to model location
+for f in *; do   sha512sum "$f" > "$f.sha512"; done
+----
+
+- Create PGP signatures, see https://infra.apache.org/release-signing.html[for details].
+If you have multiple keys on your system, you might need to use `-u` to select the signing key.
+
+----
+# cd to model location
+# create asc signatures for model files
+for f in *.bin; do
+gpg --armor --output $f.asc --detach-sig $f
+done
+
+# create asc signature for evaluation logs
+for f in *.zip; do
+gpg --armor --output $f.asc --detach-sig $f
+done
+----
+
+- Add README, NOTICE, LICENSE and CHANGES (if any)
+
+- Create a folder in `dist/dev/models` in SVN
+
+----
+svn co https://dist.apache.org/repos/dist/dev/opennlp/ dist-dev
+# check if the KEYS file contains your key, if not, update it
+# copy the models and signatures to dist-dev/models/<MODEL_TYPE>-<MODEL_VERSION>
+svn commit --username <username> -m "Adding Release Candidate for OpenNLP Models <version>"
+----
+
+Check the dist/dev folder and if all looks well, open a VOTE but do *not* move the files to dist/release at this time.
+
+Make sure to adhere to the model naming conventions.
+
+#### Model Naming Conventions
+
+- The filenames of each model signify the model language, type, https://universaldependencies.org/[Universal Dependency training data used], and version numbers.
+- The filename format is `opennlp-[iso-language-code]-ud-[corpus]-[model-type]-[model-version]-[opennlp-version-used-for-training].bin`.
+- The evaluation logs must be zipped and adhere to the following format: `opennlp-training-eval-logs-[model-version]-[opennlp-version-used-for-training].zip`. It contains the evaluation logs for trained models.
+- For example, the model file `opennlp-de-ud-gsd-pos-1.0-1.9.3` is German language, trained on the UD GSD corpus, and is a parts-of-speech model. It is version 1.0 of the model, and it was trained using OpenNLP 1.9.3.
+
+
+**Note:** If other training data is used, the abbreviation `ud` needs to be adjusted!
+
+#### Check the Model Release Artifacts
+
+Perform basic checks against the release binary:
+
+- Check signature of generated artifacts.
+- Check presence and appropriateness of `LICENSE`, `NOTICE`, and `README` files.
+
+#### Create a VOTE Thread
+
+- Notify the developer mailing list of a new model vote. Be sure to replace all values in `[]` with the appropriate values.
+
+Message Subject: [VOTE] Apache OpenNLP Models [version] Release Candidate
+
+----
+Hi folks,
+
+I have posted a [Nth] release candidate for the Apache OpenNLP Models [UMODEL_VERSION] release and it is ready for testing.
+
+The models can be downloaded from: https://dist.apache.org/repos/dist/dev/opennlp/<MODEL_TYPE>-<MODEL_VERSION>
+
+The evaluation logs can be downloaded from https://dist.apache.org/repos/dist/dev/opennlp/<MODEL_TYPE>-<MODEL_VERSION>/opennlp-training-eval-logs-<MODEL_VERSION>-<OPENNLP_VERSION>.zip
+
+The models were trained with Apache OpenNLP [VERSION] tag.
+
+The release was made using the OpenNLP release process, documented on the website:
+https://opennlp.apache.org/release-model.html
+
+Please vote on releasing these models as Apache OpenNLP Models [MODEL_VERSION]. The vote is open for at least the next 72 hours.
+
+Only votes from OpenNLP PMC are binding, but everyone is welcome to check the model release candidate and vote.
+The vote passes if at least three binding +1 votes are cast.
+
+[ ] +1 Release the models as Apache OpenNLP Models [MODEL_VERSION]
+[ ] +0 meh, don't care
+[ ] -1 Do not release the models because of ${showstopper}
+
+Thanks!
+----
+
+## After a Successful Vote
+
+The vote is successful if at least 3 +1 votes are received from OpenNLP PMC members after a minimum of 72 hours of sending the vote email.
+Acknowledge the voting results on the mailing list in the VOTE thread.
+
+### Commit Distribution to SVN
+
+Commit the distribution via SVN to https://dist.apache.org/repos/dist/release:
+
+----
+svn co https://dist.apache.org/repos/dist/release/opennlp/ dist
+# check if the KEYS file contains your key, if not, update it
+# move the files from dev/models/<MODEL_TYPE>-<MODEL_VERSION> to dist/models/<MODEL_TYPE>-<MODEL_VERSION>
+svn commit --username <username> -m "Adding OpenNLP Models <version>"
+----
+
+### Delete Old Model Release(s)
+
+To reduce the load on the ASF mirrors, projects are required to delete old releases (see https://www.apache.org/legal/release-policy.html#when-to-archive).
+
+Remove the old model release from SVN under https://dist.apache.org/repos/dist/release/opennlp/models/. They are still contained in the archives.
+
+### Update the Website
+
+Update the  https://opennlp.apache.org/models.html[website] once the new version appears in the Apache download mirrors (keep checking https://www.apache.org/dyn/closer.cgi/opennlp/models/ until you see something).
+
+#### Add News Item
+
+- Add a news item in `news/model-{model-type}-{xyz}.ad` by copying the adjusted content:
+
+----
+= <MODEL_TYPE> Models for Apache OpenNLP released
+Apache OpenNLP
+2022-01-03
+:jbake-type: post
+:jbake-tags: community
+:jbake-status: published
+:category: news
+:idprefix:
+
+The Apache OpenNLP library is a machine learning based toolkit for the processing of natural language text.
+
+The Apache OpenNLP team is pleased to announce the release of <MODEL_TYPE>-<MODEL_VERSION> for Apache OpenNLP <OPENNLP_VERSION>.
+The models can <ADD_SUMMARY_HERE>
+
+Apache OpenNLP model and reports are available for download from our model download page:
+http://opennlp.apache.org/models.html
+
+The models are compatible with Apache OpenNLP <OPENNLP_VERSION>.
+
+More information about this release can be found in the README.txt at:
+https://dist.apache.org/repos/dist/dev/opennlp/<MODEL_TYPE>-<MODEL_VERSION>/README.txt
+
+Details about this model effectiveness can be found in the following report:
+https://dist.apache.org/repos/dist/dev/opennlp/<MODEL_TYPE>-<MODEL_VERSION>/opennlp-training-eval-logs-<MODEL_VERSION>-<OPENNLP_VERSION>.zip
+
+--The Apache OpenNLP Team
+----
+
+#### Commit Website Changes.
+
+- Commit the website changes.
+- Rebuild opennlp-site and wait for site redeploy
+- Test and review the website. Test that all download links are working.
+
+### Post-Release Steps
+
+- Log the new version at https://reporter.apache.org/addrelease.html?opennlp.
+- Announce the new models on the OpenNLP Twitter.

Review Comment:
   @jzonthemtn Do you know sth about the credentials? ;-) Perhaps available in the PMC SVN repo?



##########
src/main/jbake/content/release-model.ad:
##########
@@ -0,0 +1,255 @@
+////
+   Licensed to the Apache Software Foundation (ASF) under one
+   or more contributor license agreements.  See the NOTICE file
+   distributed with this work for additional information
+   regarding copyright ownership.  The ASF licenses this file
+   to you under the Apache License, Version 2.0 (the
+   "License"); you may not use this file except in compliance
+   with the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing,
+   software distributed under the License is distributed on an
+   "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+   KIND, either express or implied.  See the License for the
+   specific language governing permissions and limitations
+   under the License.
+////
+= Making a model release
+:jbake-type: page
+:jbake-tags: building
+:jbake-status: published
+:idprefix:
+
+## Release Preparation
+
+- Elect a release manager.
+- Create a ticket for a new model release in JIRA. If you do not have permission to do so just ask to be given permissions on the mailing list.
+
+## Steps for the Release Manager
+
+The following steps need only to be performed once.
+
+- Make sure you have your PGP key entered into https://id.apache.org/.
+  Your KEYS will then be present in https://people.apache.org/keys/group/opennlp.asc.
+- Make sure you have your PGP keys password.
+- Add your PGP key to the KEYS file:
+----
+Examples of adding your key to this file:
+ pgp -kxa <your name> and append it to this file.
+ (pgpk -ll <your name> && pgpk -xa <your name>) >> this file.
+ (gpg --list-sigs <your name>
+     && gpg --armor --export <your name>) >> this file.
+----
+- In a local temp folder, svn checkout the OpenNLP artifacts and update the KEYS file
+----
+svn co https://dist.apache.org/repos/dist/release/opennlp/
+svn commit -m "Added Key for <name>" KEYS
+----
+
+## Release Steps
+
+- Train the models
+- Make sure to save the evaluation log for every model (adhere to the naming conventions, see below).
+- ZIP the evaluation logs.
+
+### Successful Model Release Preparation
+
+#### Perform the Model Release
+
+- Create sha512 checksums
+
+----
+# cd to model location
+for f in *; do   sha512sum "$f" > "$f.sha512"; done
+----
+
+- Create PGP signatures, see https://infra.apache.org/release-signing.html[for details].
+If you have multiple keys on your system, you might need to use `-u` to select the signing key.
+
+----
+# cd to model location
+# create asc signatures for model files
+for f in *.bin; do
+gpg --armor --output $f.asc --detach-sig $f
+done
+
+# create asc signature for evaluation logs
+for f in *.zip; do
+gpg --armor --output $f.asc --detach-sig $f
+done
+----
+
+- Add README, NOTICE, LICENSE and CHANGES (if any)
+
+- Create a folder in `dist/dev/models` in SVN
+
+----
+svn co https://dist.apache.org/repos/dist/dev/opennlp/ dist-dev
+# check if the KEYS file contains your key, if not, update it
+# copy the models and signatures to dist-dev/models/<MODEL_TYPE>-<MODEL_VERSION>
+svn commit --username <username> -m "Adding Release Candidate for OpenNLP Models <version>"
+----
+
+Check the dist/dev folder and if all looks well, open a VOTE but do *not* move the files to dist/release at this time.
+
+Make sure to adhere to the model naming conventions.
+
+#### Model Naming Conventions
+
+- The filenames of each model signify the model language, type, https://universaldependencies.org/[Universal Dependency training data used], and version numbers.
+- The filename format is `opennlp-[iso-language-code]-ud-[corpus]-[model-type]-[model-version]-[opennlp-version-used-for-training].bin`.
+- The evaluation logs must be zipped and adhere to the following format: `opennlp-training-eval-logs-[model-version]-[opennlp-version-used-for-training].zip`. It contains the evaluation logs for trained models.
+- For example, the model file `opennlp-de-ud-gsd-pos-1.0-1.9.3` is German language, trained on the UD GSD corpus, and is a parts-of-speech model. It is version 1.0 of the model, and it was trained using OpenNLP 1.9.3.
+
+
+**Note:** If other training data is used, the abbreviation `ud` needs to be adjusted!
+
+#### Check the Model Release Artifacts
+
+Perform basic checks against the release binary:
+
+- Check signature of generated artifacts.
+- Check presence and appropriateness of `LICENSE`, `NOTICE`, and `README` files.
+
+#### Create a VOTE Thread
+
+- Notify the developer mailing list of a new model vote. Be sure to replace all values in `[]` with the appropriate values.
+
+Message Subject: [VOTE] Apache OpenNLP Models [version] Release Candidate
+
+----
+Hi folks,
+
+I have posted a [Nth] release candidate for the Apache OpenNLP Models [UMODEL_VERSION] release and it is ready for testing.
+
+The models can be downloaded from: https://dist.apache.org/repos/dist/dev/opennlp/<MODEL_TYPE>-<MODEL_VERSION>
+
+The evaluation logs can be downloaded from https://dist.apache.org/repos/dist/dev/opennlp/<MODEL_TYPE>-<MODEL_VERSION>/opennlp-training-eval-logs-<MODEL_VERSION>-<OPENNLP_VERSION>.zip
+
+The models were trained with Apache OpenNLP [VERSION] tag.
+
+The release was made using the OpenNLP release process, documented on the website:
+https://opennlp.apache.org/release-model.html
+
+Please vote on releasing these models as Apache OpenNLP Models [MODEL_VERSION]. The vote is open for at least the next 72 hours.
+
+Only votes from OpenNLP PMC are binding, but everyone is welcome to check the model release candidate and vote.
+The vote passes if at least three binding +1 votes are cast.
+
+[ ] +1 Release the models as Apache OpenNLP Models [MODEL_VERSION]
+[ ] +0 meh, don't care
+[ ] -1 Do not release the models because of ${showstopper}
+
+Thanks!
+----
+
+## After a Successful Vote
+
+The vote is successful if at least 3 +1 votes are received from OpenNLP PMC members after a minimum of 72 hours of sending the vote email.
+Acknowledge the voting results on the mailing list in the VOTE thread.
+
+### Commit Distribution to SVN
+
+Commit the distribution via SVN to https://dist.apache.org/repos/dist/release:
+
+----
+svn co https://dist.apache.org/repos/dist/release/opennlp/ dist
+# check if the KEYS file contains your key, if not, update it
+# move the files from dev/models/<MODEL_TYPE>-<MODEL_VERSION> to dist/models/<MODEL_TYPE>-<MODEL_VERSION>
+svn commit --username <username> -m "Adding OpenNLP Models <version>"
+----
+
+### Delete Old Model Release(s)
+
+To reduce the load on the ASF mirrors, projects are required to delete old releases (see https://www.apache.org/legal/release-policy.html#when-to-archive).
+
+Remove the old model release from SVN under https://dist.apache.org/repos/dist/release/opennlp/models/. They are still contained in the archives.
+
+### Update the Website
+
+Update the  https://opennlp.apache.org/models.html[website] once the new version appears in the Apache download mirrors (keep checking https://www.apache.org/dyn/closer.cgi/opennlp/models/ until you see something).
+
+#### Add News Item
+
+- Add a news item in `news/model-{model-type}-{xyz}.ad` by copying the adjusted content:
+
+----
+= <MODEL_TYPE> Models for Apache OpenNLP released
+Apache OpenNLP
+2022-01-03
+:jbake-type: post
+:jbake-tags: community
+:jbake-status: published
+:category: news
+:idprefix:
+
+The Apache OpenNLP library is a machine learning based toolkit for the processing of natural language text.
+
+The Apache OpenNLP team is pleased to announce the release of <MODEL_TYPE>-<MODEL_VERSION> for Apache OpenNLP <OPENNLP_VERSION>.
+The models can <ADD_SUMMARY_HERE>
+
+Apache OpenNLP model and reports are available for download from our model download page:
+http://opennlp.apache.org/models.html

Review Comment:
   done



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: dev-unsubscribe@opennlp.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [opennlp-site] rzo1 commented on a diff in pull request #78: OPENNLP-1433 - Document how to do model releases

Posted by GitBox <gi...@apache.org>.
rzo1 commented on code in PR #78:
URL: https://github.com/apache/opennlp-site/pull/78#discussion_r1060825129


##########
src/main/jbake/content/release-model.ad:
##########
@@ -0,0 +1,255 @@
+////
+   Licensed to the Apache Software Foundation (ASF) under one
+   or more contributor license agreements.  See the NOTICE file
+   distributed with this work for additional information
+   regarding copyright ownership.  The ASF licenses this file
+   to you under the Apache License, Version 2.0 (the
+   "License"); you may not use this file except in compliance
+   with the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing,
+   software distributed under the License is distributed on an
+   "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+   KIND, either express or implied.  See the License for the
+   specific language governing permissions and limitations
+   under the License.
+////
+= Making a model release
+:jbake-type: page
+:jbake-tags: building
+:jbake-status: published
+:idprefix:
+
+## Release Preparation
+
+- Elect a release manager.
+- Create a ticket for a new model release in JIRA. If you do not have permission to do so just ask to be given permissions on the mailing list.
+
+## Steps for the Release Manager
+
+The following steps need only to be performed once.
+
+- Make sure you have your PGP key entered into https://id.apache.org/.
+  Your KEYS will then be present in https://people.apache.org/keys/group/opennlp.asc.

Review Comment:
   Keys are only managed via SVN / CDN via dist/release nowadays, see https://people.apache.org/keys/ - see Issue [OPENNLP-1438](https://issues.apache.org/jira/browse/OPENNLP-1438) for updating `release.ad`. 



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: dev-unsubscribe@opennlp.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [opennlp-site] jzonthemtn commented on pull request #78: OPENNLP-1433 - Document how to do model releases

Posted by GitBox <gi...@apache.org>.
jzonthemtn commented on PR #78:
URL: https://github.com/apache/opennlp-site/pull/78#issuecomment-1371194655

   @rzo1 I think it captures everything. Thanks for writing this up. We can always update it as we go if we find things along the way.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: dev-unsubscribe@opennlp.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [opennlp-site] rzo1 commented on a diff in pull request #78: OPENNLP-1433 - Document how to do model releases

Posted by GitBox <gi...@apache.org>.
rzo1 commented on code in PR #78:
URL: https://github.com/apache/opennlp-site/pull/78#discussion_r1060566012


##########
src/main/jbake/content/release-model.ad:
##########
@@ -0,0 +1,255 @@
+////
+   Licensed to the Apache Software Foundation (ASF) under one
+   or more contributor license agreements.  See the NOTICE file
+   distributed with this work for additional information
+   regarding copyright ownership.  The ASF licenses this file
+   to you under the Apache License, Version 2.0 (the
+   "License"); you may not use this file except in compliance
+   with the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing,
+   software distributed under the License is distributed on an
+   "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+   KIND, either express or implied.  See the License for the
+   specific language governing permissions and limitations
+   under the License.
+////
+= Making a model release
+:jbake-type: page
+:jbake-tags: building
+:jbake-status: published
+:idprefix:
+
+## Release Preparation
+
+- Elect a release manager.
+- Create a ticket for a new model release in JIRA. If you do not have permission to do so just ask to be given permissions on the mailing list.
+
+## Steps for the Release Manager
+
+The following steps need only to be performed once.
+
+- Make sure you have your PGP key entered into https://id.apache.org/.
+  Your KEYS will then be present in https://people.apache.org/keys/group/opennlp.asc.
+- Make sure you have your PGP keys password.
+- Add your PGP key to the KEYS file:
+----
+Examples of adding your key to this file:
+ pgp -kxa <your name> and append it to this file.
+ (pgpk -ll <your name> && pgpk -xa <your name>) >> this file.
+ (gpg --list-sigs <your name>
+     && gpg --armor --export <your name>) >> this file.
+----
+- In a local temp folder, svn checkout the OpenNLP artifacts and update the KEYS file
+----
+svn co https://dist.apache.org/repos/dist/release/opennlp/
+svn commit -m "Added Key for <name>" KEYS
+----
+
+## Release Steps
+
+- Train the models
+- Make sure to save the evaluation log for every model (adhere to the naming conventions, see below).
+- ZIP the evaluation logs.
+
+### Successful Model Release Preparation
+
+#### Perform the Model Release
+
+- Create sha512 checksums
+
+----
+# cd to model location
+for f in *; do   sha512sum "$f" > "$f.sha512"; done
+----
+
+- Create PGP signatures, see https://infra.apache.org/release-signing.html[for details].
+If you have multiple keys on your system, you might need to use `-u` to select the signing key.
+
+----
+# cd to model location
+# create asc signatures for model files
+for f in *.bin; do
+gpg --armor --output $f.asc --detach-sig $f
+done
+
+# create asc signature for evaluation logs
+for f in *.zip; do
+gpg --armor --output $f.asc --detach-sig $f
+done
+----
+
+- Add README, NOTICE, LICENSE and CHANGES (if any)
+
+- Create a folder in `dist/dev/models` in SVN
+
+----
+svn co https://dist.apache.org/repos/dist/dev/opennlp/ dist-dev
+# check if the KEYS file contains your key, if not, update it
+# copy the models and signatures to dist-dev/models/<MODEL_TYPE>-<MODEL_VERSION>
+svn commit --username <username> -m "Adding Release Candidate for OpenNLP Models <version>"
+----
+
+Check the dist/dev folder and if all looks well, open a VOTE but do *not* move the files to dist/release at this time.
+
+Make sure to adhere to the model naming conventions.
+
+#### Model Naming Conventions
+
+- The filenames of each model signify the model language, type, https://universaldependencies.org/[Universal Dependency training data used], and version numbers.
+- The filename format is `opennlp-[iso-language-code]-ud-[corpus]-[model-type]-[model-version]-[opennlp-version-used-for-training].bin`.
+- The evaluation logs must be zipped and adhere to the following format: `opennlp-training-eval-logs-[model-version]-[opennlp-version-used-for-training].zip`. It contains the evaluation logs for trained models.
+- For example, the model file `opennlp-de-ud-gsd-pos-1.0-1.9.3` is German language, trained on the UD GSD corpus, and is a parts-of-speech model. It is version 1.0 of the model, and it was trained using OpenNLP 1.9.3.
+
+
+**Note:** If other training data is used, the abbreviation `ud` needs to be adjusted!
+
+#### Check the Model Release Artifacts
+
+Perform basic checks against the release binary:
+
+- Check signature of generated artifacts.
+- Check presence and appropriateness of `LICENSE`, `NOTICE`, and `README` files.
+
+#### Create a VOTE Thread
+
+- Notify the developer mailing list of a new model vote. Be sure to replace all values in `[]` with the appropriate values.
+
+Message Subject: [VOTE] Apache OpenNLP Models [version] Release Candidate
+
+----
+Hi folks,
+
+I have posted a [Nth] release candidate for the Apache OpenNLP Models [UMODEL_VERSION] release and it is ready for testing.
+
+The models can be downloaded from: https://dist.apache.org/repos/dist/dev/opennlp/<MODEL_TYPE>-<MODEL_VERSION>
+
+The evaluation logs can be downloaded from https://dist.apache.org/repos/dist/dev/opennlp/<MODEL_TYPE>-<MODEL_VERSION>/opennlp-training-eval-logs-<MODEL_VERSION>-<OPENNLP_VERSION>.zip
+
+The models were trained with Apache OpenNLP [VERSION] tag.
+
+The release was made using the OpenNLP release process, documented on the website:
+https://opennlp.apache.org/release-model.html
+
+Please vote on releasing these models as Apache OpenNLP Models [MODEL_VERSION]. The vote is open for at least the next 72 hours.
+
+Only votes from OpenNLP PMC are binding, but everyone is welcome to check the model release candidate and vote.
+The vote passes if at least three binding +1 votes are cast.
+
+[ ] +1 Release the models as Apache OpenNLP Models [MODEL_VERSION]
+[ ] +0 meh, don't care
+[ ] -1 Do not release the models because of ${showstopper}
+
+Thanks!
+----
+
+## After a Successful Vote
+
+The vote is successful if at least 3 +1 votes are received from OpenNLP PMC members after a minimum of 72 hours of sending the vote email.

Review Comment:
   Releases may not be vetoed (seehttps://www.apache.org/foundation/voting.html), but normally a PMC -1 leads to a cancelled vote :-)



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: dev-unsubscribe@opennlp.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [opennlp-site] kinow commented on a diff in pull request #78: OPENNLP-1433 - Document how to do model releases

Posted by GitBox <gi...@apache.org>.
kinow commented on code in PR #78:
URL: https://github.com/apache/opennlp-site/pull/78#discussion_r1060880830


##########
src/main/jbake/content/release-model.ad:
##########
@@ -0,0 +1,255 @@
+////
+   Licensed to the Apache Software Foundation (ASF) under one
+   or more contributor license agreements.  See the NOTICE file
+   distributed with this work for additional information
+   regarding copyright ownership.  The ASF licenses this file
+   to you under the Apache License, Version 2.0 (the
+   "License"); you may not use this file except in compliance
+   with the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing,
+   software distributed under the License is distributed on an
+   "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+   KIND, either express or implied.  See the License for the
+   specific language governing permissions and limitations
+   under the License.
+////
+= Making a model release
+:jbake-type: page
+:jbake-tags: building
+:jbake-status: published
+:idprefix:
+
+## Release Preparation
+
+- Elect a release manager.
+- Create a ticket for a new model release in JIRA. If you do not have permission to do so just ask to be given permissions on the mailing list.
+
+## Steps for the Release Manager
+
+The following steps need only to be performed once.
+
+- Make sure you have your PGP key entered into https://id.apache.org/.
+  Your KEYS will then be present in https://people.apache.org/keys/group/opennlp.asc.
+- Make sure you have your PGP keys password.
+- Add your PGP key to the KEYS file:
+----
+Examples of adding your key to this file:
+ pgp -kxa <your name> and append it to this file.
+ (pgpk -ll <your name> && pgpk -xa <your name>) >> this file.
+ (gpg --list-sigs <your name>
+     && gpg --armor --export <your name>) >> this file.
+----
+- In a local temp folder, svn checkout the OpenNLP artifacts and update the KEYS file
+----
+svn co https://dist.apache.org/repos/dist/release/opennlp/
+svn commit -m "Added Key for <name>" KEYS
+----
+
+## Release Steps
+
+- Train the models
+- Make sure to save the evaluation log for every model (adhere to the naming conventions, see below).
+- ZIP the evaluation logs.
+
+### Successful Model Release Preparation
+
+#### Perform the Model Release
+
+- Create sha512 checksums
+
+----
+# cd to model location
+for f in *; do   sha512sum "$f" > "$f.sha512"; done
+----
+
+- Create PGP signatures, see https://infra.apache.org/release-signing.html[for details].
+If you have multiple keys on your system, you might need to use `-u` to select the signing key.
+
+----
+# cd to model location
+# create asc signatures for model files
+for f in *.bin; do
+gpg --armor --output $f.asc --detach-sig $f
+done
+
+# create asc signature for evaluation logs
+for f in *.zip; do
+gpg --armor --output $f.asc --detach-sig $f
+done
+----
+
+- Add README, NOTICE, LICENSE and CHANGES (if any)
+
+- Create a folder in `dist/dev/models` in SVN
+
+----
+svn co https://dist.apache.org/repos/dist/dev/opennlp/ dist-dev
+# check if the KEYS file contains your key, if not, update it
+# copy the models and signatures to dist-dev/models/<MODEL_TYPE>-<MODEL_VERSION>
+svn commit --username <username> -m "Adding Release Candidate for OpenNLP Models <version>"
+----
+
+Check the dist/dev folder and if all looks well, open a VOTE but do *not* move the files to dist/release at this time.
+
+Make sure to adhere to the model naming conventions.
+
+#### Model Naming Conventions
+
+- The filenames of each model signify the model language, type, https://universaldependencies.org/[Universal Dependency training data used], and version numbers.
+- The filename format is `opennlp-[iso-language-code]-ud-[corpus]-[model-type]-[model-version]-[opennlp-version-used-for-training].bin`.
+- The evaluation logs must be zipped and adhere to the following format: `opennlp-training-eval-logs-[model-version]-[opennlp-version-used-for-training].zip`. It contains the evaluation logs for trained models.
+- For example, the model file `opennlp-de-ud-gsd-pos-1.0-1.9.3` is German language, trained on the UD GSD corpus, and is a parts-of-speech model. It is version 1.0 of the model, and it was trained using OpenNLP 1.9.3.
+
+
+**Note:** If other training data is used, the abbreviation `ud` needs to be adjusted!
+
+#### Check the Model Release Artifacts
+
+Perform basic checks against the release binary:
+
+- Check signature of generated artifacts.
+- Check presence and appropriateness of `LICENSE`, `NOTICE`, and `README` files.
+
+#### Create a VOTE Thread
+
+- Notify the developer mailing list of a new model vote. Be sure to replace all values in `[]` with the appropriate values.
+
+Message Subject: [VOTE] Apache OpenNLP Models [version] Release Candidate
+
+----
+Hi folks,
+
+I have posted a [Nth] release candidate for the Apache OpenNLP Models [UMODEL_VERSION] release and it is ready for testing.
+
+The models can be downloaded from: https://dist.apache.org/repos/dist/dev/opennlp/<MODEL_TYPE>-<MODEL_VERSION>
+
+The evaluation logs can be downloaded from https://dist.apache.org/repos/dist/dev/opennlp/<MODEL_TYPE>-<MODEL_VERSION>/opennlp-training-eval-logs-<MODEL_VERSION>-<OPENNLP_VERSION>.zip
+
+The models were trained with Apache OpenNLP [VERSION] tag.
+
+The release was made using the OpenNLP release process, documented on the website:
+https://opennlp.apache.org/release-model.html
+
+Please vote on releasing these models as Apache OpenNLP Models [MODEL_VERSION]. The vote is open for at least the next 72 hours.
+
+Only votes from OpenNLP PMC are binding, but everyone is welcome to check the model release candidate and vote.
+The vote passes if at least three binding +1 votes are cast.
+
+[ ] +1 Release the models as Apache OpenNLP Models [MODEL_VERSION]
+[ ] +0 meh, don't care
+[ ] -1 Do not release the models because of ${showstopper}
+
+Thanks!
+----
+
+## After a Successful Vote
+
+The vote is successful if at least 3 +1 votes are received from OpenNLP PMC members after a minimum of 72 hours of sending the vote email.
+Acknowledge the voting results on the mailing list in the VOTE thread.
+
+### Commit Distribution to SVN
+
+Commit the distribution via SVN to https://dist.apache.org/repos/dist/release:
+
+----
+svn co https://dist.apache.org/repos/dist/release/opennlp/ dist
+# check if the KEYS file contains your key, if not, update it
+# move the files from dev/models/<MODEL_TYPE>-<MODEL_VERSION> to dist/models/<MODEL_TYPE>-<MODEL_VERSION>
+svn commit --username <username> -m "Adding OpenNLP Models <version>"
+----
+
+### Delete Old Model Release(s)
+
+To reduce the load on the ASF mirrors, projects are required to delete old releases (see https://www.apache.org/legal/release-policy.html#when-to-archive).
+
+Remove the old model release from SVN under https://dist.apache.org/repos/dist/release/opennlp/models/. They are still contained in the archives.
+
+### Update the Website
+
+Update the  https://opennlp.apache.org/models.html[website] once the new version appears in the Apache download mirrors (keep checking https://www.apache.org/dyn/closer.cgi/opennlp/models/ until you see something).
+
+#### Add News Item
+
+- Add a news item in `news/model-{model-type}-{xyz}.ad` by copying the adjusted content:
+
+----
+= <MODEL_TYPE> Models for Apache OpenNLP released
+Apache OpenNLP
+2022-01-03
+:jbake-type: post
+:jbake-tags: community
+:jbake-status: published
+:category: news
+:idprefix:
+
+The Apache OpenNLP library is a machine learning based toolkit for the processing of natural language text.
+
+The Apache OpenNLP team is pleased to announce the release of <MODEL_TYPE>-<MODEL_VERSION> for Apache OpenNLP <OPENNLP_VERSION>.
+The models can <ADD_SUMMARY_HERE>
+
+Apache OpenNLP model and reports are available for download from our model download page:
+http://opennlp.apache.org/models.html
+
+The models are compatible with Apache OpenNLP <OPENNLP_VERSION>.
+
+More information about this release can be found in the README.txt at:
+https://dist.apache.org/repos/dist/dev/opennlp/<MODEL_TYPE>-<MODEL_VERSION>/README.txt
+
+Details about this model effectiveness can be found in the following report:
+https://dist.apache.org/repos/dist/dev/opennlp/<MODEL_TYPE>-<MODEL_VERSION>/opennlp-training-eval-logs-<MODEL_VERSION>-<OPENNLP_VERSION>.zip
+
+--The Apache OpenNLP Team
+----
+
+#### Commit Website Changes.
+
+- Commit the website changes.
+- Rebuild opennlp-site and wait for site redeploy
+- Test and review the website. Test that all download links are working.
+
+### Post-Release Steps
+
+- Log the new version at https://reporter.apache.org/addrelease.html?opennlp.
+- Announce the new models on the OpenNLP Twitter.

Review Comment:
   Hm, I got confused with another ASF project that has the pwd there. But I couldn't find the OpenNLP one. I remember seeing it once, someone shared the location on Slack via a DM I think. But that was long ago and the channel doesn't have any trace of the info :disappointed_relieved: 



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: dev-unsubscribe@opennlp.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [opennlp-site] rzo1 commented on a diff in pull request #78: OPENNLP-1433 - Document how to do model releases

Posted by GitBox <gi...@apache.org>.
rzo1 commented on code in PR #78:
URL: https://github.com/apache/opennlp-site/pull/78#discussion_r1060566012


##########
src/main/jbake/content/release-model.ad:
##########
@@ -0,0 +1,255 @@
+////
+   Licensed to the Apache Software Foundation (ASF) under one
+   or more contributor license agreements.  See the NOTICE file
+   distributed with this work for additional information
+   regarding copyright ownership.  The ASF licenses this file
+   to you under the Apache License, Version 2.0 (the
+   "License"); you may not use this file except in compliance
+   with the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing,
+   software distributed under the License is distributed on an
+   "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+   KIND, either express or implied.  See the License for the
+   specific language governing permissions and limitations
+   under the License.
+////
+= Making a model release
+:jbake-type: page
+:jbake-tags: building
+:jbake-status: published
+:idprefix:
+
+## Release Preparation
+
+- Elect a release manager.
+- Create a ticket for a new model release in JIRA. If you do not have permission to do so just ask to be given permissions on the mailing list.
+
+## Steps for the Release Manager
+
+The following steps need only to be performed once.
+
+- Make sure you have your PGP key entered into https://id.apache.org/.
+  Your KEYS will then be present in https://people.apache.org/keys/group/opennlp.asc.
+- Make sure you have your PGP keys password.
+- Add your PGP key to the KEYS file:
+----
+Examples of adding your key to this file:
+ pgp -kxa <your name> and append it to this file.
+ (pgpk -ll <your name> && pgpk -xa <your name>) >> this file.
+ (gpg --list-sigs <your name>
+     && gpg --armor --export <your name>) >> this file.
+----
+- In a local temp folder, svn checkout the OpenNLP artifacts and update the KEYS file
+----
+svn co https://dist.apache.org/repos/dist/release/opennlp/
+svn commit -m "Added Key for <name>" KEYS
+----
+
+## Release Steps
+
+- Train the models
+- Make sure to save the evaluation log for every model (adhere to the naming conventions, see below).
+- ZIP the evaluation logs.
+
+### Successful Model Release Preparation
+
+#### Perform the Model Release
+
+- Create sha512 checksums
+
+----
+# cd to model location
+for f in *; do   sha512sum "$f" > "$f.sha512"; done
+----
+
+- Create PGP signatures, see https://infra.apache.org/release-signing.html[for details].
+If you have multiple keys on your system, you might need to use `-u` to select the signing key.
+
+----
+# cd to model location
+# create asc signatures for model files
+for f in *.bin; do
+gpg --armor --output $f.asc --detach-sig $f
+done
+
+# create asc signature for evaluation logs
+for f in *.zip; do
+gpg --armor --output $f.asc --detach-sig $f
+done
+----
+
+- Add README, NOTICE, LICENSE and CHANGES (if any)
+
+- Create a folder in `dist/dev/models` in SVN
+
+----
+svn co https://dist.apache.org/repos/dist/dev/opennlp/ dist-dev
+# check if the KEYS file contains your key, if not, update it
+# copy the models and signatures to dist-dev/models/<MODEL_TYPE>-<MODEL_VERSION>
+svn commit --username <username> -m "Adding Release Candidate for OpenNLP Models <version>"
+----
+
+Check the dist/dev folder and if all looks well, open a VOTE but do *not* move the files to dist/release at this time.
+
+Make sure to adhere to the model naming conventions.
+
+#### Model Naming Conventions
+
+- The filenames of each model signify the model language, type, https://universaldependencies.org/[Universal Dependency training data used], and version numbers.
+- The filename format is `opennlp-[iso-language-code]-ud-[corpus]-[model-type]-[model-version]-[opennlp-version-used-for-training].bin`.
+- The evaluation logs must be zipped and adhere to the following format: `opennlp-training-eval-logs-[model-version]-[opennlp-version-used-for-training].zip`. It contains the evaluation logs for trained models.
+- For example, the model file `opennlp-de-ud-gsd-pos-1.0-1.9.3` is German language, trained on the UD GSD corpus, and is a parts-of-speech model. It is version 1.0 of the model, and it was trained using OpenNLP 1.9.3.
+
+
+**Note:** If other training data is used, the abbreviation `ud` needs to be adjusted!
+
+#### Check the Model Release Artifacts
+
+Perform basic checks against the release binary:
+
+- Check signature of generated artifacts.
+- Check presence and appropriateness of `LICENSE`, `NOTICE`, and `README` files.
+
+#### Create a VOTE Thread
+
+- Notify the developer mailing list of a new model vote. Be sure to replace all values in `[]` with the appropriate values.
+
+Message Subject: [VOTE] Apache OpenNLP Models [version] Release Candidate
+
+----
+Hi folks,
+
+I have posted a [Nth] release candidate for the Apache OpenNLP Models [UMODEL_VERSION] release and it is ready for testing.
+
+The models can be downloaded from: https://dist.apache.org/repos/dist/dev/opennlp/<MODEL_TYPE>-<MODEL_VERSION>
+
+The evaluation logs can be downloaded from https://dist.apache.org/repos/dist/dev/opennlp/<MODEL_TYPE>-<MODEL_VERSION>/opennlp-training-eval-logs-<MODEL_VERSION>-<OPENNLP_VERSION>.zip
+
+The models were trained with Apache OpenNLP [VERSION] tag.
+
+The release was made using the OpenNLP release process, documented on the website:
+https://opennlp.apache.org/release-model.html
+
+Please vote on releasing these models as Apache OpenNLP Models [MODEL_VERSION]. The vote is open for at least the next 72 hours.
+
+Only votes from OpenNLP PMC are binding, but everyone is welcome to check the model release candidate and vote.
+The vote passes if at least three binding +1 votes are cast.
+
+[ ] +1 Release the models as Apache OpenNLP Models [MODEL_VERSION]
+[ ] +0 meh, don't care
+[ ] -1 Do not release the models because of ${showstopper}
+
+Thanks!
+----
+
+## After a Successful Vote
+
+The vote is successful if at least 3 +1 votes are received from OpenNLP PMC members after a minimum of 72 hours of sending the vote email.

Review Comment:
   Releases may not be vetoed (see https://www.apache.org/foundation/voting.html), but normally a PMC -1 leads to a cancelled vote :-)



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: dev-unsubscribe@opennlp.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [opennlp-site] rzo1 commented on a diff in pull request #78: OPENNLP-1433 - Document how to do model releases

Posted by GitBox <gi...@apache.org>.
rzo1 commented on code in PR #78:
URL: https://github.com/apache/opennlp-site/pull/78#discussion_r1060566754


##########
src/main/jbake/content/release-model.ad:
##########
@@ -0,0 +1,255 @@
+////
+   Licensed to the Apache Software Foundation (ASF) under one
+   or more contributor license agreements.  See the NOTICE file
+   distributed with this work for additional information
+   regarding copyright ownership.  The ASF licenses this file
+   to you under the Apache License, Version 2.0 (the
+   "License"); you may not use this file except in compliance
+   with the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing,
+   software distributed under the License is distributed on an
+   "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+   KIND, either express or implied.  See the License for the
+   specific language governing permissions and limitations
+   under the License.
+////
+= Making a model release
+:jbake-type: page
+:jbake-tags: building
+:jbake-status: published
+:idprefix:
+
+## Release Preparation
+
+- Elect a release manager.
+- Create a ticket for a new model release in JIRA. If you do not have permission to do so just ask to be given permissions on the mailing list.
+
+## Steps for the Release Manager
+
+The following steps need only to be performed once.
+
+- Make sure you have your PGP key entered into https://id.apache.org/.
+  Your KEYS will then be present in https://people.apache.org/keys/group/opennlp.asc.
+- Make sure you have your PGP keys password.
+- Add your PGP key to the KEYS file:
+----
+Examples of adding your key to this file:
+ pgp -kxa <your name> and append it to this file.
+ (pgpk -ll <your name> && pgpk -xa <your name>) >> this file.
+ (gpg --list-sigs <your name>
+     && gpg --armor --export <your name>) >> this file.
+----
+- In a local temp folder, svn checkout the OpenNLP artifacts and update the KEYS file
+----
+svn co https://dist.apache.org/repos/dist/release/opennlp/
+svn commit -m "Added Key for <name>" KEYS
+----
+
+## Release Steps
+
+- Train the models
+- Make sure to save the evaluation log for every model (adhere to the naming conventions, see below).
+- ZIP the evaluation logs.
+
+### Successful Model Release Preparation
+
+#### Perform the Model Release
+
+- Create sha512 checksums
+
+----
+# cd to model location
+for f in *; do   sha512sum "$f" > "$f.sha512"; done
+----
+
+- Create PGP signatures, see https://infra.apache.org/release-signing.html[for details].
+If you have multiple keys on your system, you might need to use `-u` to select the signing key.
+
+----
+# cd to model location
+# create asc signatures for model files
+for f in *.bin; do
+gpg --armor --output $f.asc --detach-sig $f
+done
+
+# create asc signature for evaluation logs
+for f in *.zip; do
+gpg --armor --output $f.asc --detach-sig $f
+done
+----
+
+- Add README, NOTICE, LICENSE and CHANGES (if any)
+
+- Create a folder in `dist/dev/models` in SVN
+
+----
+svn co https://dist.apache.org/repos/dist/dev/opennlp/ dist-dev
+# check if the KEYS file contains your key, if not, update it
+# copy the models and signatures to dist-dev/models/<MODEL_TYPE>-<MODEL_VERSION>
+svn commit --username <username> -m "Adding Release Candidate for OpenNLP Models <version>"
+----
+
+Check the dist/dev folder and if all looks well, open a VOTE but do *not* move the files to dist/release at this time.
+
+Make sure to adhere to the model naming conventions.
+
+#### Model Naming Conventions
+
+- The filenames of each model signify the model language, type, https://universaldependencies.org/[Universal Dependency training data used], and version numbers.
+- The filename format is `opennlp-[iso-language-code]-ud-[corpus]-[model-type]-[model-version]-[opennlp-version-used-for-training].bin`.
+- The evaluation logs must be zipped and adhere to the following format: `opennlp-training-eval-logs-[model-version]-[opennlp-version-used-for-training].zip`. It contains the evaluation logs for trained models.
+- For example, the model file `opennlp-de-ud-gsd-pos-1.0-1.9.3` is German language, trained on the UD GSD corpus, and is a parts-of-speech model. It is version 1.0 of the model, and it was trained using OpenNLP 1.9.3.
+
+
+**Note:** If other training data is used, the abbreviation `ud` needs to be adjusted!
+
+#### Check the Model Release Artifacts
+
+Perform basic checks against the release binary:
+
+- Check signature of generated artifacts.
+- Check presence and appropriateness of `LICENSE`, `NOTICE`, and `README` files.
+
+#### Create a VOTE Thread
+
+- Notify the developer mailing list of a new model vote. Be sure to replace all values in `[]` with the appropriate values.
+
+Message Subject: [VOTE] Apache OpenNLP Models [version] Release Candidate
+
+----
+Hi folks,
+
+I have posted a [Nth] release candidate for the Apache OpenNLP Models [UMODEL_VERSION] release and it is ready for testing.
+
+The models can be downloaded from: https://dist.apache.org/repos/dist/dev/opennlp/<MODEL_TYPE>-<MODEL_VERSION>
+
+The evaluation logs can be downloaded from https://dist.apache.org/repos/dist/dev/opennlp/<MODEL_TYPE>-<MODEL_VERSION>/opennlp-training-eval-logs-<MODEL_VERSION>-<OPENNLP_VERSION>.zip
+
+The models were trained with Apache OpenNLP [VERSION] tag.
+
+The release was made using the OpenNLP release process, documented on the website:
+https://opennlp.apache.org/release-model.html
+
+Please vote on releasing these models as Apache OpenNLP Models [MODEL_VERSION]. The vote is open for at least the next 72 hours.
+
+Only votes from OpenNLP PMC are binding, but everyone is welcome to check the model release candidate and vote.
+The vote passes if at least three binding +1 votes are cast.
+
+[ ] +1 Release the models as Apache OpenNLP Models [MODEL_VERSION]
+[ ] +0 meh, don't care
+[ ] -1 Do not release the models because of ${showstopper}
+
+Thanks!
+----
+
+## After a Successful Vote
+
+The vote is successful if at least 3 +1 votes are received from OpenNLP PMC members after a minimum of 72 hours of sending the vote email.
+Acknowledge the voting results on the mailing list in the VOTE thread.
+
+### Commit Distribution to SVN
+
+Commit the distribution via SVN to https://dist.apache.org/repos/dist/release:
+
+----
+svn co https://dist.apache.org/repos/dist/release/opennlp/ dist
+# check if the KEYS file contains your key, if not, update it
+# move the files from dev/models/<MODEL_TYPE>-<MODEL_VERSION> to dist/models/<MODEL_TYPE>-<MODEL_VERSION>
+svn commit --username <username> -m "Adding OpenNLP Models <version>"
+----
+
+### Delete Old Model Release(s)
+
+To reduce the load on the ASF mirrors, projects are required to delete old releases (see https://www.apache.org/legal/release-policy.html#when-to-archive).
+
+Remove the old model release from SVN under https://dist.apache.org/repos/dist/release/opennlp/models/. They are still contained in the archives.
+
+### Update the Website
+
+Update the  https://opennlp.apache.org/models.html[website] once the new version appears in the Apache download mirrors (keep checking https://www.apache.org/dyn/closer.cgi/opennlp/models/ until you see something).
+
+#### Add News Item
+
+- Add a news item in `news/model-{model-type}-{xyz}.ad` by copying the adjusted content:
+
+----
+= <MODEL_TYPE> Models for Apache OpenNLP released
+Apache OpenNLP
+2022-01-03
+:jbake-type: post
+:jbake-tags: community
+:jbake-status: published
+:category: news
+:idprefix:
+
+The Apache OpenNLP library is a machine learning based toolkit for the processing of natural language text.
+
+The Apache OpenNLP team is pleased to announce the release of <MODEL_TYPE>-<MODEL_VERSION> for Apache OpenNLP <OPENNLP_VERSION>.
+The models can <ADD_SUMMARY_HERE>
+
+Apache OpenNLP model and reports are available for download from our model download page:
+http://opennlp.apache.org/models.html
+
+The models are compatible with Apache OpenNLP <OPENNLP_VERSION>.
+
+More information about this release can be found in the README.txt at:
+https://dist.apache.org/repos/dist/dev/opennlp/<MODEL_TYPE>-<MODEL_VERSION>/README.txt
+
+Details about this model effectiveness can be found in the following report:
+https://dist.apache.org/repos/dist/dev/opennlp/<MODEL_TYPE>-<MODEL_VERSION>/opennlp-training-eval-logs-<MODEL_VERSION>-<OPENNLP_VERSION>.zip
+
+--The Apache OpenNLP Team
+----
+
+#### Commit Website Changes.
+
+- Commit the website changes.
+- Rebuild opennlp-site and wait for site redeploy
+- Test and review the website. Test that all download links are working.
+
+### Post-Release Steps
+
+- Log the new version at https://reporter.apache.org/addrelease.html?opennlp.
+- Announce the new models on the OpenNLP Twitter.

Review Comment:
   No Idea about the PW. If you know sth about it, I will adjust (also for release.html)



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: dev-unsubscribe@opennlp.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [opennlp-site] jzonthemtn commented on pull request #78: OPENNLP-1433 - Document how to do model releases

Posted by GitBox <gi...@apache.org>.
jzonthemtn commented on PR #78:
URL: https://github.com/apache/opennlp-site/pull/78#issuecomment-1371198401

   Also, IIRC, when we did the release of those models it was a bit of a gray area because they didn't really fit into the ASF release process. ASF releases/votes are done on source code with convenience binary packages. What are models? From what we could find at the time it seemed like this problem was unique to OpenNLP. Maybe it is not anymore, but at some point it might be worthwhile having a larger conversation about releasing ML models for an ASF project.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: dev-unsubscribe@opennlp.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [opennlp-site] jzonthemtn commented on a diff in pull request #78: OPENNLP-1433 - Document how to do model releases

Posted by GitBox <gi...@apache.org>.
jzonthemtn commented on code in PR #78:
URL: https://github.com/apache/opennlp-site/pull/78#discussion_r1061702824


##########
src/main/jbake/content/release-model.ad:
##########
@@ -0,0 +1,255 @@
+////
+   Licensed to the Apache Software Foundation (ASF) under one
+   or more contributor license agreements.  See the NOTICE file
+   distributed with this work for additional information
+   regarding copyright ownership.  The ASF licenses this file
+   to you under the Apache License, Version 2.0 (the
+   "License"); you may not use this file except in compliance
+   with the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing,
+   software distributed under the License is distributed on an
+   "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+   KIND, either express or implied.  See the License for the
+   specific language governing permissions and limitations
+   under the License.
+////
+= Making a model release
+:jbake-type: page
+:jbake-tags: building
+:jbake-status: published
+:idprefix:
+
+## Release Preparation
+
+- Elect a release manager.
+- Create a ticket for a new model release in JIRA. If you do not have permission to do so just ask to be given permissions on the mailing list.
+
+## Steps for the Release Manager
+
+The following steps need only to be performed once.
+
+- Make sure you have your PGP key entered into https://id.apache.org/.
+  Your KEYS will then be present in https://people.apache.org/keys/group/opennlp.asc.
+- Make sure you have your PGP keys password.
+- Add your PGP key to the KEYS file:
+----
+Examples of adding your key to this file:
+ pgp -kxa <your name> and append it to this file.
+ (pgpk -ll <your name> && pgpk -xa <your name>) >> this file.
+ (gpg --list-sigs <your name>
+     && gpg --armor --export <your name>) >> this file.
+----
+- In a local temp folder, svn checkout the OpenNLP artifacts and update the KEYS file
+----
+svn co https://dist.apache.org/repos/dist/release/opennlp/
+svn commit -m "Added Key for <name>" KEYS
+----
+
+## Release Steps
+
+- Train the models
+- Make sure to save the evaluation log for every model (adhere to the naming conventions, see below).
+- ZIP the evaluation logs.
+
+### Successful Model Release Preparation
+
+#### Perform the Model Release
+
+- Create sha512 checksums
+
+----
+# cd to model location
+for f in *; do   sha512sum "$f" > "$f.sha512"; done
+----
+
+- Create PGP signatures, see https://infra.apache.org/release-signing.html[for details].
+If you have multiple keys on your system, you might need to use `-u` to select the signing key.
+
+----
+# cd to model location
+# create asc signatures for model files
+for f in *.bin; do
+gpg --armor --output $f.asc --detach-sig $f
+done
+
+# create asc signature for evaluation logs
+for f in *.zip; do
+gpg --armor --output $f.asc --detach-sig $f
+done
+----
+
+- Add README, NOTICE, LICENSE and CHANGES (if any)
+
+- Create a folder in `dist/dev/models` in SVN
+
+----
+svn co https://dist.apache.org/repos/dist/dev/opennlp/ dist-dev
+# check if the KEYS file contains your key, if not, update it
+# copy the models and signatures to dist-dev/models/<MODEL_TYPE>-<MODEL_VERSION>
+svn commit --username <username> -m "Adding Release Candidate for OpenNLP Models <version>"
+----
+
+Check the dist/dev folder and if all looks well, open a VOTE but do *not* move the files to dist/release at this time.
+
+Make sure to adhere to the model naming conventions.
+
+#### Model Naming Conventions
+
+- The filenames of each model signify the model language, type, https://universaldependencies.org/[Universal Dependency training data used], and version numbers.
+- The filename format is `opennlp-[iso-language-code]-ud-[corpus]-[model-type]-[model-version]-[opennlp-version-used-for-training].bin`.
+- The evaluation logs must be zipped and adhere to the following format: `opennlp-training-eval-logs-[model-version]-[opennlp-version-used-for-training].zip`. It contains the evaluation logs for trained models.
+- For example, the model file `opennlp-de-ud-gsd-pos-1.0-1.9.3` is German language, trained on the UD GSD corpus, and is a parts-of-speech model. It is version 1.0 of the model, and it was trained using OpenNLP 1.9.3.
+
+
+**Note:** If other training data is used, the abbreviation `ud` needs to be adjusted!
+
+#### Check the Model Release Artifacts
+
+Perform basic checks against the release binary:
+
+- Check signature of generated artifacts.
+- Check presence and appropriateness of `LICENSE`, `NOTICE`, and `README` files.
+
+#### Create a VOTE Thread
+
+- Notify the developer mailing list of a new model vote. Be sure to replace all values in `[]` with the appropriate values.
+
+Message Subject: [VOTE] Apache OpenNLP Models [version] Release Candidate
+
+----
+Hi folks,
+
+I have posted a [Nth] release candidate for the Apache OpenNLP Models [UMODEL_VERSION] release and it is ready for testing.
+
+The models can be downloaded from: https://dist.apache.org/repos/dist/dev/opennlp/<MODEL_TYPE>-<MODEL_VERSION>
+
+The evaluation logs can be downloaded from https://dist.apache.org/repos/dist/dev/opennlp/<MODEL_TYPE>-<MODEL_VERSION>/opennlp-training-eval-logs-<MODEL_VERSION>-<OPENNLP_VERSION>.zip
+
+The models were trained with Apache OpenNLP [VERSION] tag.
+
+The release was made using the OpenNLP release process, documented on the website:
+https://opennlp.apache.org/release-model.html
+
+Please vote on releasing these models as Apache OpenNLP Models [MODEL_VERSION]. The vote is open for at least the next 72 hours.
+
+Only votes from OpenNLP PMC are binding, but everyone is welcome to check the model release candidate and vote.
+The vote passes if at least three binding +1 votes are cast.
+
+[ ] +1 Release the models as Apache OpenNLP Models [MODEL_VERSION]
+[ ] +0 meh, don't care
+[ ] -1 Do not release the models because of ${showstopper}
+
+Thanks!
+----
+
+## After a Successful Vote
+
+The vote is successful if at least 3 +1 votes are received from OpenNLP PMC members after a minimum of 72 hours of sending the vote email.
+Acknowledge the voting results on the mailing list in the VOTE thread.
+
+### Commit Distribution to SVN
+
+Commit the distribution via SVN to https://dist.apache.org/repos/dist/release:
+
+----
+svn co https://dist.apache.org/repos/dist/release/opennlp/ dist
+# check if the KEYS file contains your key, if not, update it
+# move the files from dev/models/<MODEL_TYPE>-<MODEL_VERSION> to dist/models/<MODEL_TYPE>-<MODEL_VERSION>
+svn commit --username <username> -m "Adding OpenNLP Models <version>"
+----
+
+### Delete Old Model Release(s)
+
+To reduce the load on the ASF mirrors, projects are required to delete old releases (see https://www.apache.org/legal/release-policy.html#when-to-archive).
+
+Remove the old model release from SVN under https://dist.apache.org/repos/dist/release/opennlp/models/. They are still contained in the archives.
+
+### Update the Website
+
+Update the  https://opennlp.apache.org/models.html[website] once the new version appears in the Apache download mirrors (keep checking https://www.apache.org/dyn/closer.cgi/opennlp/models/ until you see something).
+
+#### Add News Item
+
+- Add a news item in `news/model-{model-type}-{xyz}.ad` by copying the adjusted content:
+
+----
+= <MODEL_TYPE> Models for Apache OpenNLP released
+Apache OpenNLP
+2022-01-03
+:jbake-type: post
+:jbake-tags: community
+:jbake-status: published
+:category: news
+:idprefix:
+
+The Apache OpenNLP library is a machine learning based toolkit for the processing of natural language text.
+
+The Apache OpenNLP team is pleased to announce the release of <MODEL_TYPE>-<MODEL_VERSION> for Apache OpenNLP <OPENNLP_VERSION>.
+The models can <ADD_SUMMARY_HERE>
+
+Apache OpenNLP model and reports are available for download from our model download page:
+http://opennlp.apache.org/models.html
+
+The models are compatible with Apache OpenNLP <OPENNLP_VERSION>.
+
+More information about this release can be found in the README.txt at:
+https://dist.apache.org/repos/dist/dev/opennlp/<MODEL_TYPE>-<MODEL_VERSION>/README.txt
+
+Details about this model effectiveness can be found in the following report:
+https://dist.apache.org/repos/dist/dev/opennlp/<MODEL_TYPE>-<MODEL_VERSION>/opennlp-training-eval-logs-<MODEL_VERSION>-<OPENNLP_VERSION>.zip
+
+--The Apache OpenNLP Team
+----
+
+#### Commit Website Changes.
+
+- Commit the website changes.
+- Rebuild opennlp-site and wait for site redeploy
+- Test and review the website. Test that all download links are working.
+
+### Post-Release Steps
+
+- Log the new version at https://reporter.apache.org/addrelease.html?opennlp.
+- Announce the new models on the OpenNLP Twitter.

Review Comment:
   No, I don't. What are the credentials needed for?



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: dev-unsubscribe@opennlp.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [opennlp-site] jzonthemtn commented on pull request #78: OPENNLP-1433 - Document how to do model releases

Posted by GitBox <gi...@apache.org>.
jzonthemtn commented on PR #78:
URL: https://github.com/apache/opennlp-site/pull/78#issuecomment-1371302485

   That's a great idea. I will go ahead and put it in the draft so it is there for the next submission.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: dev-unsubscribe@opennlp.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [opennlp-site] kinow commented on a diff in pull request #78: OPENNLP-1433 - Document how to do model releases

Posted by GitBox <gi...@apache.org>.
kinow commented on code in PR #78:
URL: https://github.com/apache/opennlp-site/pull/78#discussion_r1061755860


##########
src/main/jbake/content/release-model.ad:
##########
@@ -0,0 +1,255 @@
+////
+   Licensed to the Apache Software Foundation (ASF) under one
+   or more contributor license agreements.  See the NOTICE file
+   distributed with this work for additional information
+   regarding copyright ownership.  The ASF licenses this file
+   to you under the Apache License, Version 2.0 (the
+   "License"); you may not use this file except in compliance
+   with the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing,
+   software distributed under the License is distributed on an
+   "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+   KIND, either express or implied.  See the License for the
+   specific language governing permissions and limitations
+   under the License.
+////
+= Making a model release
+:jbake-type: page
+:jbake-tags: building
+:jbake-status: published
+:idprefix:
+
+## Release Preparation
+
+- Elect a release manager.
+- Create a ticket for a new model release in JIRA. If you do not have permission to do so just ask to be given permissions on the mailing list.
+
+## Steps for the Release Manager
+
+The following steps need only to be performed once.
+
+- Make sure you have your PGP key entered into https://id.apache.org/.
+  Your KEYS will then be present in https://people.apache.org/keys/group/opennlp.asc.
+- Make sure you have your PGP keys password.
+- Add your PGP key to the KEYS file:
+----
+Examples of adding your key to this file:
+ pgp -kxa <your name> and append it to this file.
+ (pgpk -ll <your name> && pgpk -xa <your name>) >> this file.
+ (gpg --list-sigs <your name>
+     && gpg --armor --export <your name>) >> this file.
+----
+- In a local temp folder, svn checkout the OpenNLP artifacts and update the KEYS file
+----
+svn co https://dist.apache.org/repos/dist/release/opennlp/
+svn commit -m "Added Key for <name>" KEYS
+----
+
+## Release Steps
+
+- Train the models
+- Make sure to save the evaluation log for every model (adhere to the naming conventions, see below).
+- ZIP the evaluation logs.
+
+### Successful Model Release Preparation
+
+#### Perform the Model Release
+
+- Create sha512 checksums
+
+----
+# cd to model location
+for f in *; do   sha512sum "$f" > "$f.sha512"; done
+----
+
+- Create PGP signatures, see https://infra.apache.org/release-signing.html[for details].
+If you have multiple keys on your system, you might need to use `-u` to select the signing key.
+
+----
+# cd to model location
+# create asc signatures for model files
+for f in *.bin; do
+gpg --armor --output $f.asc --detach-sig $f
+done
+
+# create asc signature for evaluation logs
+for f in *.zip; do
+gpg --armor --output $f.asc --detach-sig $f
+done
+----
+
+- Add README, NOTICE, LICENSE and CHANGES (if any)
+
+- Create a folder in `dist/dev/models` in SVN
+
+----
+svn co https://dist.apache.org/repos/dist/dev/opennlp/ dist-dev
+# check if the KEYS file contains your key, if not, update it
+# copy the models and signatures to dist-dev/models/<MODEL_TYPE>-<MODEL_VERSION>
+svn commit --username <username> -m "Adding Release Candidate for OpenNLP Models <version>"
+----
+
+Check the dist/dev folder and if all looks well, open a VOTE but do *not* move the files to dist/release at this time.
+
+Make sure to adhere to the model naming conventions.
+
+#### Model Naming Conventions
+
+- The filenames of each model signify the model language, type, https://universaldependencies.org/[Universal Dependency training data used], and version numbers.
+- The filename format is `opennlp-[iso-language-code]-ud-[corpus]-[model-type]-[model-version]-[opennlp-version-used-for-training].bin`.
+- The evaluation logs must be zipped and adhere to the following format: `opennlp-training-eval-logs-[model-version]-[opennlp-version-used-for-training].zip`. It contains the evaluation logs for trained models.
+- For example, the model file `opennlp-de-ud-gsd-pos-1.0-1.9.3` is German language, trained on the UD GSD corpus, and is a parts-of-speech model. It is version 1.0 of the model, and it was trained using OpenNLP 1.9.3.
+
+
+**Note:** If other training data is used, the abbreviation `ud` needs to be adjusted!
+
+#### Check the Model Release Artifacts
+
+Perform basic checks against the release binary:
+
+- Check signature of generated artifacts.
+- Check presence and appropriateness of `LICENSE`, `NOTICE`, and `README` files.
+
+#### Create a VOTE Thread
+
+- Notify the developer mailing list of a new model vote. Be sure to replace all values in `[]` with the appropriate values.
+
+Message Subject: [VOTE] Apache OpenNLP Models [version] Release Candidate
+
+----
+Hi folks,
+
+I have posted a [Nth] release candidate for the Apache OpenNLP Models [UMODEL_VERSION] release and it is ready for testing.
+
+The models can be downloaded from: https://dist.apache.org/repos/dist/dev/opennlp/<MODEL_TYPE>-<MODEL_VERSION>
+
+The evaluation logs can be downloaded from https://dist.apache.org/repos/dist/dev/opennlp/<MODEL_TYPE>-<MODEL_VERSION>/opennlp-training-eval-logs-<MODEL_VERSION>-<OPENNLP_VERSION>.zip
+
+The models were trained with Apache OpenNLP [VERSION] tag.
+
+The release was made using the OpenNLP release process, documented on the website:
+https://opennlp.apache.org/release-model.html
+
+Please vote on releasing these models as Apache OpenNLP Models [MODEL_VERSION]. The vote is open for at least the next 72 hours.
+
+Only votes from OpenNLP PMC are binding, but everyone is welcome to check the model release candidate and vote.
+The vote passes if at least three binding +1 votes are cast.
+
+[ ] +1 Release the models as Apache OpenNLP Models [MODEL_VERSION]
+[ ] +0 meh, don't care
+[ ] -1 Do not release the models because of ${showstopper}
+
+Thanks!
+----
+
+## After a Successful Vote
+
+The vote is successful if at least 3 +1 votes are received from OpenNLP PMC members after a minimum of 72 hours of sending the vote email.
+Acknowledge the voting results on the mailing list in the VOTE thread.
+
+### Commit Distribution to SVN
+
+Commit the distribution via SVN to https://dist.apache.org/repos/dist/release:
+
+----
+svn co https://dist.apache.org/repos/dist/release/opennlp/ dist
+# check if the KEYS file contains your key, if not, update it
+# move the files from dev/models/<MODEL_TYPE>-<MODEL_VERSION> to dist/models/<MODEL_TYPE>-<MODEL_VERSION>
+svn commit --username <username> -m "Adding OpenNLP Models <version>"
+----
+
+### Delete Old Model Release(s)
+
+To reduce the load on the ASF mirrors, projects are required to delete old releases (see https://www.apache.org/legal/release-policy.html#when-to-archive).
+
+Remove the old model release from SVN under https://dist.apache.org/repos/dist/release/opennlp/models/. They are still contained in the archives.
+
+### Update the Website
+
+Update the  https://opennlp.apache.org/models.html[website] once the new version appears in the Apache download mirrors (keep checking https://www.apache.org/dyn/closer.cgi/opennlp/models/ until you see something).
+
+#### Add News Item
+
+- Add a news item in `news/model-{model-type}-{xyz}.ad` by copying the adjusted content:
+
+----
+= <MODEL_TYPE> Models for Apache OpenNLP released
+Apache OpenNLP
+2022-01-03
+:jbake-type: post
+:jbake-tags: community
+:jbake-status: published
+:category: news
+:idprefix:
+
+The Apache OpenNLP library is a machine learning based toolkit for the processing of natural language text.
+
+The Apache OpenNLP team is pleased to announce the release of <MODEL_TYPE>-<MODEL_VERSION> for Apache OpenNLP <OPENNLP_VERSION>.
+The models can <ADD_SUMMARY_HERE>
+
+Apache OpenNLP model and reports are available for download from our model download page:
+http://opennlp.apache.org/models.html
+
+The models are compatible with Apache OpenNLP <OPENNLP_VERSION>.
+
+More information about this release can be found in the README.txt at:
+https://dist.apache.org/repos/dist/dev/opennlp/<MODEL_TYPE>-<MODEL_VERSION>/README.txt
+
+Details about this model effectiveness can be found in the following report:
+https://dist.apache.org/repos/dist/dev/opennlp/<MODEL_TYPE>-<MODEL_VERSION>/opennlp-training-eval-logs-<MODEL_VERSION>-<OPENNLP_VERSION>.zip
+
+--The Apache OpenNLP Team
+----
+
+#### Commit Website Changes.
+
+- Commit the website changes.
+- Rebuild opennlp-site and wait for site redeploy
+- Test and review the website. Test that all download links are working.
+
+### Post-Release Steps
+
+- Log the new version at https://reporter.apache.org/addrelease.html?opennlp.
+- Announce the new models on the OpenNLP Twitter.

Review Comment:
   To log in to https://twitter.com/apacheopennlp



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: dev-unsubscribe@opennlp.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [opennlp-site] rzo1 commented on a diff in pull request #78: OPENNLP-1433 - Document how to do model releases

Posted by GitBox <gi...@apache.org>.
rzo1 commented on code in PR #78:
URL: https://github.com/apache/opennlp-site/pull/78#discussion_r1062458277


##########
src/main/jbake/content/release-model.ad:
##########
@@ -0,0 +1,255 @@
+////
+   Licensed to the Apache Software Foundation (ASF) under one
+   or more contributor license agreements.  See the NOTICE file
+   distributed with this work for additional information
+   regarding copyright ownership.  The ASF licenses this file
+   to you under the Apache License, Version 2.0 (the
+   "License"); you may not use this file except in compliance
+   with the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing,
+   software distributed under the License is distributed on an
+   "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+   KIND, either express or implied.  See the License for the
+   specific language governing permissions and limitations
+   under the License.
+////
+= Making a model release
+:jbake-type: page
+:jbake-tags: building
+:jbake-status: published
+:idprefix:
+
+## Release Preparation
+
+- Elect a release manager.
+- Create a ticket for a new model release in JIRA. If you do not have permission to do so just ask to be given permissions on the mailing list.
+
+## Steps for the Release Manager
+
+The following steps need only to be performed once.
+
+- Make sure you have your PGP key entered into https://id.apache.org/.
+  Your KEYS will then be present in https://people.apache.org/keys/group/opennlp.asc.
+- Make sure you have your PGP keys password.
+- Add your PGP key to the KEYS file:
+----
+Examples of adding your key to this file:
+ pgp -kxa <your name> and append it to this file.
+ (pgpk -ll <your name> && pgpk -xa <your name>) >> this file.
+ (gpg --list-sigs <your name>
+     && gpg --armor --export <your name>) >> this file.
+----
+- In a local temp folder, svn checkout the OpenNLP artifacts and update the KEYS file
+----
+svn co https://dist.apache.org/repos/dist/release/opennlp/
+svn commit -m "Added Key for <name>" KEYS
+----
+
+## Release Steps
+
+- Train the models
+- Make sure to save the evaluation log for every model (adhere to the naming conventions, see below).
+- ZIP the evaluation logs.
+
+### Successful Model Release Preparation
+
+#### Perform the Model Release
+
+- Create sha512 checksums
+
+----
+# cd to model location
+for f in *; do   sha512sum "$f" > "$f.sha512"; done
+----
+
+- Create PGP signatures, see https://infra.apache.org/release-signing.html[for details].
+If you have multiple keys on your system, you might need to use `-u` to select the signing key.
+
+----
+# cd to model location
+# create asc signatures for model files
+for f in *.bin; do
+gpg --armor --output $f.asc --detach-sig $f
+done
+
+# create asc signature for evaluation logs
+for f in *.zip; do
+gpg --armor --output $f.asc --detach-sig $f
+done
+----
+
+- Add README, NOTICE, LICENSE and CHANGES (if any)
+
+- Create a folder in `dist/dev/models` in SVN
+
+----
+svn co https://dist.apache.org/repos/dist/dev/opennlp/ dist-dev
+# check if the KEYS file contains your key, if not, update it
+# copy the models and signatures to dist-dev/models/<MODEL_TYPE>-<MODEL_VERSION>
+svn commit --username <username> -m "Adding Release Candidate for OpenNLP Models <version>"
+----
+
+Check the dist/dev folder and if all looks well, open a VOTE but do *not* move the files to dist/release at this time.
+
+Make sure to adhere to the model naming conventions.
+
+#### Model Naming Conventions
+
+- The filenames of each model signify the model language, type, https://universaldependencies.org/[Universal Dependency training data used], and version numbers.
+- The filename format is `opennlp-[iso-language-code]-ud-[corpus]-[model-type]-[model-version]-[opennlp-version-used-for-training].bin`.
+- The evaluation logs must be zipped and adhere to the following format: `opennlp-training-eval-logs-[model-version]-[opennlp-version-used-for-training].zip`. It contains the evaluation logs for trained models.
+- For example, the model file `opennlp-de-ud-gsd-pos-1.0-1.9.3` is German language, trained on the UD GSD corpus, and is a parts-of-speech model. It is version 1.0 of the model, and it was trained using OpenNLP 1.9.3.
+
+
+**Note:** If other training data is used, the abbreviation `ud` needs to be adjusted!
+
+#### Check the Model Release Artifacts
+
+Perform basic checks against the release binary:
+
+- Check signature of generated artifacts.
+- Check presence and appropriateness of `LICENSE`, `NOTICE`, and `README` files.
+
+#### Create a VOTE Thread
+
+- Notify the developer mailing list of a new model vote. Be sure to replace all values in `[]` with the appropriate values.
+
+Message Subject: [VOTE] Apache OpenNLP Models [version] Release Candidate
+
+----
+Hi folks,
+
+I have posted a [Nth] release candidate for the Apache OpenNLP Models [UMODEL_VERSION] release and it is ready for testing.
+
+The models can be downloaded from: https://dist.apache.org/repos/dist/dev/opennlp/<MODEL_TYPE>-<MODEL_VERSION>
+
+The evaluation logs can be downloaded from https://dist.apache.org/repos/dist/dev/opennlp/<MODEL_TYPE>-<MODEL_VERSION>/opennlp-training-eval-logs-<MODEL_VERSION>-<OPENNLP_VERSION>.zip
+
+The models were trained with Apache OpenNLP [VERSION] tag.
+
+The release was made using the OpenNLP release process, documented on the website:
+https://opennlp.apache.org/release-model.html
+
+Please vote on releasing these models as Apache OpenNLP Models [MODEL_VERSION]. The vote is open for at least the next 72 hours.
+
+Only votes from OpenNLP PMC are binding, but everyone is welcome to check the model release candidate and vote.
+The vote passes if at least three binding +1 votes are cast.
+
+[ ] +1 Release the models as Apache OpenNLP Models [MODEL_VERSION]
+[ ] +0 meh, don't care
+[ ] -1 Do not release the models because of ${showstopper}
+
+Thanks!
+----
+
+## After a Successful Vote
+
+The vote is successful if at least 3 +1 votes are received from OpenNLP PMC members after a minimum of 72 hours of sending the vote email.
+Acknowledge the voting results on the mailing list in the VOTE thread.
+
+### Commit Distribution to SVN
+
+Commit the distribution via SVN to https://dist.apache.org/repos/dist/release:
+
+----
+svn co https://dist.apache.org/repos/dist/release/opennlp/ dist
+# check if the KEYS file contains your key, if not, update it
+# move the files from dev/models/<MODEL_TYPE>-<MODEL_VERSION> to dist/models/<MODEL_TYPE>-<MODEL_VERSION>
+svn commit --username <username> -m "Adding OpenNLP Models <version>"
+----
+
+### Delete Old Model Release(s)
+
+To reduce the load on the ASF mirrors, projects are required to delete old releases (see https://www.apache.org/legal/release-policy.html#when-to-archive).
+
+Remove the old model release from SVN under https://dist.apache.org/repos/dist/release/opennlp/models/. They are still contained in the archives.
+
+### Update the Website
+
+Update the  https://opennlp.apache.org/models.html[website] once the new version appears in the Apache download mirrors (keep checking https://www.apache.org/dyn/closer.cgi/opennlp/models/ until you see something).
+
+#### Add News Item
+
+- Add a news item in `news/model-{model-type}-{xyz}.ad` by copying the adjusted content:
+
+----
+= <MODEL_TYPE> Models for Apache OpenNLP released
+Apache OpenNLP
+2022-01-03
+:jbake-type: post
+:jbake-tags: community
+:jbake-status: published
+:category: news
+:idprefix:
+
+The Apache OpenNLP library is a machine learning based toolkit for the processing of natural language text.
+
+The Apache OpenNLP team is pleased to announce the release of <MODEL_TYPE>-<MODEL_VERSION> for Apache OpenNLP <OPENNLP_VERSION>.
+The models can <ADD_SUMMARY_HERE>
+
+Apache OpenNLP model and reports are available for download from our model download page:
+http://opennlp.apache.org/models.html
+
+The models are compatible with Apache OpenNLP <OPENNLP_VERSION>.
+
+More information about this release can be found in the README.txt at:
+https://dist.apache.org/repos/dist/dev/opennlp/<MODEL_TYPE>-<MODEL_VERSION>/README.txt
+
+Details about this model effectiveness can be found in the following report:
+https://dist.apache.org/repos/dist/dev/opennlp/<MODEL_TYPE>-<MODEL_VERSION>/opennlp-training-eval-logs-<MODEL_VERSION>-<OPENNLP_VERSION>.zip
+
+--The Apache OpenNLP Team
+----
+
+#### Commit Website Changes.
+
+- Commit the website changes.
+- Rebuild opennlp-site and wait for site redeploy
+- Test and review the website. Test that all download links are working.
+
+### Post-Release Steps
+
+- Log the new version at https://reporter.apache.org/addrelease.html?opennlp.
+- Announce the new models on the OpenNLP Twitter.

Review Comment:
   We have specific SVN areas in TomEE due to (legacy) legal restriction on the TCK + a private SVN area afaik. But I wouldn't store them in VCS, I guess. 



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: dev-unsubscribe@opennlp.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [opennlp-site] jzonthemtn commented on a diff in pull request #78: OPENNLP-1433 - Document how to do model releases

Posted by GitBox <gi...@apache.org>.
jzonthemtn commented on code in PR #78:
URL: https://github.com/apache/opennlp-site/pull/78#discussion_r1062455800


##########
src/main/jbake/content/release-model.ad:
##########
@@ -0,0 +1,255 @@
+////
+   Licensed to the Apache Software Foundation (ASF) under one
+   or more contributor license agreements.  See the NOTICE file
+   distributed with this work for additional information
+   regarding copyright ownership.  The ASF licenses this file
+   to you under the Apache License, Version 2.0 (the
+   "License"); you may not use this file except in compliance
+   with the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing,
+   software distributed under the License is distributed on an
+   "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+   KIND, either express or implied.  See the License for the
+   specific language governing permissions and limitations
+   under the License.
+////
+= Making a model release
+:jbake-type: page
+:jbake-tags: building
+:jbake-status: published
+:idprefix:
+
+## Release Preparation
+
+- Elect a release manager.
+- Create a ticket for a new model release in JIRA. If you do not have permission to do so just ask to be given permissions on the mailing list.
+
+## Steps for the Release Manager
+
+The following steps need only to be performed once.
+
+- Make sure you have your PGP key entered into https://id.apache.org/.
+  Your KEYS will then be present in https://people.apache.org/keys/group/opennlp.asc.
+- Make sure you have your PGP keys password.
+- Add your PGP key to the KEYS file:
+----
+Examples of adding your key to this file:
+ pgp -kxa <your name> and append it to this file.
+ (pgpk -ll <your name> && pgpk -xa <your name>) >> this file.
+ (gpg --list-sigs <your name>
+     && gpg --armor --export <your name>) >> this file.
+----
+- In a local temp folder, svn checkout the OpenNLP artifacts and update the KEYS file
+----
+svn co https://dist.apache.org/repos/dist/release/opennlp/
+svn commit -m "Added Key for <name>" KEYS
+----
+
+## Release Steps
+
+- Train the models
+- Make sure to save the evaluation log for every model (adhere to the naming conventions, see below).
+- ZIP the evaluation logs.
+
+### Successful Model Release Preparation
+
+#### Perform the Model Release
+
+- Create sha512 checksums
+
+----
+# cd to model location
+for f in *; do   sha512sum "$f" > "$f.sha512"; done
+----
+
+- Create PGP signatures, see https://infra.apache.org/release-signing.html[for details].
+If you have multiple keys on your system, you might need to use `-u` to select the signing key.
+
+----
+# cd to model location
+# create asc signatures for model files
+for f in *.bin; do
+gpg --armor --output $f.asc --detach-sig $f
+done
+
+# create asc signature for evaluation logs
+for f in *.zip; do
+gpg --armor --output $f.asc --detach-sig $f
+done
+----
+
+- Add README, NOTICE, LICENSE and CHANGES (if any)
+
+- Create a folder in `dist/dev/models` in SVN
+
+----
+svn co https://dist.apache.org/repos/dist/dev/opennlp/ dist-dev
+# check if the KEYS file contains your key, if not, update it
+# copy the models and signatures to dist-dev/models/<MODEL_TYPE>-<MODEL_VERSION>
+svn commit --username <username> -m "Adding Release Candidate for OpenNLP Models <version>"
+----
+
+Check the dist/dev folder and if all looks well, open a VOTE but do *not* move the files to dist/release at this time.
+
+Make sure to adhere to the model naming conventions.
+
+#### Model Naming Conventions
+
+- The filenames of each model signify the model language, type, https://universaldependencies.org/[Universal Dependency training data used], and version numbers.
+- The filename format is `opennlp-[iso-language-code]-ud-[corpus]-[model-type]-[model-version]-[opennlp-version-used-for-training].bin`.
+- The evaluation logs must be zipped and adhere to the following format: `opennlp-training-eval-logs-[model-version]-[opennlp-version-used-for-training].zip`. It contains the evaluation logs for trained models.
+- For example, the model file `opennlp-de-ud-gsd-pos-1.0-1.9.3` is German language, trained on the UD GSD corpus, and is a parts-of-speech model. It is version 1.0 of the model, and it was trained using OpenNLP 1.9.3.
+
+
+**Note:** If other training data is used, the abbreviation `ud` needs to be adjusted!
+
+#### Check the Model Release Artifacts
+
+Perform basic checks against the release binary:
+
+- Check signature of generated artifacts.
+- Check presence and appropriateness of `LICENSE`, `NOTICE`, and `README` files.
+
+#### Create a VOTE Thread
+
+- Notify the developer mailing list of a new model vote. Be sure to replace all values in `[]` with the appropriate values.
+
+Message Subject: [VOTE] Apache OpenNLP Models [version] Release Candidate
+
+----
+Hi folks,
+
+I have posted a [Nth] release candidate for the Apache OpenNLP Models [UMODEL_VERSION] release and it is ready for testing.
+
+The models can be downloaded from: https://dist.apache.org/repos/dist/dev/opennlp/<MODEL_TYPE>-<MODEL_VERSION>
+
+The evaluation logs can be downloaded from https://dist.apache.org/repos/dist/dev/opennlp/<MODEL_TYPE>-<MODEL_VERSION>/opennlp-training-eval-logs-<MODEL_VERSION>-<OPENNLP_VERSION>.zip
+
+The models were trained with Apache OpenNLP [VERSION] tag.
+
+The release was made using the OpenNLP release process, documented on the website:
+https://opennlp.apache.org/release-model.html
+
+Please vote on releasing these models as Apache OpenNLP Models [MODEL_VERSION]. The vote is open for at least the next 72 hours.
+
+Only votes from OpenNLP PMC are binding, but everyone is welcome to check the model release candidate and vote.
+The vote passes if at least three binding +1 votes are cast.
+
+[ ] +1 Release the models as Apache OpenNLP Models [MODEL_VERSION]
+[ ] +0 meh, don't care
+[ ] -1 Do not release the models because of ${showstopper}
+
+Thanks!
+----
+
+## After a Successful Vote
+
+The vote is successful if at least 3 +1 votes are received from OpenNLP PMC members after a minimum of 72 hours of sending the vote email.
+Acknowledge the voting results on the mailing list in the VOTE thread.
+
+### Commit Distribution to SVN
+
+Commit the distribution via SVN to https://dist.apache.org/repos/dist/release:
+
+----
+svn co https://dist.apache.org/repos/dist/release/opennlp/ dist
+# check if the KEYS file contains your key, if not, update it
+# move the files from dev/models/<MODEL_TYPE>-<MODEL_VERSION> to dist/models/<MODEL_TYPE>-<MODEL_VERSION>
+svn commit --username <username> -m "Adding OpenNLP Models <version>"
+----
+
+### Delete Old Model Release(s)
+
+To reduce the load on the ASF mirrors, projects are required to delete old releases (see https://www.apache.org/legal/release-policy.html#when-to-archive).
+
+Remove the old model release from SVN under https://dist.apache.org/repos/dist/release/opennlp/models/. They are still contained in the archives.
+
+### Update the Website
+
+Update the  https://opennlp.apache.org/models.html[website] once the new version appears in the Apache download mirrors (keep checking https://www.apache.org/dyn/closer.cgi/opennlp/models/ until you see something).
+
+#### Add News Item
+
+- Add a news item in `news/model-{model-type}-{xyz}.ad` by copying the adjusted content:
+
+----
+= <MODEL_TYPE> Models for Apache OpenNLP released
+Apache OpenNLP
+2022-01-03
+:jbake-type: post
+:jbake-tags: community
+:jbake-status: published
+:category: news
+:idprefix:
+
+The Apache OpenNLP library is a machine learning based toolkit for the processing of natural language text.
+
+The Apache OpenNLP team is pleased to announce the release of <MODEL_TYPE>-<MODEL_VERSION> for Apache OpenNLP <OPENNLP_VERSION>.
+The models can <ADD_SUMMARY_HERE>
+
+Apache OpenNLP model and reports are available for download from our model download page:
+http://opennlp.apache.org/models.html
+
+The models are compatible with Apache OpenNLP <OPENNLP_VERSION>.
+
+More information about this release can be found in the README.txt at:
+https://dist.apache.org/repos/dist/dev/opennlp/<MODEL_TYPE>-<MODEL_VERSION>/README.txt
+
+Details about this model effectiveness can be found in the following report:
+https://dist.apache.org/repos/dist/dev/opennlp/<MODEL_TYPE>-<MODEL_VERSION>/opennlp-training-eval-logs-<MODEL_VERSION>-<OPENNLP_VERSION>.zip
+
+--The Apache OpenNLP Team
+----
+
+#### Commit Website Changes.
+
+- Commit the website changes.
+- Rebuild opennlp-site and wait for site redeploy
+- Test and review the website. Test that all download links are working.
+
+### Post-Release Steps
+
+- Log the new version at https://reporter.apache.org/addrelease.html?opennlp.
+- Announce the new models on the OpenNLP Twitter.

Review Comment:
   Ah! No, it isn't stored anywhere that I know of. 
   
   @rzo1 You mentioned a PMC SVN repo. I did not know that is a thing. Is that a suitable place to store it?



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: dev-unsubscribe@opennlp.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [opennlp-site] kinow commented on a diff in pull request #78: OPENNLP-1433 - Document how to do model releases

Posted by GitBox <gi...@apache.org>.
kinow commented on code in PR #78:
URL: https://github.com/apache/opennlp-site/pull/78#discussion_r1060552004


##########
src/main/jbake/content/release-model.ad:
##########
@@ -0,0 +1,255 @@
+////
+   Licensed to the Apache Software Foundation (ASF) under one
+   or more contributor license agreements.  See the NOTICE file
+   distributed with this work for additional information
+   regarding copyright ownership.  The ASF licenses this file
+   to you under the Apache License, Version 2.0 (the
+   "License"); you may not use this file except in compliance
+   with the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing,
+   software distributed under the License is distributed on an
+   "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+   KIND, either express or implied.  See the License for the
+   specific language governing permissions and limitations
+   under the License.
+////
+= Making a model release
+:jbake-type: page
+:jbake-tags: building
+:jbake-status: published
+:idprefix:
+
+## Release Preparation
+
+- Elect a release manager.
+- Create a ticket for a new model release in JIRA. If you do not have permission to do so just ask to be given permissions on the mailing list.
+
+## Steps for the Release Manager
+
+The following steps need only to be performed once.
+
+- Make sure you have your PGP key entered into https://id.apache.org/.
+  Your KEYS will then be present in https://people.apache.org/keys/group/opennlp.asc.

Review Comment:
   Hmm, that's 404 for me right now, https://people.apache.org/keys/group/opennlp.asc



##########
src/main/jbake/content/release-model.ad:
##########
@@ -0,0 +1,255 @@
+////
+   Licensed to the Apache Software Foundation (ASF) under one
+   or more contributor license agreements.  See the NOTICE file
+   distributed with this work for additional information
+   regarding copyright ownership.  The ASF licenses this file
+   to you under the Apache License, Version 2.0 (the
+   "License"); you may not use this file except in compliance
+   with the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing,
+   software distributed under the License is distributed on an
+   "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+   KIND, either express or implied.  See the License for the
+   specific language governing permissions and limitations
+   under the License.
+////
+= Making a model release
+:jbake-type: page
+:jbake-tags: building
+:jbake-status: published
+:idprefix:
+
+## Release Preparation
+
+- Elect a release manager.
+- Create a ticket for a new model release in JIRA. If you do not have permission to do so just ask to be given permissions on the mailing list.
+
+## Steps for the Release Manager
+
+The following steps need only to be performed once.
+
+- Make sure you have your PGP key entered into https://id.apache.org/.
+  Your KEYS will then be present in https://people.apache.org/keys/group/opennlp.asc.
+- Make sure you have your PGP keys password.

Review Comment:
   key's?



##########
src/main/jbake/content/release-model.ad:
##########
@@ -0,0 +1,255 @@
+////
+   Licensed to the Apache Software Foundation (ASF) under one
+   or more contributor license agreements.  See the NOTICE file
+   distributed with this work for additional information
+   regarding copyright ownership.  The ASF licenses this file
+   to you under the Apache License, Version 2.0 (the
+   "License"); you may not use this file except in compliance
+   with the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing,
+   software distributed under the License is distributed on an
+   "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+   KIND, either express or implied.  See the License for the
+   specific language governing permissions and limitations
+   under the License.
+////
+= Making a model release
+:jbake-type: page
+:jbake-tags: building
+:jbake-status: published
+:idprefix:
+
+## Release Preparation
+
+- Elect a release manager.
+- Create a ticket for a new model release in JIRA. If you do not have permission to do so just ask to be given permissions on the mailing list.
+
+## Steps for the Release Manager
+
+The following steps need only to be performed once.
+
+- Make sure you have your PGP key entered into https://id.apache.org/.
+  Your KEYS will then be present in https://people.apache.org/keys/group/opennlp.asc.
+- Make sure you have your PGP keys password.
+- Add your PGP key to the KEYS file:
+----
+Examples of adding your key to this file:
+ pgp -kxa <your name> and append it to this file.
+ (pgpk -ll <your name> && pgpk -xa <your name>) >> this file.
+ (gpg --list-sigs <your name>
+     && gpg --armor --export <your name>) >> this file.
+----
+- In a local temp folder, svn checkout the OpenNLP artifacts and update the KEYS file
+----
+svn co https://dist.apache.org/repos/dist/release/opennlp/
+svn commit -m "Added Key for <name>" KEYS
+----
+
+## Release Steps
+
+- Train the models
+- Make sure to save the evaluation log for every model (adhere to the naming conventions, see below).
+- ZIP the evaluation logs.
+
+### Successful Model Release Preparation
+
+#### Perform the Model Release
+
+- Create sha512 checksums
+
+----
+# cd to model location
+for f in *; do   sha512sum "$f" > "$f.sha512"; done
+----
+
+- Create PGP signatures, see https://infra.apache.org/release-signing.html[for details].
+If you have multiple keys on your system, you might need to use `-u` to select the signing key.
+
+----
+# cd to model location
+# create asc signatures for model files
+for f in *.bin; do
+gpg --armor --output $f.asc --detach-sig $f
+done
+
+# create asc signature for evaluation logs
+for f in *.zip; do
+gpg --armor --output $f.asc --detach-sig $f
+done
+----
+
+- Add README, NOTICE, LICENSE and CHANGES (if any)
+
+- Create a folder in `dist/dev/models` in SVN
+
+----
+svn co https://dist.apache.org/repos/dist/dev/opennlp/ dist-dev
+# check if the KEYS file contains your key, if not, update it
+# copy the models and signatures to dist-dev/models/<MODEL_TYPE>-<MODEL_VERSION>
+svn commit --username <username> -m "Adding Release Candidate for OpenNLP Models <version>"
+----
+
+Check the dist/dev folder and if all looks well, open a VOTE but do *not* move the files to dist/release at this time.
+
+Make sure to adhere to the model naming conventions.
+
+#### Model Naming Conventions
+
+- The filenames of each model signify the model language, type, https://universaldependencies.org/[Universal Dependency training data used], and version numbers.
+- The filename format is `opennlp-[iso-language-code]-ud-[corpus]-[model-type]-[model-version]-[opennlp-version-used-for-training].bin`.
+- The evaluation logs must be zipped and adhere to the following format: `opennlp-training-eval-logs-[model-version]-[opennlp-version-used-for-training].zip`. It contains the evaluation logs for trained models.
+- For example, the model file `opennlp-de-ud-gsd-pos-1.0-1.9.3` is German language, trained on the UD GSD corpus, and is a parts-of-speech model. It is version 1.0 of the model, and it was trained using OpenNLP 1.9.3.
+
+
+**Note:** If other training data is used, the abbreviation `ud` needs to be adjusted!
+
+#### Check the Model Release Artifacts
+
+Perform basic checks against the release binary:
+
+- Check signature of generated artifacts.
+- Check presence and appropriateness of `LICENSE`, `NOTICE`, and `README` files.
+
+#### Create a VOTE Thread
+
+- Notify the developer mailing list of a new model vote. Be sure to replace all values in `[]` with the appropriate values.
+
+Message Subject: [VOTE] Apache OpenNLP Models [version] Release Candidate
+
+----
+Hi folks,
+
+I have posted a [Nth] release candidate for the Apache OpenNLP Models [UMODEL_VERSION] release and it is ready for testing.
+
+The models can be downloaded from: https://dist.apache.org/repos/dist/dev/opennlp/<MODEL_TYPE>-<MODEL_VERSION>
+
+The evaluation logs can be downloaded from https://dist.apache.org/repos/dist/dev/opennlp/<MODEL_TYPE>-<MODEL_VERSION>/opennlp-training-eval-logs-<MODEL_VERSION>-<OPENNLP_VERSION>.zip
+
+The models were trained with Apache OpenNLP [VERSION] tag.
+
+The release was made using the OpenNLP release process, documented on the website:
+https://opennlp.apache.org/release-model.html
+
+Please vote on releasing these models as Apache OpenNLP Models [MODEL_VERSION]. The vote is open for at least the next 72 hours.
+
+Only votes from OpenNLP PMC are binding, but everyone is welcome to check the model release candidate and vote.
+The vote passes if at least three binding +1 votes are cast.
+
+[ ] +1 Release the models as Apache OpenNLP Models [MODEL_VERSION]
+[ ] +0 meh, don't care
+[ ] -1 Do not release the models because of ${showstopper}
+
+Thanks!
+----
+
+## After a Successful Vote
+
+The vote is successful if at least 3 +1 votes are received from OpenNLP PMC members after a minimum of 72 hours of sending the vote email.
+Acknowledge the voting results on the mailing list in the VOTE thread.
+
+### Commit Distribution to SVN
+
+Commit the distribution via SVN to https://dist.apache.org/repos/dist/release:
+
+----
+svn co https://dist.apache.org/repos/dist/release/opennlp/ dist
+# check if the KEYS file contains your key, if not, update it
+# move the files from dev/models/<MODEL_TYPE>-<MODEL_VERSION> to dist/models/<MODEL_TYPE>-<MODEL_VERSION>
+svn commit --username <username> -m "Adding OpenNLP Models <version>"
+----
+
+### Delete Old Model Release(s)
+
+To reduce the load on the ASF mirrors, projects are required to delete old releases (see https://www.apache.org/legal/release-policy.html#when-to-archive).
+
+Remove the old model release from SVN under https://dist.apache.org/repos/dist/release/opennlp/models/. They are still contained in the archives.
+
+### Update the Website
+
+Update the  https://opennlp.apache.org/models.html[website] once the new version appears in the Apache download mirrors (keep checking https://www.apache.org/dyn/closer.cgi/opennlp/models/ until you see something).
+
+#### Add News Item
+
+- Add a news item in `news/model-{model-type}-{xyz}.ad` by copying the adjusted content:
+
+----
+= <MODEL_TYPE> Models for Apache OpenNLP released
+Apache OpenNLP
+2022-01-03
+:jbake-type: post
+:jbake-tags: community
+:jbake-status: published
+:category: news
+:idprefix:
+
+The Apache OpenNLP library is a machine learning based toolkit for the processing of natural language text.
+
+The Apache OpenNLP team is pleased to announce the release of <MODEL_TYPE>-<MODEL_VERSION> for Apache OpenNLP <OPENNLP_VERSION>.
+The models can <ADD_SUMMARY_HERE>
+
+Apache OpenNLP model and reports are available for download from our model download page:
+http://opennlp.apache.org/models.html

Review Comment:
   https? (to save a redirect I think)



##########
src/main/jbake/content/release-model.ad:
##########
@@ -0,0 +1,255 @@
+////
+   Licensed to the Apache Software Foundation (ASF) under one
+   or more contributor license agreements.  See the NOTICE file
+   distributed with this work for additional information
+   regarding copyright ownership.  The ASF licenses this file
+   to you under the Apache License, Version 2.0 (the
+   "License"); you may not use this file except in compliance
+   with the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing,
+   software distributed under the License is distributed on an
+   "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+   KIND, either express or implied.  See the License for the
+   specific language governing permissions and limitations
+   under the License.
+////
+= Making a model release
+:jbake-type: page
+:jbake-tags: building
+:jbake-status: published
+:idprefix:
+
+## Release Preparation
+
+- Elect a release manager.
+- Create a ticket for a new model release in JIRA. If you do not have permission to do so just ask to be given permissions on the mailing list.
+
+## Steps for the Release Manager
+
+The following steps need only to be performed once.
+
+- Make sure you have your PGP key entered into https://id.apache.org/.
+  Your KEYS will then be present in https://people.apache.org/keys/group/opennlp.asc.
+- Make sure you have your PGP keys password.
+- Add your PGP key to the KEYS file:
+----
+Examples of adding your key to this file:
+ pgp -kxa <your name> and append it to this file.
+ (pgpk -ll <your name> && pgpk -xa <your name>) >> this file.
+ (gpg --list-sigs <your name>
+     && gpg --armor --export <your name>) >> this file.
+----
+- In a local temp folder, svn checkout the OpenNLP artifacts and update the KEYS file
+----
+svn co https://dist.apache.org/repos/dist/release/opennlp/
+svn commit -m "Added Key for <name>" KEYS
+----
+
+## Release Steps
+
+- Train the models
+- Make sure to save the evaluation log for every model (adhere to the naming conventions, see below).
+- ZIP the evaluation logs.
+
+### Successful Model Release Preparation
+
+#### Perform the Model Release
+
+- Create sha512 checksums
+
+----
+# cd to model location
+for f in *; do   sha512sum "$f" > "$f.sha512"; done
+----
+
+- Create PGP signatures, see https://infra.apache.org/release-signing.html[for details].
+If you have multiple keys on your system, you might need to use `-u` to select the signing key.
+
+----
+# cd to model location
+# create asc signatures for model files
+for f in *.bin; do
+gpg --armor --output $f.asc --detach-sig $f
+done
+
+# create asc signature for evaluation logs
+for f in *.zip; do
+gpg --armor --output $f.asc --detach-sig $f
+done
+----
+
+- Add README, NOTICE, LICENSE and CHANGES (if any)
+
+- Create a folder in `dist/dev/models` in SVN
+
+----
+svn co https://dist.apache.org/repos/dist/dev/opennlp/ dist-dev
+# check if the KEYS file contains your key, if not, update it
+# copy the models and signatures to dist-dev/models/<MODEL_TYPE>-<MODEL_VERSION>
+svn commit --username <username> -m "Adding Release Candidate for OpenNLP Models <version>"
+----
+
+Check the dist/dev folder and if all looks well, open a VOTE but do *not* move the files to dist/release at this time.
+
+Make sure to adhere to the model naming conventions.
+
+#### Model Naming Conventions
+
+- The filenames of each model signify the model language, type, https://universaldependencies.org/[Universal Dependency training data used], and version numbers.
+- The filename format is `opennlp-[iso-language-code]-ud-[corpus]-[model-type]-[model-version]-[opennlp-version-used-for-training].bin`.
+- The evaluation logs must be zipped and adhere to the following format: `opennlp-training-eval-logs-[model-version]-[opennlp-version-used-for-training].zip`. It contains the evaluation logs for trained models.
+- For example, the model file `opennlp-de-ud-gsd-pos-1.0-1.9.3` is German language, trained on the UD GSD corpus, and is a parts-of-speech model. It is version 1.0 of the model, and it was trained using OpenNLP 1.9.3.
+
+
+**Note:** If other training data is used, the abbreviation `ud` needs to be adjusted!
+
+#### Check the Model Release Artifacts
+
+Perform basic checks against the release binary:
+
+- Check signature of generated artifacts.
+- Check presence and appropriateness of `LICENSE`, `NOTICE`, and `README` files.
+
+#### Create a VOTE Thread
+
+- Notify the developer mailing list of a new model vote. Be sure to replace all values in `[]` with the appropriate values.
+
+Message Subject: [VOTE] Apache OpenNLP Models [version] Release Candidate
+
+----
+Hi folks,
+
+I have posted a [Nth] release candidate for the Apache OpenNLP Models [UMODEL_VERSION] release and it is ready for testing.
+
+The models can be downloaded from: https://dist.apache.org/repos/dist/dev/opennlp/<MODEL_TYPE>-<MODEL_VERSION>
+
+The evaluation logs can be downloaded from https://dist.apache.org/repos/dist/dev/opennlp/<MODEL_TYPE>-<MODEL_VERSION>/opennlp-training-eval-logs-<MODEL_VERSION>-<OPENNLP_VERSION>.zip
+
+The models were trained with Apache OpenNLP [VERSION] tag.
+
+The release was made using the OpenNLP release process, documented on the website:
+https://opennlp.apache.org/release-model.html
+
+Please vote on releasing these models as Apache OpenNLP Models [MODEL_VERSION]. The vote is open for at least the next 72 hours.
+
+Only votes from OpenNLP PMC are binding, but everyone is welcome to check the model release candidate and vote.
+The vote passes if at least three binding +1 votes are cast.
+
+[ ] +1 Release the models as Apache OpenNLP Models [MODEL_VERSION]
+[ ] +0 meh, don't care
+[ ] -1 Do not release the models because of ${showstopper}
+
+Thanks!
+----
+
+## After a Successful Vote
+
+The vote is successful if at least 3 +1 votes are received from OpenNLP PMC members after a minimum of 72 hours of sending the vote email.

Review Comment:
   Is a `-1` vote from a PMC a veto to the vote? If so might be worth mentioning here too?



##########
src/main/jbake/content/release-model.ad:
##########
@@ -0,0 +1,255 @@
+////
+   Licensed to the Apache Software Foundation (ASF) under one
+   or more contributor license agreements.  See the NOTICE file
+   distributed with this work for additional information
+   regarding copyright ownership.  The ASF licenses this file
+   to you under the Apache License, Version 2.0 (the
+   "License"); you may not use this file except in compliance
+   with the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing,
+   software distributed under the License is distributed on an
+   "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+   KIND, either express or implied.  See the License for the
+   specific language governing permissions and limitations
+   under the License.
+////
+= Making a model release
+:jbake-type: page
+:jbake-tags: building
+:jbake-status: published
+:idprefix:
+
+## Release Preparation
+
+- Elect a release manager.
+- Create a ticket for a new model release in JIRA. If you do not have permission to do so just ask to be given permissions on the mailing list.
+
+## Steps for the Release Manager
+
+The following steps need only to be performed once.
+
+- Make sure you have your PGP key entered into https://id.apache.org/.
+  Your KEYS will then be present in https://people.apache.org/keys/group/opennlp.asc.
+- Make sure you have your PGP keys password.
+- Add your PGP key to the KEYS file:
+----
+Examples of adding your key to this file:
+ pgp -kxa <your name> and append it to this file.
+ (pgpk -ll <your name> && pgpk -xa <your name>) >> this file.
+ (gpg --list-sigs <your name>
+     && gpg --armor --export <your name>) >> this file.
+----
+- In a local temp folder, svn checkout the OpenNLP artifacts and update the KEYS file
+----
+svn co https://dist.apache.org/repos/dist/release/opennlp/
+svn commit -m "Added Key for <name>" KEYS
+----
+
+## Release Steps
+
+- Train the models
+- Make sure to save the evaluation log for every model (adhere to the naming conventions, see below).
+- ZIP the evaluation logs.
+
+### Successful Model Release Preparation
+
+#### Perform the Model Release
+
+- Create sha512 checksums
+
+----
+# cd to model location
+for f in *; do   sha512sum "$f" > "$f.sha512"; done
+----
+
+- Create PGP signatures, see https://infra.apache.org/release-signing.html[for details].
+If you have multiple keys on your system, you might need to use `-u` to select the signing key.
+
+----
+# cd to model location
+# create asc signatures for model files
+for f in *.bin; do
+gpg --armor --output $f.asc --detach-sig $f
+done
+
+# create asc signature for evaluation logs
+for f in *.zip; do
+gpg --armor --output $f.asc --detach-sig $f
+done
+----
+
+- Add README, NOTICE, LICENSE and CHANGES (if any)
+
+- Create a folder in `dist/dev/models` in SVN
+
+----
+svn co https://dist.apache.org/repos/dist/dev/opennlp/ dist-dev
+# check if the KEYS file contains your key, if not, update it
+# copy the models and signatures to dist-dev/models/<MODEL_TYPE>-<MODEL_VERSION>
+svn commit --username <username> -m "Adding Release Candidate for OpenNLP Models <version>"
+----
+
+Check the dist/dev folder and if all looks well, open a VOTE but do *not* move the files to dist/release at this time.
+
+Make sure to adhere to the model naming conventions.
+
+#### Model Naming Conventions
+
+- The filenames of each model signify the model language, type, https://universaldependencies.org/[Universal Dependency training data used], and version numbers.
+- The filename format is `opennlp-[iso-language-code]-ud-[corpus]-[model-type]-[model-version]-[opennlp-version-used-for-training].bin`.
+- The evaluation logs must be zipped and adhere to the following format: `opennlp-training-eval-logs-[model-version]-[opennlp-version-used-for-training].zip`. It contains the evaluation logs for trained models.
+- For example, the model file `opennlp-de-ud-gsd-pos-1.0-1.9.3` is German language, trained on the UD GSD corpus, and is a parts-of-speech model. It is version 1.0 of the model, and it was trained using OpenNLP 1.9.3.
+
+
+**Note:** If other training data is used, the abbreviation `ud` needs to be adjusted!
+
+#### Check the Model Release Artifacts
+
+Perform basic checks against the release binary:
+
+- Check signature of generated artifacts.
+- Check presence and appropriateness of `LICENSE`, `NOTICE`, and `README` files.
+
+#### Create a VOTE Thread
+
+- Notify the developer mailing list of a new model vote. Be sure to replace all values in `[]` with the appropriate values.
+
+Message Subject: [VOTE] Apache OpenNLP Models [version] Release Candidate
+
+----
+Hi folks,
+
+I have posted a [Nth] release candidate for the Apache OpenNLP Models [UMODEL_VERSION] release and it is ready for testing.
+
+The models can be downloaded from: https://dist.apache.org/repos/dist/dev/opennlp/<MODEL_TYPE>-<MODEL_VERSION>
+
+The evaluation logs can be downloaded from https://dist.apache.org/repos/dist/dev/opennlp/<MODEL_TYPE>-<MODEL_VERSION>/opennlp-training-eval-logs-<MODEL_VERSION>-<OPENNLP_VERSION>.zip
+
+The models were trained with Apache OpenNLP [VERSION] tag.
+
+The release was made using the OpenNLP release process, documented on the website:
+https://opennlp.apache.org/release-model.html
+
+Please vote on releasing these models as Apache OpenNLP Models [MODEL_VERSION]. The vote is open for at least the next 72 hours.
+
+Only votes from OpenNLP PMC are binding, but everyone is welcome to check the model release candidate and vote.
+The vote passes if at least three binding +1 votes are cast.
+
+[ ] +1 Release the models as Apache OpenNLP Models [MODEL_VERSION]
+[ ] +0 meh, don't care
+[ ] -1 Do not release the models because of ${showstopper}
+
+Thanks!
+----
+
+## After a Successful Vote
+
+The vote is successful if at least 3 +1 votes are received from OpenNLP PMC members after a minimum of 72 hours of sending the vote email.
+Acknowledge the voting results on the mailing list in the VOTE thread.
+
+### Commit Distribution to SVN
+
+Commit the distribution via SVN to https://dist.apache.org/repos/dist/release:
+
+----
+svn co https://dist.apache.org/repos/dist/release/opennlp/ dist
+# check if the KEYS file contains your key, if not, update it
+# move the files from dev/models/<MODEL_TYPE>-<MODEL_VERSION> to dist/models/<MODEL_TYPE>-<MODEL_VERSION>
+svn commit --username <username> -m "Adding OpenNLP Models <version>"
+----
+
+### Delete Old Model Release(s)
+
+To reduce the load on the ASF mirrors, projects are required to delete old releases (see https://www.apache.org/legal/release-policy.html#when-to-archive).
+
+Remove the old model release from SVN under https://dist.apache.org/repos/dist/release/opennlp/models/. They are still contained in the archives.
+
+### Update the Website
+
+Update the  https://opennlp.apache.org/models.html[website] once the new version appears in the Apache download mirrors (keep checking https://www.apache.org/dyn/closer.cgi/opennlp/models/ until you see something).
+
+#### Add News Item
+
+- Add a news item in `news/model-{model-type}-{xyz}.ad` by copying the adjusted content:
+
+----
+= <MODEL_TYPE> Models for Apache OpenNLP released
+Apache OpenNLP
+2022-01-03
+:jbake-type: post
+:jbake-tags: community
+:jbake-status: published
+:category: news
+:idprefix:
+
+The Apache OpenNLP library is a machine learning based toolkit for the processing of natural language text.
+
+The Apache OpenNLP team is pleased to announce the release of <MODEL_TYPE>-<MODEL_VERSION> for Apache OpenNLP <OPENNLP_VERSION>.
+The models can <ADD_SUMMARY_HERE>
+
+Apache OpenNLP model and reports are available for download from our model download page:
+http://opennlp.apache.org/models.html
+
+The models are compatible with Apache OpenNLP <OPENNLP_VERSION>.
+
+More information about this release can be found in the README.txt at:
+https://dist.apache.org/repos/dist/dev/opennlp/<MODEL_TYPE>-<MODEL_VERSION>/README.txt
+
+Details about this model effectiveness can be found in the following report:
+https://dist.apache.org/repos/dist/dev/opennlp/<MODEL_TYPE>-<MODEL_VERSION>/opennlp-training-eval-logs-<MODEL_VERSION>-<OPENNLP_VERSION>.zip
+
+--The Apache OpenNLP Team
+----
+
+#### Commit Website Changes.
+
+- Commit the website changes.
+- Rebuild opennlp-site and wait for site redeploy
+- Test and review the website. Test that all download links are working.
+
+### Post-Release Steps
+
+- Log the new version at https://reporter.apache.org/addrelease.html?opennlp.
+- Announce the new models on the OpenNLP Twitter.

Review Comment:
   Worth mentioning that the password is in the SVN area, maybe with a link? (I **think** it was in SVN... somewhere... ?)



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: dev-unsubscribe@opennlp.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [opennlp-site] rzo1 commented on a diff in pull request #78: OPENNLP-1433 - Document how to do model releases

Posted by GitBox <gi...@apache.org>.
rzo1 commented on code in PR #78:
URL: https://github.com/apache/opennlp-site/pull/78#discussion_r1060564501


##########
src/main/jbake/content/release-model.ad:
##########
@@ -0,0 +1,255 @@
+////
+   Licensed to the Apache Software Foundation (ASF) under one
+   or more contributor license agreements.  See the NOTICE file
+   distributed with this work for additional information
+   regarding copyright ownership.  The ASF licenses this file
+   to you under the Apache License, Version 2.0 (the
+   "License"); you may not use this file except in compliance
+   with the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing,
+   software distributed under the License is distributed on an
+   "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+   KIND, either express or implied.  See the License for the
+   specific language governing permissions and limitations
+   under the License.
+////
+= Making a model release
+:jbake-type: page
+:jbake-tags: building
+:jbake-status: published
+:idprefix:
+
+## Release Preparation
+
+- Elect a release manager.
+- Create a ticket for a new model release in JIRA. If you do not have permission to do so just ask to be given permissions on the mailing list.
+
+## Steps for the Release Manager
+
+The following steps need only to be performed once.
+
+- Make sure you have your PGP key entered into https://id.apache.org/.
+  Your KEYS will then be present in https://people.apache.org/keys/group/opennlp.asc.

Review Comment:
   Will check. That is a copy of release.html (so should also be fixed there)



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: dev-unsubscribe@opennlp.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [opennlp-site] rzo1 commented on pull request #78: OPENNLP-1433 - Document how to do model releases

Posted by GitBox <gi...@apache.org>.
rzo1 commented on PR #78:
URL: https://github.com/apache/opennlp-site/pull/78#issuecomment-1371297224

   @jzonthemtn I agree. Perhaps it is something we could address via the usual board minutes? So the ASF board is aware of it and maybe have a solution / way for it?


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: dev-unsubscribe@opennlp.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org