Script to run continuous integration on a respec-based specification.
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.
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:
- Check line wrapping using tidy-html5. Optional enable it with
LINEWRAP=true
- respec validity
- WebIDL validity using widlproc
- HTML5 validity of the generated file using html5validator/Nu Html Checker
- Check internal links using linkchecker
tidy
- Cleanup your document markup using tidy-html5
Example usage on the Media Capture and Streams specification
git clone [email protected]: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.
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
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
.