Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

[WIP] Begin a specification release review checklist #193

Open
wants to merge 3 commits into
base: main
Choose a base branch
from

Conversation

starksm64
Copy link
Contributor

This is the start of a set of checklists and specification process docs to follow in MP

Signed-off-by: Scott M Stark [email protected]

Copy link
Contributor

@ederks85 ederks85 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

- [ ] SHA-256 fingerprint matches staged TCK zip file on cert request

10. EMO/PMC tasks
- [ ] Specification project team contacts the EMO to initiate the review by sending an email to [email protected]. An issue will be created by the EMO to track the release review. Reference the https://projects.eclipse.org/projects/ee4j.jaxb/releases/3.0 release page.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can the reference be MicroProfile project - https://projects.eclipse.org/projects/technology.microprofile or do we need to wait for finished release first?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It needs to reference a release under the https://projects.eclipse.org/projects/technology.microprofile. I don't see any currently under there, so one needs to be created. Only the platform spec would need to contact the EMO on behalf of all other specs.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The releases have since been created and/or updated. We can use one of these as the example.
MP 4.0: https://projects.eclipse.org/projects/technology.microprofile/releases/microprofile-4.0
Config 2.0 (example): https://projects.eclipse.org/projects/technology.microprofile/releases/config-2.0

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We forgot to include the final step, the Result Ballot notification after the initiated ballot is sent.
can you add the step to Metrics? https://docs.google.com/document/d/1wISp-yRzQZNOHULNekxxg1U18be3v-3CRUswklcpmr8/edit

When creating a specification project release review, create PRs with the content defined as follows.

Include the following in the PR:
- [ ] A directory in the form <project-name>/x.y where <project-name> is the specificaiton project name
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think it is best to point to the release artifact, such as https://download.eclipse.org/microprofile/microprofile-config-2.0-RC1/microprofile-config-spec.html
In this case, there is no need to upload the artifacts somewhere else and less error prone.
Therefore, I suggest the form -release-version.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The https://download.eclipse.org/microprofile/ directory is too flat in my opinion. The content should be structured based on the current platform version with the specifications under that. So there should be a
https://download.eclipse.org/microprofile/4.0 directory that contains the microprofile-config-2.0-RC1 contents for example.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have simplified the format, review again please

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Since we are talking about individual spec releases. I think for the time being, the file structure for the spec pdf, html and javadoc can be under these kind of format: https://download.eclipse.org/microprofile/- e.g. https://download.eclipse.org/microprofile/microprofile-config-2.0-RC3/microprofile-config-spec.pdf

(micropfile-config, microprofile-health, ...) and x.y is the release major.minor version, and the directory contains the following.
- [ ] Specification PDF in the form of microprofile-project-spec-x.y.pdf where
_project_ is the microprofile specification short project name (config, health, ...)
- [ ] Specification HTML in the form of microprofile-project-spec-x.y.html
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

same as above

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

See the updated content

spec/pull_request_template.md Outdated Show resolved Hide resolved
<add URL here>
- [ ] The URL of the compatibility certification request issue:
<add URL here>
- [ ] Specification JavaDoc in the <project-name>/x.y/apidocs directory.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you move the javadoc together with spec pdf and html as they are all under the directory?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

See the updated format of the issue template

