GitHub runner

  • Canonical IS DevOps
Channel Revision Published Runs on
latest/stable 295 Today
Ubuntu 22.04 Ubuntu 20.04
latest/stable 290 11 Nov 2024
Ubuntu 22.04 Ubuntu 20.04
latest/stable 1 09 Feb 2022
Ubuntu 22.04 Ubuntu 20.04
latest/beta 290 11 Nov 2024
Ubuntu 22.04
latest/beta 234 05 Aug 2024
Ubuntu 22.04
latest/edge 300 Today
Ubuntu 22.04 Ubuntu 20.04
latest/edge 299 Yesterday
Ubuntu 22.04 Ubuntu 20.04
latest/edge 4 26 Apr 2022
Ubuntu 22.04 Ubuntu 20.04
1/stable 177 05 Jun 2024
Ubuntu 22.04
1/edge 177 05 Jun 2024
Ubuntu 22.04
juju deploy github-runner --channel 1/stable
Show information

Platform:

Ubuntu
22.04 20.04

How to debug with ssh

The charm exposes an integration debug-ssh interface which can be used with tmate-ssh-server charm to pre-configure runners with environment variables to be picked up by action-tmate for automatic configuration.

Requirements

To enhance the security of self-hosted runners and its infrastructure, only authorized connections can be established. Hence, action-tmate users must have ssh-key registered on the GitHub account.

Deploying

Use the following command to deploy and integrate github-runner with tmate-ssh-server.

juju deploy tmate-ssh-server
juju integrate tmate-ssh-server github-runner

Idle runners will be flushed and restarted. Busy runners will be configured automatically on next spawn.

Using the action

Create a workflow that looks like the following within your workflow to enable action-tmate.

name: SSH Debug workflow example

on: [pull_request]

jobs:
  build:
    runs-on: [self-hosted]
    steps:
    - uses: actions/checkout@v3
    - name: Setup tmate session
      uses: canonical/action-tmate@main

The output of the action looks like the following.

<workflow setup logs redacted>
SSH: ssh -p 10022 <user>@<ip>
or: ssh -i <path-to-private-SSH-key> -p10022 <user>@<ip>

Read more about action-tmate’s usage here.