GitHub/Actions Runner

From Omnia
Revision as of 18:27, 2 October 2023 by Kenneth (talk | contribs) (→‎Get Latest Version)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Actions Runner

https://github.com/actions/runner

Releases

https://github.com/actions/runner/releases

Get Latest Version

curl -i https://github.com/actions/runner/releases/latest | grep location:
 location: https://github.com/actions/runner/releases/tag/v2.309.0

get_gha_latest.sh:

LATEST=`curl -s -i https://github.com/actions/runner/releases/latest | grep location:`
LATEST=`echo $LATEST | sed 's#.*tag/v##'`
LATEST=`echo $LATEST | sed 's/\r//'`
curl -L -s "https://github.com/actions/runner/releases/download/v${LATEST}/actions-runner-linux-x64-${LATEST}.tar.gz" -o actions-runner-linux-x64-${LATEST}.tar.gz

---

 https://github.com/actions/runner/releases/latest/download/actions-runner-linux-x64-.tar.gz

ref: https://github.com/orgs/community/discussions/54078

Get Running Version

Preferred option:

$ ./config.sh --version
2.283.1

Also works, but problably shouldn't mess with run.sh:

$ ./run.sh --version
2.283.1


Ref: [1]

Linux

# Create a folder
$ mkdir actions-runner && cd actions-runner
# Download the latest runner package
$ curl -o actions-runner-linux-x64-2.305.0.tar.gz -L https://github.com/actions/runner/releases/download/v2.305.0/actions-runner-linux-x64-2.305.0.tar.gz
# Optional: Validate the hash
$ echo "737bdcef6287a11672d6a5a752d70a7c96b4934de512b7eb283be6f51a563f2f  actions-runner-linux-x64-2.305.0.tar.gz" | shasum -a 256 -c
# Extract the installer
$ tar xzf ./actions-runner-linux-x64-2.305.0.tar.gz

Downloads

ref: https://github.com/actions/runner/releases

Windows x64

# Create a folder under the drive root
mkdir \actions-runner ; cd \actions-runner
# Download the latest runner package
Invoke-WebRequest -Uri https://github.com/actions/runner/releases/download/v2.309.0/actions-runner-win-x64-2.309.0.zip -OutFile actions-runner-win-x64-2.309.0.zip
# Extract the installer
Add-Type -AssemblyName System.IO.Compression.FileSystem ;
[System.IO.Compression.ZipFile]::ExtractToDirectory("$PWD\actions-runner-win-x64-2.309.0.zip", "$PWD")

Linux x64

# Create a folder
mkdir actions-runner && cd actions-runner
# Download the latest runner package
curl -O -L https://github.com/actions/runner/releases/download/v2.309.0/actions-runner-linux-x64-2.309.0.tar.gz
# Extract the installer
tar xzf ./actions-runner-linux-x64-2.309.0.tar.gz

Linux arm64

Such as Raspberry Pi using 64bit version of OS

# Create a folder
mkdir actions-runner && cd actions-runner
# Download the latest runner package
curl -O -L https://github.com/actions/runner/releases/download/v2.309.0/actions-runner-linux-arm64-2.309.0.tar.gz
# Extract the installer
tar xzf ./actions-runner-linux-arm64-2.309.0.tar.gz

Linux arm

Such as Raspberry Pi using standard version of OS:

# Create a folder
mkdir actions-runner && cd actions-runner
# Download the latest runner package
curl -O -L https://github.com/actions/runner/releases/download/v2.309.0/actions-runner-linux-arm-2.309.0.tar.gz
# Extract the installer
tar xzf ./actions-runner-linux-arm-2.309.0.tar.gz

Configure

# Create the runner and start the configuration experience
$ ./config.sh --url https://github.com/[ORG] --token [TOKEN]
# Last step, run it!
$ ./run.sh

Configure Help

# ./config.sh --help

Commands:
 ./config.sh         Configures the runner
 ./config.sh remove  Unconfigures the runner
 ./run.sh            Runs the runner interactively. Does not require any options.

Options:
 --help     Prints the help for each command
 --version  Prints the runner version
 --commit   Prints the runner commit
 --check    Check the runner's network connectivity with GitHub server

Config Options:
 --unattended           Disable interactive prompts for missing arguments. Defaults will be used for missing options
 --url string           Repository to add the runner to. Required if unattended
 --token string         Registration token. Required if unattended
 --name string          Name of the runner to configure (default lmt-store)
 --runnergroup string   Name of the runner group to add this runner to (defaults to the default runner group)
 --labels string        Custom labels that will be added to the runner. This option is mandatory if --no-default-labels is used.
 --no-default-labels    Disables adding the default labels: 'self-hosted,Linux,X64'
 --local                Removes the runner config files from your local machine. Used as an option to the remove command
 --work string          Relative runner work directory (default _work)
 --replace              Replace any existing runner with the same name (default false)
 --pat                  GitHub personal access token with repo scope. Used for checking network connectivity when executing `./run.sh --check`
 --disableupdate        Disable self-hosted runner automatic update to the latest released version`
 --ephemeral            Configure the runner to only take one job and then let the service un-configure the runner after the job finishes (default false)

Examples:
 Check GitHub server network connectivity:
  ./run.sh --check --url <url> --pat <pat>
 Configure a runner non-interactively:
  ./config.sh --unattended --url <url> --token <token>
 Configure a runner non-interactively, replacing any existing runner with the same name:
  ./config.sh --unattended --url <url> --token <token> --replace [--name <name>]
 Configure a runner non-interactively with three extra labels:
  ./config.sh --unattended --url <url> --token <token> --labels L1,L2,L3

keywords