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

EPIC: Centralize and update test documentation #1558

Open
3 of 17 tasks
smlambert opened this issue Jan 15, 2020 · 13 comments
Open
3 of 17 tasks

EPIC: Centralize and update test documentation #1558

smlambert opened this issue Jan 15, 2020 · 13 comments
Assignees
Labels

Comments

@smlambert
Copy link
Contributor

smlambert commented Jan 15, 2020

Since test doc lives all over the place it is hard to find and navigate, we will do a reorg/rewrite based on feedback received through slack, etc.

Based on comments captured below in this issue, it will be tackled in parts

Noting that this EPIC specifically targets the content that needs to be created, updated and centralized. There will be a separate issue to cover how to display the final set of docs (with some prototyping happening under https://github.com/smlambert/smlambert.github.io and viewable at https://smlambert.github.io/

@smlambert
Copy link
Contributor Author

Test-related documentation (some of which is not relevant to most consumers of AQA, but listed for completeness:

https://github.com/AdoptOpenJDK/openjdk-tests/blob/master/README.md
https://github.com/AdoptOpenJDK/openjdk-tests/blob/master/buildenv/docker/README.md
https://github.com/AdoptOpenJDK/openjdk-tests/blob/master/doc/Triage.md
https://github.com/AdoptOpenJDK/openjdk-tests/blob/master/doc/TriageChecklist.md
https://github.com/AdoptOpenJDK/openjdk-tests/blob/master/doc/userGuide.md
https://github.com/AdoptOpenJDK/openjdk-tests/blob/master/external/README.md
https://github.com/AdoptOpenJDK/openjdk-tests/blob/master/functional/SyntheticGCWorkload/README.md
https://github.com/AdoptOpenJDK/openjdk-tests/blob/master/jck/README.md
https://github.com/AdoptOpenJDK/openjdk-tests/blob/master/openjdk/README.md
https://github.com/AdoptOpenJDK/openjdk-tests/blob/master/perf/README.md
https://github.com/AdoptOpenJDK/openjdk-tests/blob/master/system/README.md
https://github.com/AdoptOpenJDK/openjdk-test-tools/blob/master/README.md
https://github.com/AdoptOpenJDK/openjdk-test-tools/blob/master/PerfNext/README.md
https://github.com/AdoptOpenJDK/openjdk-test-tools/blob/master/SmartMedia/README.md
https://github.com/AdoptOpenJDK/openjdk-test-tools/blob/master/TestResultSummaryService/README.md
https://github.com/AdoptOpenJDK/openjdk-test-tools/blob/master/test-result-summary-client/README.md
https://github.com/AdoptOpenJDK/TKG/blob/master/README.md
https://github.com/AdoptOpenJDK/stf/blob/master/README.md
https://github.com/AdoptOpenJDK/stf/blob/master/stf.build/docs/build.md
https://github.com/AdoptOpenJDK/stf/blob/master/stf.core/docs/STF-GettingStarted.md
https://github.com/AdoptOpenJDK/stf/blob/master/stf.core/docs/STF-Internals.md
https://github.com/AdoptOpenJDK/stf/blob/master/stf.core/docs/STF-Manual.md
https://github.com/AdoptOpenJDK/stf/blob/master/stf.load/docs/README.md
https://github.com/AdoptOpenJDK/stf/blob/master/stf.load/docs/arguments.md
https://github.com/AdoptOpenJDK/stf/blob/master/stf.samples/docs/readme.md

https://github.com/AdoptOpenJDK/openjdk-systemtest/blob/master/README.md (and all its subdirs)
https://github.com/eclipse/openj9-systemtest/blob/master/README.md
and
https://github.com/eclipse/openj9/blob/master/test/README.md
https://github.com/eclipse/openj9/tree/master/test/docs
and
https://github.com/AdoptOpenJDK/openjdk-tests/wiki/How-to-Run-a-Grinder-Build-on-Jenkins
https://github.com/AdoptOpenJDK/openjdk-tests/wiki/Guidance-for-Creating-OpenJDK-Test-Defects
https://github.com/AdoptOpenJDK/openjdk-tests/wiki/Graduated-Testing-&-Test-Numbers

and probably some of the most used / useful guides:
https://github.com/eclipse/openj9/wiki/Reproducing-Test-Failures-Locally

@smlambert
Copy link
Contributor Author

Use https://diataxis.fr/ as a guidance for this work.

  • Tutorials / Learning-oriented
  • How-to Guides / Task-oriented
  • Reference / Information-oriented
  • Explanation / Understanding-oriented

Hopefully within the next weeks, I will be able to outline some content and categorize it according to the above areas

@smlambert
Copy link
Contributor Author

Do not forget to add a section for the labeling schema we use (and also so that as it is extended, it continues to make sense and is not extended in non-intuitive ways), original notes here: https://github.com/smlambert/openjdk-infrastructure/blob/labels/docs/jenkinslabels.md

@smlambert
Copy link
Contributor Author

C4Dynamic
    title The 3 layers of AQAvit 

Boundary(b, "AQAvit") {

System_Boundary(b2, "Monitoring, Aggregation & Reporting") {
    Component(c4, "TRSS", "Test Results Summary Service", "Stores and represents aggregate test results, allows for advanced search and reporting capabilities.")
    }

    System_Boundary(b1, "CI Layer") {
      Component(c3, "Jenkins", "CI Server", "Multiplex/parallelize test jobs across multiple nodes and platforms.")
    }


    Container_Boundary(b01, "Test Nodes") {
      Component(c01, "TKG", "Test Kit Gen", "Provides base level functionality for standardizing the many disparate test frameworks.")

   }


}

    BiRel(c4, c3, "TRSS polls CI for console output", "Jenkins API")
    BiRel(c01, c3, "Jenkins in contact with Jenkins agent on test node")
   
    UpdateRelStyle(c01, c3, $textColor="red", $offsetY="-20", $offsetX="10") 
    UpdateRelStyle(c4, c3, $textColor="red", $offsetY="-40", $offsetX="10")
    
   UpdateLayoutConfig($c4ShapeInRow="3", $c4BoundaryInRow="1")

Loading

@smlambert
Copy link
Contributor Author

rerunLinks

@smlambert
Copy link
Contributor Author

smlambert commented Feb 22, 2023

groupGranularity

@smlambert
Copy link
Contributor Author

smlambert commented Mar 10, 2023

Other docs to include:

  • AQA definition to be updated from AdoptOpenJDK Quality Assurance v1 to Adoptium Quality Assurance Definition
  • Etiquette for handling PRs (if contributor asks for a review from a particular reviewer because they know the code well, we should respect that request, within reason. Also unless there is something breaking the world, it is better to take time with reviews, it is not a race)
  • Additional Guidance for code reviewers (how to determine what additional testing is required, its is not all automated PR testing, by choice and for good reason)
  • Terminology reference (what does 'test target', 'dynamic agent', 'dynamic compilation', 'dynamic parallelization', 'TAP', etc refer to?)
  • Scope of AQAvit, various ways it can and should be used:
    • AQAvit verification (9 top-level targets currently forming the definition of that)
    • Cloud Compatibility Program (9 top-level targets + 1 more, still being defined)
    • Development support (all top-level targets in the grid, including any and all dev level testing)
    • Vendor-specific proprietary test support (and and all top-level targets in the grid, plus overlaid vendor tests)
  • Jenkins label schema (including all existing/known labels in use, by the project and downstream/vendor use)

@smlambert smlambert changed the title Centralize and update test documentation EPIC: Centralize and update test documentation Mar 13, 2023
@smlambert smlambert moved this to In Progress in Adoptium 2Q 2023 Plan Mar 13, 2023
@Ndacyayisenga-droid
Copy link
Contributor

Hi @smlambert. Can we work on this together?

@smlambert
Copy link
Contributor Author

Hi @smlambert. Can we work on this together?

Happily @Ndacyayisenga-droid !

@llxia
Copy link
Contributor

llxia commented Sep 12, 2023

It would be nice to have docs about the AQAvit release and add the usage of testenv.properties in the AQA repo (https://adoptium.net/docs/aqavit-verification/ ).

@smlambert
Copy link
Contributor Author

re: #1558 (comment) - agree, added it to the description above (in the "how-to" section).

@smlambert
Copy link
Contributor Author

Update docs regarding container based and dynamic agent tests riffing off of this diagram created during a meeting with AQAvit committers

containerBased_DynamicTestNodesDiagram

@sxa
Copy link
Member

sxa commented Nov 22, 2024

If not explicitly included in any of the points above, #5770 (comment) has a short comment thread on how to improve usability of the custom_target value for the tests.

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

Successfully merging a pull request may close this issue.

5 participants