Cloud-CV/EvalAI

View on GitHub
frontend_v2/src/app/components/challenge-create/challenge-create.component.html

Summary

Maintainability
Test Coverage
<app-side-bar *ngIf="authService.isAuth"></app-side-bar>
<app-header-static></app-header-static>
<div class="web-container">
  <div class="challenge-create-flex">
    <div class="challenge-create-content">
      <section class="ev-md-container text-center">
        <div class="row">
          <div class="col s12 m9 offset-m2">
            <div class=" ev-card-panel ev-z-depth-5 create-card">
                <div class="ev-md-container ev-panel-title text-med-black fs-18"><i class="fa fa-github fa-lg"></i> Challenge creation using GitHub</div>
                <div class="ev-md-container ev-card-body exist-team-card">
                    <div class="col">
                        <ol>
                            <li>Use this repository as <a href="https://docs.github.com/en/free-pro-team@latest/github/creating-cloning-and-archiving-repositories/creating-a-repository-from-a-template" class="highlight-link" target="_blank">template</a>.</li>
                            <li>Generate your <a href="https://docs.github.com/en/free-pro-team@latest/github/authenticating-to-github/creating-a-personal-access-token" class="highlight-link" target="_blank">github personal acccess token</a> and copy it in clipboard.</li>
                            <li>Add the github personal access token in the forked repository's <a href="https://docs.github.com/en/free-pro-team@latest/actions/reference/encrypted-secrets#creating-encrypted-secrets-for-a-repository">secrets</a> with the name <b>AUTH_TOKEN</b>.</li>
                            <li> Now, go to <a href="https://eval.ai" class="highlight-link" target="_blank">EvalAI</a> to fetch the following details -</li>
                            <ol>
                                <li>evalai_user_auth_token - Go to <a href="https://eval.ai/web/profile" class="highlight-link" target="_blank">profile page</a> after logging in and click on <b>Get your Auth Token</b> to copy your auth token.</li>
                                <li>host_team_pk - Go to <a href="https://eval.ai/web/challenge-host-teams" class="highlight-link" target="_blank">host team page</a> and copy the <b>ID</b> for the team you want to use for challenge creation.</li>
                                <li>evalai_host_url - Use <b><a href="https://eval.ai" class="highlight-link" target="_blank">https://eval.ai</a></b> for production server and <b><a href="https://staging.eval.ai" class="highlight-link" target="_blank">https://staging.eval.ai</a></b> for staging server.</li>
                            </ol>
                            <li>Create a branch with name <b>challenge</b> in the forked repository from the `master` branch.
                                <br>
                            <span><strong>Note</strong>: Only changes to <b>challenge</b> branch will be synchronized with challenge on EvalAI.</span></li>
                            <li>Add <b>evalai_user_auth_token</b> and <b>host_team_pk</b> in <b>github/host_config.json</b>.</li>
                            <li>Read <a href="https://evalai.readthedocs.io/en/latest/configuration.html" class="highlight-link" target="_blank">EvalAI challenge creation documentation</a> to know more about how you want to structure your challenge. Once you are ready, start making changes in the yaml file, HTML templates, evaluation script according to your need.</li>
                            <li>Commit the changes and push the <b>challenge</b> branch in the repository and wait for the build to complete. View the <a href="https://docs.github.com/en/free-pro-team@latest/actions/managing-workflow-runs/using-workflow-run-logs#viewing-logs-to-diagnose-failures" class="highlight-link" target="_blank">logs of your build</a>.</li>
                            <li>If challenge config contains errors then a <b>issue</b> will be opened automatically in the repository with the errors otherwise the challenge will be created on EvalAI.</li>
                            <li>Go to <a href="https://eval.ai/web/hosted-challenges" class="highlight-link" target="_blank">Hosted Challenges</a> to view your challenge. The challenge will be publicly available once EvalAI admin approves the challenge.</li>
                            <li>To update the challenge on EvalAI, make changes in the repository and push to the <b>challenge</b> branch and wait for the build to complete. </li>
                        </ol>
                    </div>
                  </div>
            </div>
          </div>
        </div>

        <!-- <div class="row">
          <div class="col s12 m9 offset-m2">
              <div class=" ev-card-panel ev-z-depth-5 create-card">
                  <div class="ev-md-container ev-panel-title text-med-black fs-18"> <i class="fa fa-upload"></i> Challenge creation using zip</div>
                  <div class="ev-md-container ev-card-body exist-team-card">
  
                    <div class="file-field input-field col s6 offset-m3">
                      <form name="ChallengeCreateForm" #ChallengeCreateForm="ngForm" (ngSubmit)="challengeCreate()" novalidate>
                        <div class="waves-effect waves-dark btn ev-btn-dark w-300 fs-14">
                          <span>Upload File</span>
                          <input
                            name="input_file"
                            (change)="handleUpload($event)"
                            accept=".json, .zip, .txt"
                            type="file"
                            class="text-dark-black dark-autofill w-400"
                            [(ngModel)]="ChallengeCreateForm['input_file']"
                          />
                        </div>

                        <div class="file-path-wrapper">
                          <input disabled class="file-path validate" name="file_path" type="text" />
                          <div *ngIf="isFormError" class="wrn-msg text-highlight fs-12">Please Upload File</div>
                        </div>

                        <div class="align-left reg-control">
                          <button
                            class="btn ev-btn-dark waves-effect waves-dark grad-btn grad-btn-dark fs-14"
                            type="submit"
                            value="Submit"
                          >
                            Submit
                          </button>
                        </div>
                      </form>
                    </div>
                  </div>
              </div>
          </div>
        </div>
        <div class="row">
          <div class="col s12 m9 offset-m3">
            <i class="fa fa-info-circle"></i>
            To know how to create a challenge using zip file configuration, please see our documentation
            <a
              href="https://evalai.readthedocs.io/en/latest/challenge_creation.html#challenge-creation-using-zip-configuration"
              class="highlight-link"
              target="_blank"
              >here.</a
            >.
          </div>
        </div>
        <div *ngIf="isSyntaxErrorInYamlFile" class="row">
          <hr class="hr-line" />
          <div class="col s12 m9 offset-m3">
            <div class="syntax-wrn-msg text-highlight">
              The YAML file in the challenge configuration contains the following error - <br />
              {{ syntaxErrorInYamlFile }}
            </div>
          </div>
        </div> -->
        <br />

        <!-- <div class="center-element fs-20">OR</div><br/>
        <div class="waves-effect waves-dark btn grad-btn ev-btn-dark w-300 use-template" [routerLink]="[challengeTemplatesListRoute]">
        <span>Use a Template</span>
        </div> -->
      </section>
    </div>
    <app-footer [isDash]="true" *ngIf="authService.isAuth"></app-footer>
  </div>
</div>

<app-footer *ngIf="!authService.isAuth"></app-footer>