w3c / webrtc-respec-ci

Script to run continuous integration on a respec-based spec
2 stars 14 forks source link

webrtc-respec-ci

Script to run continuous integration on a respec-based specification.

Description

This Makefile can be used with the Travis CI continuous integration system (within a .travis.yml file) or locally from a Debian-based system before contributing to a specification maintained by the W3C WebRTC WG.

Commands

setup (to be used locally) - Setup dependencies on Debian-based system

update (to be used locally) - Update dependencies on Debian-based system

travissetup (to be used on Travis) - Setup dependencies on Travis CI

check - Run the following checks on your respec document:

tidy - Cleanup your document markup using tidy-html5

Usage

Local use

Example usage on the Media Capture and Streams specification

git clone git@github.com:w3c/mediacapture-main.git
cd mediacapture-main
make setup
make check

The mediacapture-main/Makefile script will take care of installing and setting up webrtc-respec-ci and its dependencies automatically.

With Travis

Example .travis.yml file using Travis CI's Container-based infrastructure.

language: python
python: "2.7"

dist: trusty

branches:
  only:
    - /.*/

sudo: false

addons:
  apt:
    packages:
      - libwww-perl
      - libcss-dom-perl
  chrome: stable

cache:
  directories:
    - node_modules # NPM packages

before_install:
  - nvm install lts/*

install:
 - make travissetup

script:
 - make check

Line wrapping

This script can help you ensure that your modifications do not break line wrapping of the original document.

Check line wrapping (using default line length of 100 characters defined in webrtc-respec-ci/tidy.config):

LINEWRAP=true make tidycheck

You can define a specific line length for your document by editing tidy.config and setting the wrap option to the desired line length eg wrap: 80.