GitHub runner
- By Canonical IS DevOps
Channel | Revision | Published | Runs on |
---|---|---|---|
latest/stable | 161 | 29 Apr 2024 | |
latest/beta | 177 | 29 Apr 2024 | |
latest/edge | 177 | 25 Apr 2024 |
juju deploy github-runner --channel edge
Deploy universal operators easily with Juju, the Universal Operator Lifecycle Manager.
Platform:
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.
Prerequisites
To enhance the security of self-hosted runners and its infrastracture, 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.