Home

Awesome

Open XDMoD Quality Assurance Repository

This repository contains scripts and other assets for testing Open XDMoD and Open XDMoD modules.

Usage

Linters

To make use of the linters used by Open XDMoD on your local system, perform the steps below.

  1. Clone this repo onto your local system.
  2. Install dependencies declared by files in the repo's base directory.
    1. To install Composer dependencies, run composer install in the repo's base directory. The programs Composer downloads will then be available in [xdmod-qa]/vendor/bin.
    2. To install npm dependencies, run npm install in the repo's base directory. The programs npm downloads will then be available in [xdmod-qa]/node_modules/.bin.
  3. Install the style linter config files to a parent directory of your Open XDMoD repos. Run [xdmod-qa]/style/install.sh [parent-dir] to do this easily.

Shippable

Create a shippable.yml file in the root of your module's repository. You can copy / use the template at path scripts/template.yml to get started.

In shippable.yml make sure the following environment variables are set with values applicable to your module:

Optionally you can set the following (qa-test-setup.sh is a helper script that resides in the base XDMoD repo that takes care of checking out & running the qa scripts ):

Custom Test Hooks

If your module needs to perform custom tests or tasks not run by this repo's scripts, you can create custom scripts in your repo with the following paths and they will be run for you at the specified times. (Remember to make your script files executable!)

Versioning

This repository loosely follows Semantic Versioning. While exact version numbers will not be assigned to commits, branches will be named for a major version number (e.g. v1, v2). When breaking changes need to be made, a new branch will be created with the next available major version number and the changes will be made there.