Skip to main content

Update Self-hosted Runner

When a new version of self-hosted runner is released, you can update runner with below steps.

1. Update Runner

Download and extract the latest self-hosted runner package.

curl -O -L https://cdn.appcircle.io/self-hosted/runner/appcircle-runner-osx-arm64-1.7.2.zip

Extract self-hosted runner package.

unzip -o -u appcircle-runner-osx-arm64-1.7.2.zip

Change directory into extracted appcircle-runner folder for following steps.

cd appcircle-runner

2. Reconfigure Runner

Self-hosted runner updates may include tool upgrades or introduce new required tools for build pipeline. So we need to rerun configuration step same as before. It will check installed tools quickly, and will update only required tools.

caution
Using an Up-to-Date Runner with an Out-of-Date Server

By default, the latest runner (1.7.0 or later) is compatible with the Appcircle server 3.18.0 or later. For this reason, if you are installing the latest runner or upgrading the runner from older versions and using an older server, you need to make extra configurations.

To make the Appcircle runner compatible with an older server, you must change the two settings below in the Appcircle runner appsettings.json, which will make it compatible with older servers.

echo "$(jq '.ASPNETCORE_SEND_BUILD_LOG_TO_REDIS="false"' appsettings.json)" > appsettings.json && \
echo "$(jq '.ASPNETCORE_WORKFLOW_UPDATES_DISABLED="false"' appsettings.json)" > appsettings.json

To remember what configuration step was, please refer to this page.

3. Reinstall Service

Although we change self-hosted runner files with above steps, we need to restart runner service in order to activate latest updates.

Some updates may also contain systemd or launchd service updates. For this reason, on every update, reinstalling service is suggested.

Reinstalling service also contains runner restart operations and doesn't affect self-hosted runner logs or produced artifacts.

In order to reinstall systemd or launchd service, first uninstall and then install service with below commands.

./ac-runner service -c uninstall
./ac-runner service -c install
info

When you complete update successfully, you will see updated version in "Self-hosted Runners" list in here.

./ac-runner --version