Skip to content

Commit

Permalink
feat: Specify AtVersion for automation (#1144)
Browse files Browse the repository at this point in the history
* Virtual property for AtVersion.supportedByAutomation

* Ensure that supportedByAutomation is testing in graphql query test

* Do not provide option to run with automation when minimum/exact at version reqs not supported by automation

* Support specifying required version to runner

* Version reporting for mock automation

* Support minimum version

* Pass macos_version workflow input when scheduling VoiceOver jobs

* Add test coverage

* Ensure correct os number sent to VoiceOver runner

* Remove errant log

* Ref and comment update after aria-at-gh-actions-helper merge

* Update server/util/getAtVersionWithRequirements.js

Co-authored-by: Mx Corey Frang <[email protected]>

* Move query updates to new TestQueue

* Update mock for DataManagePage and TestPlanReportStatusDialog, fix incorrect query after merge resolution

* Update to handle merge conflicts

* Correct dump test data with version recent enough for unit tests

* Correct version in dump test data

* JSDoc update for triggerWorkflow, fix missing arg in triggerWorkflow call, add issue link to comment, constants for at/browser combo check

---------

Co-authored-by: Mx Corey Frang <[email protected]>
  • Loading branch information
stalgiag and gnarf authored Jul 17, 2024
1 parent c913504 commit 52865e2
Show file tree
Hide file tree
Showing 20 changed files with 890 additions and 123 deletions.
25 changes: 21 additions & 4 deletions client/components/AddTestToQueueWithConfirmation/index.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -102,7 +102,9 @@ function AddTestToQueueWithConfirmation({

const hasAutomationSupport = isSupportedByResponseCollector({
at,
browser
browser,
minimumAtVersion,
exactAtVersion
});

const alreadyHasBotInTestPlanReport = useMemo(
Expand Down Expand Up @@ -328,10 +330,25 @@ AddTestToQueueWithConfirmation.propTypes = {
at: PropTypes.shape({
id: PropTypes.string.isRequired,
key: PropTypes.string.isRequired,
name: PropTypes.string.isRequired
name: PropTypes.string.isRequired,
atVersions: PropTypes.arrayOf(
PropTypes.shape({
id: PropTypes.string.isRequired,
name: PropTypes.string.isRequired,
supportedByAutomation: PropTypes.bool.isRequired
})
)
}),
exactAtVersion: PropTypes.shape({
id: PropTypes.string,
name: PropTypes.string,
supportedByAutomation: PropTypes.bool
}),
minimumAtVersion: PropTypes.shape({
id: PropTypes.string,
name: PropTypes.string,
supportedByAutomation: PropTypes.bool
}),
exactAtVersion: PropTypes.object,
minimumAtVersion: PropTypes.object,
buttonRef: PropTypes.object,
onFocus: PropTypes.func,
onBlur: PropTypes.func,
Expand Down
1 change: 1 addition & 0 deletions client/components/DataManagement/queries.js
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ export const DATA_MANAGEMENT_PAGE_QUERY = gql`
id
name
releasedAt
supportedByAutomation
}
candidateBrowsers {
id
Expand Down
10 changes: 10 additions & 0 deletions client/components/TestPlanReportStatusDialog/queries.js
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,12 @@ export const TEST_PLAN_REPORT_STATUS_DIALOG_QUERY = gql`
id
key
name
atVersions {
id
name
supportedByAutomation
releasedAt
}
}
browser {
id
Expand All @@ -31,10 +37,14 @@ export const TEST_PLAN_REPORT_STATUS_DIALOG_QUERY = gql`
minimumAtVersion {
id
name
supportedByAutomation
releasedAt
}
exactAtVersion {
id
name
supportedByAutomation
releasedAt
}
testPlanReport {
id
Expand Down
23 changes: 20 additions & 3 deletions client/components/TestQueue/AssignTesters.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -236,7 +236,9 @@ const AssignTesters = ({ me, testers, testPlanReport }) => {
const supportedByResponseCollector = isSupportedByResponseCollector({
id: testPlanReport.id,
at: testPlanReport.at,
browser: testPlanReport.browser
browser: testPlanReport.browser,
minimumAtVersion: testPlanReport.minimumAtVersion,
exactAtVersion: testPlanReport.exactAtVersion
});
if (!foundAtForBot || !supportedByResponseCollector) return null;
}
Expand Down Expand Up @@ -353,13 +355,28 @@ AssignTesters.propTypes = {
at: PropTypes.shape({
id: PropTypes.string.isRequired,
name: PropTypes.string.isRequired,
key: PropTypes.string.isRequired
key: PropTypes.string.isRequired,
atVersions: PropTypes.arrayOf(
PropTypes.shape({
id: PropTypes.string.isRequired,
name: PropTypes.string.isRequired,
supportedByAutomation: PropTypes.bool.isRequired
})
)
}).isRequired,
browser: PropTypes.shape({
id: PropTypes.string.isRequired,
name: PropTypes.string.isRequired,
key: PropTypes.string.isRequired
}).isRequired
}).isRequired,
minimumAtVersion: PropTypes.shape({
id: PropTypes.string.isRequired,
name: PropTypes.string.isRequired
}),
exactAtVersion: PropTypes.shape({
id: PropTypes.string.isRequired,
name: PropTypes.string.isRequired
})
}).isRequired
};

Expand Down
10 changes: 10 additions & 0 deletions client/components/TestQueue/queries.js
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ export const TEST_QUEUE_PAGE_QUERY = gql`
id
name
releasedAt
supportedByAutomation
}
browsers {
id
Expand All @@ -49,6 +50,12 @@ export const TEST_QUEUE_PAGE_QUERY = gql`
id
key
name
atVersions {
id
name
supportedByAutomation
releasedAt
}
}
browser {
id
Expand All @@ -58,10 +65,13 @@ export const TEST_QUEUE_PAGE_QUERY = gql`
minimumAtVersion {
id
name
supportedByAutomation
releasedAt
}
exactAtVersion {
id
name
supportedByAutomation
}
runnableTestsLength
conflictsLength
Expand Down
Loading

0 comments on commit 52865e2

Please sign in to comment.