# SCIP workflow (sourcegraph/checkup)

> The SCIP workflow from sourcegraph/checkup, explained and optimized by Latchkey.

Source: https://latchkey.dev/workflows/sourcegraph-checkup-scip  
Upstream: [sourcegraph/checkup](https://github.com/sourcegraph/checkup/blob/master/.github/workflows/scip.yml) (.github/workflows/scip.yml), licence MIT

## What it does

This is the SCIP workflow from the sourcegraph/checkup repository, a real project running GitHub Actions. It is shown here with attribution under its MIT license.

Below, Latchkey shows a faster, safer version produced by its optimization engine.

## The workflow

```yaml
name: SCIP
'on':
  - push
jobs:
  scip-go:
    runs-on: ubuntu-latest
    container: sourcegraph/scip-go
    steps:
      - uses: actions/checkout@v1
      - name: Get src-cli
        run: curl -L https://sourcegraph.com/.api/src-cli/src_linux_amd64 -o /usr/local/bin/src;
          chmod +x /usr/local/bin/src
      - name: Set directory to safe for git
        run: git config --global --add safe.directory $GITHUB_WORKSPACE
      - name: Generate SCIP data
        run: scip-go
      - name: Upload SCIP data to Cloud
        run: src code-intel upload -github-token='${{ secrets.GITHUB_TOKEN }}' -no-progress
        env:
          SRC_ENDPOINT: https://sourcegraph.com
          SRC_ACCESS_TOKEN: ${{ secrets.SRC_ACCESS_TOKEN_DOTCOM }}
      - name: Upload SCIP to S2
        run: src code-intel upload -github-token='${{ secrets.GITHUB_TOKEN }}' -no-progress
        env:
          SRC_ENDPOINT: https://sourcegraph.sourcegraph.com/
          SRC_ACCESS_TOKEN: ${{ secrets.SRC_ACCESS_TOKEN_S2 }}
```

## FAQ

### What does the SCIP workflow (sourcegraph/checkup) workflow do?

This is the SCIP workflow from the sourcegraph/checkup repository, a real project running GitHub Actions. It is shown here with attribution under its MIT license.

### What CI health grade does this workflow get?

This Automation and other workflow grades C. Paste your own workflow into the Latchkey grader to see its grade and the exact fixes.

### How can I improve this Automation and other workflow?

Add run de-duplication and job timeouts. Latchkey applies these automatically on managed runners when you point runs-on at Latchkey.

---

Latchkey runs CI/CD that repairs its own failures. Agent entry points: https://latchkey.dev/agent.txt, https://latchkey.dev/openapi.json, https://latchkey.dev/llms.txt
