adoptium / adoptium/aqa-test-tools

Define API for aggregate dashboard data

Open
#43 1 comment 0 reactions 0 assignees View on GitHub
enhancement
Dominant language
Jupyter Notebook
Stars
33
Forks
97
Avg merge
7h 9m
Merged PRs (30d)
5

Description

From #16, data that matters:
[ # pass, # fail, # excluded, # lastPass, # lastFail, # lastExcluded, platform, impl, version, testGroup ]

definitions:
TA = totalsArray is [totalPass, totalFail, totalSkipped, totalExcludes]
sdkID = combo of Jenkins Job/BuildID info and SHAs that uniquely define the sdk binary being tested (shas of CL, VM, OMR, ...)

API:
TA = getTotals(sdkID)
TA = getTotalsForGroup(testGroup, sdkID)
TA = getTotalsForPlatform(platform, sdkID)
TA = getTotalsForJDKImpl(impl, sdkID)
TA = getTotalsForLevel(impl, sdkID)
TA = getTotalsForPlatformAndGroup(platform, testGroup, sdkID)
TA = getTotalsForLevelPlatformImpl(level, platform, impl, sdkID)
TA = getTotalsForLevelGroupPlatformImpl(level, group, platform, impl, sdkID)
sdkID = getPreviousBuildID(sdkID)
sdkID = getPreviousReleaseID(sdkID)

The underlying implementation of this API can be optimized and reuse common code (as most methods do the same activity, pulling pass/fail/skip/excludes data from the DB and add them to create totalsArray). In initial MVP, excludes data is not populated.

Note: we will use the combo of url, buildName and BuildNum as sdkID until we update the parser code to store shas of CL, VM, OMR.

Contributor guide

Open the contributing guide

Research direction

Start by locating the existing database aggregation implementation and the parser code mentioned in the issue. Review how pass, fail, skip, and exclude values are combined, then compare the available data with the listed API methods and sdkID rules. Done means the API contract is defined for the requested queries, with excludes left unpopulated for the initial MVP.

Written by the indexing model from the issue text.

Assessment

Domain
api, backend, databases
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.