Skip to content

About emcee-hosted runners#

You can use Emcee computing cloud to run jobs in your GitHub Actions workflows. Adding emcee-hosted runner will extend your machines fleet. By one-liner change you will get performance boost. Look below how to.

Info

As for now, we support only GitHub. Contact us if you want emcee-hosted runners for Gitlab, TC, etc

Prerequisites#

First, you need to create an account at emcee.cloud. If not yet, procced to registration process.

Once you have an activated accout, issue an access token.

If you don't know if you have a runners quota, please reach out to us to get free trial period activated.

Setup#

Follow steps below to get a permanent github worker attached to your organization or repository.

1. Open setting and create runner#

You may have Emcee runner assigned with a specific repository or an organization. Open relevant setting page and proceed to "Actions| Runners". Then create "New self-hosted runner".

github_settings.png

2. Assing Emcee runners as your GitHub self-hosted runner#

Now you should get URL address of the repository (or organizaion) and runner registration token.

create_github_runner.png

Use them along with your emcee access token to register emcee runner:

curl -L https://emcee.cloud/runners/v1/runners \
  -H "Authorization: Bearer <YOUR_EMCEE_ACCESS_TOKEN>" \
  -d '{
    "type": "macos",
    "url": "<GITHUB REPO/ORG URL>",
    "regToken": "<GITHUB RUNNER REGISTRATION TOKEN>"
  }'

Usually, it takes up to one minute to get runner registered and activated.

To remove emcee runner:

curl -L https://emcee.cloud/runners/v1/runners/<RUNNER_NAME> \
  -H "Authorization: Bearer <YOUR_EMCEE_ACCESS_TOKEN>" \
  -X DELETE

Info

By default we add following labels to each registered runner:

  • macos, emcee-hosted, arm64

If you need own label in your CI pipelines specify it during runner registration at emcee.cloud: "labels": ["custom-label-if-any"],

Info

Emcee-hosted runners will get added to the default runner group.

3. Adjust CI jobs to use emcee-hosted runner#

Specify that emcee-hosted runners should be used for your GitHub Actions workflow jobs:

jobs:
  macos:
    name: "Some pipeline step"
    runs-on: emcee-hosted
    steps:
      - uses: actions/checkout@v4
      - name: Install emcee
        run: brew install avito-tech/tap/emcee-cloud
      - name: Check emcee-cloud installation
        run: emcee-cloud --version

4. Setup your firewall (if necessary)#

If you need to access internal services from workloads within emcee-hosted runner you may expect incoming requests from a fixed range of network addresses. Reflect it in your firewall config.