<commit_before># Scabot helps out on GitHub, manages CI
Scabot (pronounced ska-BOH) helps shepherd pull requests in the [Scala repository](https://github.com/scala/scala) along the path from initial submission to final merge.

## Usage
Scabot tries to stay behind the scenes. It speaks to us through actions rather than words, where possible.
You shouldn't have to tell it what to do, unless something goes wrong (usually Jenkins acting up).

Scabot works by listening to webhook events from GitHub and [our CI server](https://scala-ci.typesafe.com).

It can be summoned (immediately!) through certain commands, posted as pull request comments (see below).

### Automations and Activities
  - Trigger CI builds for commits, keeping us informed of their progress. (It will also pick up the results of manual rebuilds done directly on the CI server.)
  - Set milestone of a PR based on its target branch.
  - Let us know whether a contributor has signed the Scala CLA.
  - Add "reviewed" label when there's a comment starting with "LGTM"
  - For its ambitions, check out [Scabot's issues](../../issues).

### Commands
  - `/rebuild`: rebuild failed jobs for all commits
  - `/rebuild $sha`: rebuild failed jobs for a given commit
  - `/synch`: make sure that commit stati are in synch with the actual builds on the [CI server](https://scala-ci.typesafe.com).
  - `/nothingtoseehere`: mark commits green without actually running CI on them

### PR Title Modifiers
  - `[ci: last-only]`: include anywhere in the PR title to avoid verifying all commits, limiting CI to the last one

## Admin
For ssh access to the server running the bot, this assumes you're using our [dev machine setup](https://github.com/scala/scala-jenkins-infra/blob/master/doc/client-setup.md).

### Deploy
Scabot runs on the CI server under the `scabot` account. We [push to deploy](../../issues/10). (The deployment process could maybe be redone at some point using sbt-native-packager's JavaServerAppPackaging (see https://github.com/sbt/sbt-native-packager/issues/521) -- or whatever Play folks usually use, now that Scabot is a Play/Akka app, not just Akka anymore.)

### Logs
`ssh scabot "less ~/logs/current"`

### Restart (last resort)
`ssh jenkins-master`, and `sudo /etc/init.d/scabot restart`.
<commit_msg>tweak readme<commit_after># Scabot helps out on GitHub, manages CI
Scabot (pronounced ska-BOH) helps shepherd pull requests in the [Scala repository](https://github.com/scala/scala) along the path from initial submission to final merge.

## Usage
Scabot tries to stay behind the scenes. It speaks to us through actions rather than words, where possible.
You shouldn't have to tell it what to do, unless something goes wrong (usually Jenkins acting up).

Scabot works by listening to webhook events from GitHub and [our CI server](https://scala-ci.typesafe.com).

It can be summoned (immediately!) through certain commands, posted as pull request comments (see below).

### Automations and Activities
  - Trigger CI builds for commits, keeping us informed of their progress. (It will also pick up the results of manual rebuilds done directly on the CI server.)
  - Set milestone of a PR based on its target branch.
  - Let us know whether a contributor has signed the Scala CLA.
  - Add "reviewed" label when there's a comment starting with "LGTM"
  - For its ambitions, check out [Scabot's issues](../../issues).

### Commands
  - `/rebuild`: rebuild failed jobs for all commits
  - `/rebuild $sha`: rebuild failed jobs for a given commit
  - `/synch`: make sure that commit stati are in synch with the actual builds on the [CI server](https://scala-ci.typesafe.com).
  - `/nothingtoseehere`: mark commits green without actually running CI on them

### PR Title Modifiers
  - `[ci: last-only]`: include anywhere in the PR title to avoid verifying all commits, limiting CI to the last one

## Admin
For ssh access to the server running the bot, this assumes you're using our [dev machine setup](https://github.com/scala/scala-jenkins-infra/blob/master/doc/client-setup.md).

### Deploy
Scabot runs on the CI server under the `scabot` account. We [push to deploy](../../issues/10). (The deployment process could maybe be redone at some point using sbt-native-packager's JavaServerAppPackaging (see https://github.com/sbt/sbt-native-packager/issues/521) -- or whatever Play folks usually use, now that Scabot is a Play/Akka app, not just Akka anymore.)

### Logs
`ssh jenkins-master`, and `less ~scabot/logs/current`

### Restart (last resort)
`ssh jenkins-master`, and `sudo /etc/init.d/scabot restart`.

{'fraction_non_alphanumeric': 0.09507195813344962, 'fraction_numerical': 0.002180549498473615, 'mean_word_length': 4.085365853658536, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 10, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1132855', 'n_tokens_mistral': 1381, 'n_tokens_neox': 1266, 'n_words': 612}