Setting up Echidna as a GitHub hook

Denis Ah-Kang edited this page Jun 23, 2017 · 7 revisions

You can use Travis integration to ping Echidna whenever there's a commit.
This PR might be useful for you as template of sorts: it contains almost every change that was needed in real repos to set them up for automatic publication with Echidna.

For this you will need:

language: node_js
    - gh-pages
    - URL=""
    - DECISION=""
    - secure: "<your encrypted token here!>"
  - echo "ok"
  - test $TRAVIS_PULL_REQUEST = false && curl "" --data "url=$URL" --data "decision=$DECISION" --data "token=$TOKEN"

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 ignores 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 --no-rdoc --no-ri), 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 about encrypting stuff on the Travis site, should you need it.

You should also check the syntax of your .travis.yml before committing it.

travis lint .travis.yml

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 (e.g.

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.

You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.