- [ ] For a [Release Review](https://www.eclipse.org/projects/handbook/#release-review), a summary that a Compatible Implementation is complete, passes the TCK, and that the TCK includes sufficient coverage of the specification. The TCK users guide MUST include the instructions to run the compatible implementations used to validate the release.
Instructions MAY be by reference.
- [ ] Updated release record
- [ ] Generated IP Log
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Since MP is under one project, generating IP Log covers all projects. There will be massive duplication of IP Log for each included specs. In the past, only umbrella release generate IP Log.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For a platform spec that is true. If you are generating a non-platform release of a spec, then that is not true. We'll probably have to figure that out when it is needed.

- [ ] For a Progress Review, that sufficient progress has been made on a Compatible Implementation and TCK, to ensure that the spec is implementable and testable.
- [ ] For a [Release Review](https://www.eclipse.org/projects/handbook/#release-review), a summary that a Compatible Implementation is complete, passes the TCK, and that the TCK includes sufficient coverage of the specification. The TCK users guide MUST include the instructions to run the compatible implementations used to validate the release.
Instructions MAY be by reference.
- [ ] Updated release record
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What do you mean by updated release record?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

1, that it exists, and 2, that it has the correct date. The date determines when it can be scheduled for a review in the bi-weekly EMO release approval meetings.

- [ ] Generated IP Log
- [ ] Email to PMC
- [ ] Start release review by emailing EMO
- [ ] The URL of the OSSRH staging repository for the api, javadoc:
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think you might have taken the Jakarta EE format. Since MP specs have api, tck under the same roof, you can delete the following line about tck and amend this line to include tck as well.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This has been simplified

@radcortez
Copy link
Contributor

Are we ok with this? I would like to have this merged before starting the MP Config Release, to make sure there are no changes in the checklists to use.

@radcortez radcortez self-requested a review October 29, 2020 12:57
@Emily-Jiang
Copy link
Member

I don't think the staging directory can be created based on the experiment. We need to figure this out. The Close button is greyed out for me. I am not sure whether it is always greyed out or it is only enabled for @jclingan or @kwsutter. If not, we need to figure out where to stage the artifacts.

- [ ] For a [Release Review](https://www.eclipse.org/projects/handbook/#6_3_3_Release_Review):
- [ ] Updated release record
- [ ] Generated IP Log (For the microprofile platform release)
- [ ] Email to PMC
Copy link
Member

@Emily-Jiang Emily-Jiang Oct 29, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please add PMC's email address by making PMC a hyperlink

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Or, just provide a link to the governance page, which has links for doing all of this (ip log generation and email notificiations).

- [ ] Updated release record
- [ ] Generated IP Log (For the microprofile platform release)
- [ ] Email to PMC
- [ ] Start release review by emailing EMO
Copy link
Member

@Emily-Jiang Emily-Jiang Oct 29, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please add EMO's email address by making EMO a hyperlink

@kwsutter
Copy link
Contributor

I don't think the staging directory can be created based on the experiment. We need to figure this out. The Close button is greyed out for me. I am not sure whether it is always greyed out or it is only enabled for @jclingan or @kwsutter. If not, we need to figure out where to stage the artifacts.

@Emily-Jiang Can you clarify your statement? What "close" button are you referring to? In sonatype? MicroProfile committers can request additional permissions by writing an issue against sonatype. A project lead needs to approve the request and then you will have the necessary permissions. If you are referring to something else, please clarify. Thanks.

@kwsutter
Copy link
Contributor

I guess I'm a little confused on the intent of this PR. Based on our last Hangout call (10/27), I thought we were focused on an Issue Template. But, I still see a PR checklist on this PR, which is still very slanted toward our Jakarta EE process. Is the PR checklist still in play? Or, should that be removed from this PR? I will limit my comments to the Issue Template until I hear otherwise. Thanks!

Copy link
Contributor

@kwsutter kwsutter left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Several general questions and comments... Thanks!

---

## Specification issue template
When creating a specification project lifecycle review, create issues in the with the content defined as follows.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The last part of this sentence needs some work. Were you going to reference the repository with the "in the .." clause? If so, then let's just specify this microprofile repo: https://github.com/eclipse/microprofile. If not, then just remove the "in the.." clause and the sentence still makes sense. Thanks.

## Specification issue template
When creating a specification project lifecycle review, create issues in the with the content defined as follows.

- [ ] Specification name and version
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just to clarify, can we modify this to say "..and the two digit version"? Or, maybe provide an example, such as "MicroProfile Config 2.0"? We have found with Jakarta EE that if we're not specific, then we get different answers that may need to be updated and that frustrates the developers.

When creating a specification project lifecycle review, create issues in the with the content defined as follows.

- [ ] Specification name and version
- [ ] Add a label from one of: creation, plan, progress, release
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let's have these labels standout by enclosing in ticky marks: creation, plan, progress, release

Do we need to reference the EFSP (or MPSP) somewhere in this Template so that developers know what these terms mean and why we're requesting what we are requesting?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I am not sure why we need 4 labels. Besides, this labels are only suitable for spec releases. I think it is better to make it more specific by prefixing SR-Creation etc, so that other github issues won't use these labels. I think we only need three labels: SR-Creation, SR-Progress, SR-Release. When we first create the issue, label it SR-Creation. When making progress, change the label to SR-Progress. When it is ready to be released, change the label to SR-Release


- [ ] Specification name and version
- [ ] Add a label from one of: creation, plan, progress, release
- [ ] A link to a directory under https://download.eclipse.org/microprofile/staging in the form orgeclipsemicroprofile-NNN where
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a little confusing. Are we conflating the sonatype process with our download site within Eclipse? For example, I don't think we currently push our Specification documents out to sonatype/maven. So, to setup a staging repository that contains this type of material seems out of sync.

How is this staging directory populated? And, then how does this staging get promoted to the main download site (https://download.eclipse.org/microprofile)?

- [ ] A link to a directory under https://download.eclipse.org/microprofile/staging in the form orgeclipsemicroprofile-NNN where
NNN is the staging repository id assigned to the staged with the following: (Does not apply to creation/plan review lifecycle events.)
(micropfile-config, microprofile-health, ...) and x.y is the release major.minor version, and the directory contains the following.
- [ ] Specification PDF in the form of microprofile-_project_-spec.pdf where
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For Jakarta EE, we decided that the file names should have the version number as well since the files may get separated from the directory structure once they are downloaded. So, -spec-x.y.pdf as an example.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I checked all of MP specs. There are two types of the formats: spec.pdf and spec-x-y.pdf in a rough split ratio. Kevin made a good point. Let me double check the specs and fix/raise issues to get them fixed.

_project_ is the microprofile specification short project name (config, health, ...)
- [ ] Specification HTML in the form of microprofile-_project_-spec.html
- [ ] An apidocs directory containing the javadoc associated with the API jar.
- [ ] A copy of the staged api jar, and TCK artifact
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy or a url reference for the staged API? Same question for TCK.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These staged api jar and tck artifacts are under sonatype. This link will be different. e.g. https://oss.sonatype.org/content/repositories/orgeclipsemicroprofile-1351/

- [ ] For a [Release Review](https://www.eclipse.org/projects/handbook/#6_3_3_Release_Review):
- [ ] Updated release record
- [ ] Generated IP Log (For the microprofile platform release)
- [ ] Email to PMC
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Or, just provide a link to the governance page, which has links for doing all of this (ip log generation and email notificiations).

- [ ] Generated IP Log (For the microprofile platform release)
- [ ] Email to PMC
- [ ] Start release review by emailing EMO
- [ ] Summary that a Compatible Implementation is complete, passes the TCK, and that the TCK includes sufficient coverage of the specification.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Are we going to request a public TCK Results page? Is that the "summary" you are referring to?

- [ ] Summary that a Compatible Implementation is complete, passes the TCK, and that the TCK includes sufficient coverage of the specification.
- [ ] For a [Progress Review](https://www.eclipse.org/projects/handbook/#6_3_5_Progress_Review), that sufficient progress has been made on a Compatible Implementation and TCK, to ensure that the spec is implementable and testable.

Note: If any item does not apply, check it and mark N/A below it.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

And, add a comment about why it's not applicable...

@@ -0,0 +1,73 @@
# Spec Review Checklist
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this checklist file still in play? If so, there are several changes to modify the "jakarta ee" references to "microprofile". If not, then we should just remove it.

- [ ] Specification PDF in the form of microprofile-_project_-spec.pdf where
_project_ is the microprofile specification short project name (config, health, ...)
- [ ] Specification HTML in the form of microprofile-_project_-spec.html
- [ ] An apidocs directory containing the javadoc associated with the API jar.
Copy link
Member

@Emily-Jiang Emily-Jiang Nov 3, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I suggest update this to [ ] An apidocs directory containing the javadoc

- [ ] Index page {spec}/x.y/_index.md following (TBD) [template](https://github.com/eclipse/microprofile/blob/master/spec/spec_page_template.md)
- [ ] Staging repository link of the form
https://oss.sonatype.org/#nexus-search;gav~org.eclipse.microprofile.{spec}~microprofile-{spec}-api~~~~kw,version
- [ ] EFTL TCK link of the form http://download.eclipse.org/microprofile/microprofile-{spec}-{version}/+.zip
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

TCK zip is not under download site. It is in sonatype.

- [ ] PDF of form {spec}-spec-x.y.pdf ("-spec" preferred but not required)
- [ ] HTML of form {spec}-spec-x.y.html ("-spec" preferred but not required)
- [ ] Index page {spec}/x.y/_index.md following (TBD) [template](https://github.com/eclipse/microprofile/blob/master/spec/spec_page_template.md)
- [ ] Staging repository link of the form
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

- [ ] Staging repository link of the form
https://oss.sonatype.org/#nexus-search;gav~org.eclipse.microprofile.{spec}~microprofile-{spec}-api~~~~kw,version
- [ ] EFTL TCK link of the form http://download.eclipse.org/microprofile/microprofile-{spec}-{version}/+.zip
- [ ] Compatibility certification link of the form https://github.com/eclipse/microprofile-{spec}/#{issue}
Copy link
Member

@Emily-Jiang Emily-Jiang Nov 3, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do you mean create a new issue to log TCK certification?

- [ ] Link to spec pdf
- [ ] Link to spec html
- [ ] Link to apidocs
- [ ] Link to final TCK download zip file of the form http://download.eclipse.org/microprofile/microprofile-{spec}-{version}/*{spec}-tck-x.y.z.zip
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The link is incorrect. TCK zip does not live under this site.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Once we release, the tck zip will go to maven central.

@kwsutter
Copy link
Contributor

kwsutter commented Nov 5, 2020

FYI, @starksm64... We're trying to nail down the appropriate template via this Issue created for Config 2.0-RC9...
microprofile/microprofile-wg#4

@Emily-Jiang and I were trying to come up with an issue template PR that could be used to make progress (https://github.com/microprofile/microprofile-wg/pulls). We eventually decided it was easier to just create an Issue, work through the proper Description, and then create the Issue Template from the final version. It would be good to get your views and comments on the Issue description. Thanks.

(We had a good discussion on this week's MicroProfile hangout call, if you wish to review that for background.)

test action for an issue milestone workflow
Copy link
Contributor

@aeiras aeiras left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A few reviews started but the final step is not there yet. I have added the feedback on each Spec to add the Result ballot step. Can the general template integrate the step before more Specs use the template?

- [ ] SHA-256 fingerprint matches staged TCK zip file on cert request

10. EMO/PMC tasks
- [ ] Specification project team contacts the EMO to initiate the review by sending an email to [email protected]. An issue will be created by the EMO to track the release review. Reference the https://projects.eclipse.org/projects/ee4j.jaxb/releases/3.0 release page.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We forgot to include the final step, the Result Ballot notification after the initiated ballot is sent.
can you add the step to Metrics? https://docs.google.com/document/d/1wISp-yRzQZNOHULNekxxg1U18be3v-3CRUswklcpmr8/edit

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants