W3C home > Mailing lists > Public > spec-prod@w3.org > January to March 2015

Integrating GitHub and Echidna

From: Robin Berjon <robin@w3.org>
Date: Fri, 20 Mar 2015 12:44:15 +0100
Message-ID: <550C080F.7050603@w3.org>
To: "spec-prod@w3.org" <spec-prod@w3.org>
Hi all,

I wanted to share a small experiment I did yesterday, with help from 
Marcos and Romain Deltour.

The idea was to get the App Manifest specification to auto-publish 
through Echidna whenever the editor makes a commit.

There was a bug on the Echidna side that prevented this from fully 
working, and since the fix has not been deployed I am not adding this to 
the wiki *yet*. However I wanted to share it so that you can start 
thinking about it, and possibly make improvements.

The idea is very simple: use Travis integration to ping Echidna whenever 
there's a commit.

For this you will need:

   - Everything set up as per https://github.com/w3c/echidna/wiki
   - The following .travis.yml in your repo, in the branch you wish to 
publish from: https://gist.github.com/darobin/3e35f67a6fd59833210e 
(suitably modified)
   - Travis integration activated for that repo; I think that at this 
point this requires the intervention from someone who has admin access 
(but it's just a button to push).

A few notes on the .travis.yml:

* It says "language: node_js". Ignore that. If you don't specify a 
language, Travis gives a warning. This is just to silence it.

* Under branches/only you want to include the branch you are publishing 
from. I STRONGLY recommend that you publish only from one branch; hence 
the lines. Also, Travis ignored gh-pages unless you include this.

* Under env/global you will want to change all three of URL (the URL of 
your file or manifest), DECISION (the decision to publish), and the 
weird-looking "secure" line.

The latter "secure" line is actually the encrypted token that you were 
given to publish with Echidna. It's probably a better idea to encrypt 
it, as done in the example above. Thankfully, it's very simple.

Basically, you install the travis tool (gem install travis), then run:

   travis encrypt TOKEN=your.beautiful.token

This will respond with:

   secure: "some encrypted garbage"

You can just paste the garbage on that line and it'll work. More details 
at http://docs.travis-ci.com/user/encryption-keys/.

That's all! With that in place, every commit you make to that branch 
gets you published in TR. You can see the build status at 
https://travis-ci.org/USER/REPO (e.g. 
https://travis-ci.org/w3c/manifest). Note that this can sometimes be 
slow, but it'll work eventually.

Also note that you won't be told through Travis if Echidna fails. That 
can only happen later.

As soon as the latest fix is deployed, I encourage you all to start 
using this. Let's make editors' drafts history!

Robin Berjon - http://berjon.com/ - @robinberjon
Received on Friday, 20 March 2015 11:44:18 UTC

This archive was generated by hypermail 2.4.0 : Friday, 17 January 2020 19:55:20 UTC