[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
Re: [jakarta.ee-spec] Adding or fixing tests in a TCK's service release
|
On 3/24/21 2:26 PM, David Blevins
wrote:
Another aspect to capturing from today's spec committee call.
We are fixing TCK tests to ensure they run on Java 11. Strictly speaking this is not allowed per the Jakarta EE TCK Process 1.0 [1]:
How Tests May be Added to a TCK
The only time tests may be added to a TCK are in a major or minor
release. A service release which updates the exclude list MUST not
have test additions or changes.
What this means to communicate is the only action that can be taken is to remove/exclude tests. I argued for being able to fix TCKs, but we decided against it and I was ultimately ok with that as I was confident it would only be a matter of time before we'd want to do it and see the value. Since we are doing it now at large scale for Java 11, we may want to revisit the discussion and policy.
Since we are producing most of the Standalone TCKs from the
Jakarta EE Platform TCK project, it is likely that we will trip
over this on major/minor releases in the future. More likely for
a minor than a major but it could happen on either to any EE
Specifications that do not get updated for the major/minor
release. We will reduce the tripping over this as soon as we do
extract the Standalone TCKs from the Platform TCK, for whichever
TCKs we do that for.
To reflect what we are doing for EE 9.1, we could update the TCK
Process wording to be specific to the Platform level:
"The only time tests may be added to a TCK are in a major or
minor
EE release. An EE service release which updates the exclude list
MUST not have
test additions or changes."
Whatever we change the ^ wording to, I suggest we update
https://github.com/jakartaee/jakarta.ee/pull/1018 to reflect it.
I hope that this helps the discussion!
I can see the clear argument that if a spec team wishes to add new tests that would require at least a minor version, but fixing them is ok. If we require a CCR for service releases of TCKs that feels like a less risky thing to do in practice. Our practice now is that we are doing it and we were not planning to create CCRs.
If we look at the
TCK-Challenge-processing-status, we can see some of the
steps involved in processing accepted TCK challenges:
- Build the
9.0.x
branch Platform TCK.
- Verify excluded tests.
- Verify (one-off) that excluded tests in previous service
release were properly excluded.
- Verify Full Platform tests are passing.
- Verify Web Profile tests are passing.
- Verify updated Standalone TCK tests are passing.
- Promote the EFTL TCKS.
- Promote EPL TCKs.
- Release the TCKs and update jakarta.ee/specifications/
index.md pages.
If we require a CCR for service releases of each TCK, that will complicate
instead of simplify our process (for the EE 9.1 release and even
more so for service releases). The result being that more
effort/coordination will be required that might involve the
separate Spec teams. I'm guessing that a new step could be added
after step 6 or 8 for creating separate Spec team issues to
generate the CCR that blocks the TCK challenge process by however
long it takes the generate the CCR. We need to discuss what the
(separate) Spec team would do exactly to generate the CCR and
process whatever else they need to process so that someone can do
steps 7-9 and run the script to copy the TCKs to the right place.
We are tracking
TCK Challenges here which could be updated to also track
CCRs but only the Jakarta EE Platform TCK committers can update
this project so we might need each separate Spec project to track
their CCRs later after we extract Standalone TCKs out of the
Platform TCK. Or perhaps the separate SPEC teams should do the
verification of the separate produced TCKs and they can own
producing the CCRs for service/minor/major releases as well.
Scott