Getting started

Troubleshooting

#

Stuck at "Waiting for runner"

There are a couple of things you can do before contacting support.

  • Is the BuildJet GitHub App installed on your GitHub account? - Check here
  • Does Buildjet have access to your repository? - Check here
  • Are you using the correct runner tag in your workflow config? - Check here
  • Are you running more vCPUs than you're allowed? Read more about concurrency here
  • Restart the workflow run

If you've checked all these things, and you're still getting "Waiting for runner", please uninstall the BuildJet GitHub Application and then re-install it again.

If that doesn't work, please contact support at contact@buildjet.com. Please make sure include the workflow run URL in your message, so we can lookup the workflow run ID.

#

Docker Rate Limiting and Authentication

Docker Hub began rate limiting anonymous accounts in November 2020. As a result, you may occasionally encounter rate limiting issues while using BuildJet, since you share an outgoing IP with other runs within our network. Unlike with native GitHub Actions runners, which have a custom agreement with Docker Hub, you may need to authenticate your Docker Hub account to avoid these issues.

#

Setting up a Docker Hub Account

To resolve rate limiting issues, we recommend creating a free Docker Hub account. You can sign up here and follow the FAQ item on how to authenticate GitHub Actions jobs.

#

Authenticating container and services

Job and Service containers in GitHub Actions allow you to containerize your CI environment and make databases, caches, or other services available to your tests. Since BuildJet does not have a custom agreement with Docker Hub, you'll need to authenticate your containers and services as well.

Authenticating your containers and services is simple. First, create a secret in your workflow and then use them in the container and services credentials to set the username and password.

yaml
1
jobs:
2
build:
3
container:
4
image: node:10.16-jessie
5
credentials:
6
username: ${{ secrets.docker_hub_username }}
7
password: ${{ secrets.docker_hub_password}}
8
services:
9
db:
10
image: node:10.16-jessie
11
credentials:
12
username: ${{ secrets.docker_hub_username }}
13
password: ${{ secrets.docker_hub_password}}

By following these steps, you can authenticate your Docker Hub account and avoid rate limiting issues while using BuildJet with GitHub Actions.

#

GitHub Actions Cache is slow

Unfortunately, this is because of an issue inside GitHub's internal CDN. We recommend using the BuildJet cache, buildjet/cache, a reliable & fast alternative to GitHub's cache. It is compatible with any runner - official, self-hosted, or BuildJet, and no matter the runner in use, BuildJet provides 20 GB/month of storage space for free.

To get started with BuildJet cache, simply replace action/cache with buildjet/cache.

yaml
1
...
-
- uses: action/cache@v3
+
- uses: buildjet/cache@v3
4
with:
5
path: ~/.npm
6
key: buildjet-node-${{ hashFiles('**/package-lock.json') }}
7
restore-keys: |
8
buildjet-node-
9
...

Read more about migrating to Buildjet Cache.