Firefox extensions with Travis CI
Developing an extension for Firefox is no different than developing anything else and CI is a good idea. It’s actually very easy to use Travis to run your test suite. For those that don’t know, Travis is a great resource for running CI on your open source projects for free.
Travis will install any version of Firefox you need and as it has them cached it’s much quicker than downloading it yourself. Specify the version with an
addons element. The commands in the
before_script section setup a headless window service and unpack Firefox. The
tar command uses a wildcard to match the Firefox version requested, less to remember when updating the version. The environment variable
jpm where to find Firefox. This should be all you need to run
jpm on any
jpm based extension with Travis.
language: node_js env: global: - DISPLAY=:99.0 - JPM_FIREFOX_BINARY=$TRAVIS_BUILD_DIR/firefox/firefox addons: firefox: "38.0" before_script: - sh -e /etc/init.d/xvfb start - tar xvjf /tmp/firefox-*.tar.bz2 -C $TRAVIS_BUILD_DIR/ - npm install jpm -g script: - jpm test
You can see this in action with a little project of mine over at Travis.