<commit_before>## GitLab CI Multi-purpose Runner

This is GitLab CI Multi-purpose Runner repository an **unofficial GitLab CI runner written in Go**, this application run tests and sends the results to GitLab CI.
[GitLab CI](https://about.gitlab.com/gitlab-ci) is the open-source continuous integration server that coordinates the testing.

This project was made as Go learning opportunity. The initial release was created within two days.

[![Build Status](https://ci.gitlab.com/projects/1885/status.png?ref=master)](https://ci.gitlab.com/projects/1885?ref=master)

### Requirements

**None. This project is designed for the Linux, OS X and Windows operating systems.**

### Features

* Allows to run:
 - multiple jobs concurrently
 - use multiple tokens with multiple server (even per-project)
 - limit number of concurrent jobs per-token
* Jobs can be run:
 - locally
 - using Docker container
 - using Docker container and executing job over SSH
 - connecting to remote SSH server
* Is written in Go and distributed as single binary without any other requirements
* Supports Bash, Windows Batch and Windows PowerShell
* Works on Ubuntu, Debian, OS X and Windows (and anywhere you can run Docker)
* Allows to customize job running environment
* Automatic configuration reload without restart
* Easy to use setup with support for docker, docker-ssh, parallels or ssh running environments
* Enables caching of Docker containers
* Easy installation as service for Linux, OSX and Windows

### Installation

* [Install using Debian/Ubuntu/CentOS/RedHat package (preferred)](docs/install-on-linux.md)
* [Install on OSX (preffered)](docs/install-on-osx.md)
* [Install on Windows (preffered)](docs/install-on-windows.md)
* [Install as Docker Service](docs/install-on-docker.md)
* [Manual installation (advanced)](docs/install-manually.md)
* [Bleeding edge (development)](docs/install-bleeding-edge.md)

### Advanced Configuration

* [See advanced configuration options](docs/advanced-configuration.md)
* [See example configuration file](config.toml.example)

### Example integrations

* [Integrate GitLab CE](docs/example-integration-gitlab.md)
* [Integrate GitLab CI](docs/example-integration-gitlab-ci.md)

### Extra projects?

If you want to add another project, token or image simply RE-RUN SETUP. *You don't have to re-run the runner. He will automatically reload configuration once it changes.*

### FAQ

Have any problems. Please [Go To Issues](https://gitlab.com/ayufan/gitlab-ci-multi-runner/issues).

### Changelog

Visit [Changelog](CHANGELOG.md) to view recent changes.

### Help

```bash
$ gitlab-ci-multi-runner --help
NAME:
   gitlab-ci-multi-runner - a GitLab-CI Multi Runner

USAGE:
   gitlab-ci-multi-runner [global options] command [command options] [arguments...]

VERSION:
   dev<commit_msg>Added information about official repository<commit_after>## GitLab CI Multi-purpose Runner

This is GitLab CI Multi-purpose Runner repository an **unofficial GitLab CI runner written in Go**, this application run tests and sends the results to GitLab CI.
[GitLab CI](https://about.gitlab.com/gitlab-ci) is the open-source continuous integration server that coordinates the testing.

[![Build Status](https://ci.gitlab.com/projects/1885/status.png?ref=master)](https://ci.gitlab.com/projects/1885?ref=master)

### Contributing

The official repository for this project is on [GitLab.com](https://gitlab.com/gitlab-org/gitlab-ci-multi-runner).

* [Issues](https://gitlab.com/gitlab-org/gitlab-ci-multi-runner/issues)
* [Merge Requests](https://gitlab.com/gitlab-org/gitlab-ci-multi-runner/merge_requests)

### Requirements

**None. This project is designed for the Linux, OS X and Windows operating systems.**

### Features

* Allows to run:
 - multiple jobs concurrently
 - use multiple tokens with multiple server (even per-project)
 - limit number of concurrent jobs per-token
* Jobs can be run:
 - locally
 - using Docker container
 - using Docker container and executing job over SSH
 - connecting to remote SSH server
* Is written in Go and distributed as single binary without any other requirements
* Supports Bash, Windows Batch and Windows PowerShell
* Works on Ubuntu, Debian, OS X and Windows (and anywhere you can run Docker)
* Allows to customize job running environment
* Automatic configuration reload without restart
* Easy to use setup with support for docker, docker-ssh, parallels or ssh running environments
* Enables caching of Docker containers
* Easy installation as service for Linux, OSX and Windows

### Installation

* [Install using Debian/Ubuntu/CentOS/RedHat package (preferred)](docs/install-on-linux.md)
* [Install on OSX (preffered)](docs/install-on-osx.md)
* [Install on Windows (preffered)](docs/install-on-windows.md)
* [Install as Docker Service](docs/install-on-docker.md)
* [Manual installation (advanced)](docs/install-manually.md)
* [Bleeding edge (development)](docs/install-bleeding-edge.md)

### Advanced Configuration

* [See advanced configuration options](docs/advanced-configuration.md)
* [See example configuration file](config.toml.example)

### Example integrations

* [Integrate GitLab CE](docs/example-integration-gitlab.md)
* [Integrate GitLab CI](docs/example-integration-gitlab-ci.md)

### Extra projects?

If you want to add another project, token or image simply RE-RUN SETUP. *You don't have to re-run the runner. He will automatically reload configuration once it changes.*

### Changelog

Visit [Changelog](CHANGELOG.md) to view recent changes.

### Help

```bash
$ gitlab-ci-multi-runner --help
NAME:
   gitlab-ci-multi-runner - a GitLab-CI Multi Runner

USAGE:
   gitlab-ci-multi-runner [global options] command [command options] [arguments...]

VERSION:
   dev
{'fraction_non_alphanumeric': 0.1043630017452007, 'fraction_numerical': 0.002792321116928447, 'mean_word_length': 4.800607287449393, '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': '4950364', 'n_tokens_mistral': 1731, 'n_tokens_neox': 1583, 'n_words': 588}