Challenge How To

Install GEval

In order to evaluate your work locally, you need the GEval tool. First, install Haskell Stack:

  curl -sSL https://get.haskellstack.org/ | sh

and then install GEval itself:

  git clone git://gonito.net/geval
  cd geval
  stack setup
  stack install

(GEval will make your life easier, but is not obligatory, so if you have any trouble with installing GEval, you can skip this step, for the time being.)

Get your repo $if not isIDSet || not isSSHUploaded

You need to $if not isIDSet \ set up your ID $if not isSSHUploaded \ and $if not isSSHUploaded \ upload your SSH public key \ (see your account) if you want to have a repo hosted on Gonito.net, then:

  git clone ssh://gitolite@gonito.net/#{idToBeShown}/#{challengeName challenge}
  cd #{challengeName challenge}
  git pull ssh://gitolite@gonito.net/#{challengeName challenge}
  git push origin master

(Alternatively, you can use any other Git repo, e.g. GitHub, make sure Gonito.net has access to your repo.)

Work on your solution

You need to generate your solution for the test set as test-A/out.tsv. You may also generate the solution for the dev set (dev-0/out.tsv).

You can evaluate results for the dev set locally:

  cd #{challengeName challenge}
  geval --test-name dev-0

Push your solution to the git repo

Commit and push out.tsv files to your repo. It is also recommended to push your source codes along with out.tsv files.

  cd #{challengeName challenge}
  git add dev-0/out.tsv test-A/out.tsv # also your source codes could be added
  git commit -m 'my brilliant solution'
  git push origin master

Repos hosted on Gonito.net

If you use a repo hosted here, a submission and evaluation is triggered automatically. You'll see the evaluation results in your console while pushing.

External repos

If you use an external repo (e.g. at your own of Gitolite or at GitHub), you can configure a webhook. $maybe token <- mToken

Your webook is:

     https://gonito.net/trigger-remotely?token=#{token}&branch=master&challenge=#{challengeName challenge}&url=URL_TO_YOUR_REPO
   

(must be POSTed)

Manual submission

In case other methods fail, you can submit your solution manually — go to the submit form.