Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 21 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ This repository also includes source code to create VM images for GitHub-hosted
- [run.sh](#runsh)
- [Key Features](#key-features)
- [Usage](#usage)
- [Upgrading Runner Binary (VM/Host Machine)](#upgrading-runner-binary-vmhost-machine)
- [Setup Options](#setup-options)
- [Main Menu](#main-menu)
- [OS and Version Selection](#os-and-version-selection)
Expand Down Expand Up @@ -86,6 +87,26 @@ This runner image supports multiple environments on IBM hardware for a seamless

---

## **Upgrading Runner Binary (VM/Host Machine)**

**This upgrade feature is specifically designed for VM (host machine) setups.** For container-based or LXD-based deployments, please rebuild the image instead.

If you need to upgrade the GitHub Actions runner binary to the latest version on your VM or host machine, simply rerun the setup script:

Comment thread
mtarsel marked this conversation as resolved.
```bash
bash run.sh
```

The script will automatically:
- Detect the existing runner installation on the host
- Download and install the latest runner binary
- Fix any configuration issues
- Preserve your existing runner registration and settings

**Note**: For VM (host machine) setups, snap and LXD installation are disabled by default to avoid conflicts. The upgrade process will maintain this configuration.

---

## **Setup Options**

### **Main Menu**
Expand Down
4 changes: 4 additions & 0 deletions run.sh
Original file line number Diff line number Diff line change
Expand Up @@ -71,6 +71,10 @@ run_setup() {
# Use an array for safer argument passing
local script_args=("${os}" "${version}" "${worker_arg}" "${arch_arg}" "${setup_type}")

if [[ "$env" == "vm" ]]; then
script_args=("${script_args[@]}" "--skip-snap-lxd")
fi

# The script to be run inside the new shell.
# It sources the target script and passes along all of its own arguments ("$@").
local inner_script=". 'scripts/${env}.sh' \"\$@\""
Expand Down