acquia/orca

A tool for testing a company's software packages together in the context of a realistic, functioning, best practices Drupal build

Maintainers

Details

github.com/acquia/orca

Source

Issues

Installs: 106 232

Dependents: 0

Suggesters: 0

Security: 0

Stars: 15

Watchers: 15

Forks: 17

Open Issues: 7


README

Latest Stable Version Total Downloads Latest Unstable Version License Coverage Status Build Status

ORCA Logo

ORCA (Official Representative Customer Application) is a tool for testing a company's Drupal-adjacent software packages. It ensures their cross compatibility and correct functioning by installing all of them together into a realistic, functioning, best practices Drupal build and running automated tests and static code analysis on them. Its guiding design principle is to use company packages as a customer would. It installs the latest recommended versions via Composer and performs no manual setup or configuration.

What does it do? What is the value?
Adds all company packages to a Drupal project via Composer, installs them and their subextensions, and runs their automated tests. Ensures that all company packages can be added to the same codebase via Composer (prevents dependency conflicts), that there are no adverse install time or functional interactions between them, and that they have no undeclared dependencies, and prevents regressions.
Adds only the package under test to a BLT project via Composer, installs it and its subextensions, and runs its automated tests. Ensures that the package under test has no undeclared dependencies on other company packages and functions correctly on its own.
Performs the above tests with the recommended, stable versions of company packages, Drupal core, and Drush. Ensures that the package under test still works with the versions of other software already released and in use and prevents releases of the package from disrupting the ecosystem.
Performs the above tests using the latest development versions of company packages, Drupal core, and Drush. Ensures that the package under test will continue to work when new versions of other software are released and prevents changes in the ecosystem from breaking the package. Forces early awareness and collaboration between project teams and prevents rework and release day emergency support situations.
Performs the above tests using a wide spread of Drupal core versions. Ensures that the package under test still works on all supported releases of Drupal and will continue to work when future ones drop.
Upgrades to and from various versions of Drupal core and runs automated tests. Ensures that the upgrade process for the package under tests works and that it continues to function correctly afterward.
Performs static analysis of the package under test. Ensures low level construction quality. (Prevents PHP warnings and errors, version incompatibility, etc.)

See Continuous integration for exact details.

Documentation