The Scope of AQAvit

Eclipse AQAvit Project Scope

Eclipse AQAvit is a very active subproject with the Eclipse Adoptium Working Group. It is a project where a broad set of contributors come together around the topic of quality assurance for OpenJDK builds. By working together in an open-source project, the goal is to share in the workload and activities around testing OpenJDK distributions with the additional goals of deduplicating effort, and freeing folks to work on more innovation! Within the scope of AQAvit falls both AQAvit verification, which is really a quality bar for OpenJDK binaries, and development support especially for JDK developers.

AQAvit Verification

AQAvit has rapidly become the de facto standard by which companies can measure whether they trust the quality of the OpenJDK distribution they are selecting. This trust is earned because AQAvit has developed a consistent and open approach to measuring quality, as well providing an open toolset that any JDK distributor can use to demonstrate that they meet the AQAvit quality bar. This is why one of the criteria for listing a distribution in the Adoptium marketplace includes the requirement to run and pass the AQAvit verification suite.

At this time, there are a number of vendors listed in the Adoptium marketplace. The marketplace API includes links to AQAvit results for the different distributions. This serves as direct evidence of the quality of the binaries listed in the marketplace as well as an indicator of the open and transparent nature of their quality assurance work.

Adoptium Marketplace Vendors

The Adoptium project uses AQAvit verification for the release activities for its Eclipse Temurin binaries. Since Temurin covers a broad set of platforms and versions, this is an ambitious effort! An overview of the activities of AQAvit testing and triage is covered by this presentation, which takes a look at the January and April 2024 Critical Patch Update (CPU) triage activities.

April AQAvit Triage April AQAvit Triage

In summary, millions of tests are run during a release! The test pipelines produce artifacts to show details about which binary is under test, what tests were run against that product, noting where the test material was sourced, whether the product passed those tests, what machines the tests were run on and so forth. These artifacts are then uploaded and made available via the Adoptium marketplace API for reference alongside the binaries.

Developer Support

AQAvit provides developer support for JDK and Java application developers through its regular, publicly visible test runs, and bug tracking. The developer support also includes a flexible system that allows for addition of new test material, and for tuning to a specific development need. AQAvit was designed to integrate with various CI/CD tools, including GitHub Actions, making it a great choice for pull request testing and offering a continuous lens on the quality of code commits.

2024 AQAvit Plan

The AQAvit manifesto sets out the criteria that we created to guide the work of the AQAvit project. We aim to continuously evolve AQAvit alongside the continuously changing OpenJDK implementations in order to stay relevant and useful. The ‘vit’ in AQAvit from the Latin root and reminds us of this criteria to remain vital. With that in mind, we have a great deal of cool work in the 2024 plan!

We gave an initial view of some targeted items of 2024 in our recent AQAvit Community call. This included some stretch goals such as enhanced developer support through the upcoming Trestle initiative, additional tools to support AQAvit verification, and much more. You can find a list of 2024 features in the proposed agenda, and please feel welcome to join and/or put comments into upcoming community calls.

aqavit

Do you have questions or want to discuss this post? Hit us up on the Adoptium Slack workspace!


Shelley Lambert

Posted by Shelley LambertAdoptium PMC and Adoptium WG Steering Committee member, Red Hat