Shipfox
Shipfox Runners

Specificities

Shipfox runners aim to be 100% compatible with GitHub actions hosted runners.

However, there are a few known differences in our infrastructure that can cause unexpected behavior. This page lists those differences and provides available workarounds.

Docker service containers with container-based jobs

GitHub Actions supports:

Combining both currently triggers a known issue in the GitHub Actions runner: actions/runner#2783

The job container cannot resolve the hostname of service containers via the default Docker network.

Workaround: Use SHIPFOX_HOST environment variable

Shipfox provides a workaround using a custom environment variable. By setting SHIPFOX_HOST in the service container, Shipfox will alias the container under that hostname in the job’s network.

jobs:
  service_container_in_container:
    name: Service container in container
    runs-on: shipfox-2vcpu-ubuntu-2404
    # Run the job inside a container
    container:
      image: ubuntu:24.04
    services:
      hello:
        image: nginxdemos/hello
        env:
          # Ensures service is accessible as `http://hello`
          SHIPFOX_HOST: hello
    steps:
      - name: Install dependencies
        run: |
          apt-get update
          apt-get install -y curl
      - name: Network connectivity
        run: curl -v --connect-timeout 10 --fail http://hello:80