async update()

in src/GitHubOverview.js [59:88]


  async update() {
    const url = `https://s3.amazonaws.com/ossci-job-status/v5/${this.props.user}/${this.props.repo}/${this.props.json}`;
    const resp = await fetch(url);
    const data = await resp.json();
    let jobNames = {};
    let byName = [];
    for (const commit of data) {
      let jobsByName = {};
      for (const job of commit.jobs) {
        jobNames[job.name] = true;
        jobsByName[job.name] = job;
      }
      byName.push(jobsByName);
    }
    jobNames = Object.keys(jobNames);
    jobNames.sort();
    let statuses = [];
    for (const commit of byName) {
      let commitStatuses = [];
      for (const jobName of jobNames) {
        let status = "unknown";
        if (commit[jobName]) {
          status = commit[jobName].status;
        }
        commitStatuses.push(status);
      }
      statuses.push(commitStatuses);
    }
    this.setState({ statuses: statuses });
  }