department-of-veterans-affairs / va.gov-cms

Editor-centered management for Veteran-centered content.
https://prod.cms.va.gov
GNU General Public License v2.0
96 stars 70 forks source link

Investigate new methods of initiating and reporting automated tests. #8667

Open ndouglas opened 2 years ago

ndouglas commented 2 years ago

Description

We currently use go-task to run tests locally (rarely), in Tugboat for CI, and on BRD in the staging post-deploy tests. We should evaluate whether Task is still the best choice for our precise use cases.

Background and Complications

We originally used a system called Yaml Tasks, which was part of Devshop. When we shifted to Tugboat, we kept Yaml Tasks around for a while, but this became troublesome with the update to Drupal 9 (see #4871). At that time, we replaced it with Task; the primary goal was a 1:1 feature parity. This involved a nontrivial amount of highly fragile and visually appalling code injected into the Taskfiles in order to get output reported with the nontraditional approaches taken to standard I/O taken by Lando, Tugboat, and BRD (via Jenkins, Ansible, etc):

Screen Shot 2022-04-07 at 12 16 37 PM

So Tugboat executes a Task command on certain environments, which then uses additional tools like github-status-updater to actually report the tests' status back to GitHub.

Things to consider:

Acceptance Criteria

CMS Team

Please check the team(s) that will do this work.

EWashb commented 10 months ago

Not sure if we still need this but I'll remove it out of the older/closed epic it is assigned to.