Machine Runner 3.0 GA now w/ support for macOS and Windows

Machine runner 3.0 is now generally available, providing improvements to usability, setup, and maintenance of machine runners. View the docs to install on linux, mac or windows.

To give users more time to migrate, we are extending support for runner 1.1 variants and runner V2 API through 5pm PST on August, 8th 2024, after which downloads and API endpoints will no longer be available.

  • We will conduct a brownout from July 31st 9am PST to August 1st 9am PST (24 hrs) to ensure all users are aware of the empending EOL

If you’re currently using launch agent, see our migration documentation for linux, mac or windows.

This upgrade is for customers running machine runners via launch agent. Container runners and machine runners are now built using the same framework. Existing launch agent users will need to upgrade to the new application, but existing Container Runner installations will not require any additional action.

Benefits of upgrading:

Faster feature enhancements:

  • Moving forward, we’ll bring many network resilience feature enhancements to both types of self-hosted runners (machine and container) simultaneously.
  • We are targeting future support for on-premise storage, decreasing runner costs, faster execution, and improved security.
  • Machine runner updates (along with container runners) will now be found in the runner changelog

Improved usability:

  • With more uniform logs and metrics, CircleCI’s machine runners ensure consistent and reliable performance across environments, providing a seamless experience for users regardless of their runner setup.
  • Improved network resilience from bringing machine runners to parity with container runners.

Easier setup and maintenance:

  • Linux and macOS packages will allow you to pin and rollback agents as needed when installed via a package manager (Windows requires manual updating). Packages are also signed by CircleCI allowing more confident installation
  • OS conventions for installation/log/configuration locations are more closely followed
  • Easily integrate with cloud templating tools that already have package management tooling built in
  • This allows users to easily integrate with their preferred cloud templating tools, manage updates on their own terms, and benefit from OS conventions for installation, log, and configuration locations.
  • Customers can use tools they’re already experienced with to manage when they choose to update their machine runners (vs before when they either updated when we forced them to, or not at all)

This open preview is limited to Linux. macOS and Windows support will be coming when we make Machine Runner 3.0 generally available. General availability is targeted for November.

To give users more time to migrate, we are extending support for runner 1.1 variants and runner V2 API through August 8th, 2024, after which downloads and API endpoints will no longer be available.

If you’re migrating from launch agent, follow the instructions in our documentation.

2 Likes

With so much work going on to improve the runner agent are there any plans in place to improve the features available within the web GUI?

Currently, the GUI allows the creation of a ‘Resource Class’ but offers no ability to delete a defined resource. Instead, an end user has to find the right section of the manual to discover how to do this. This is made even harder by the docs being structured to only focus on the installation or migration of runners.

At the moment someone who has defined one or more runners via the web GUI has to find the 3 entries in the Self-hosted runner FAQ, then also research the circleci CLI to understand how it relates to the information shown in the web GUI.

1 Like

Agree. The ability to modify “resource_class” for self-runner would’ve been a nice feature.

1 Like

thanks for the feedback @rit1010 and @fupslot, I’ll make sure these suggestions around the GUI get reviewed. Regarding documentation, I spoke to the team about improvements to account for the need to make changes/deletion in our structure so I really appreciate you voicing the issue you had.

1 Like

@AlexExum Our team’s self-hosted runners are based on the circleci/runner docker image, as described in the docs here. Is that approach still supported?

Specifically we are using circleci/runner:launch-agent as our base image, and based on the name I’m sort of assuming it’s not supported, but I can’t find any docs on how to migrate off this approach. I see instructions for linux, mac, and windows but can’t find anything for a docker-based machine runner. Is there a new base image we should switch to?

2 Likes

hi @thecodeboss apologies for the delayed response here. Our docs for machine runner 3.0 on docker are published here with migration instructions specifically here

1 Like

Hello, we are using Windows runners, we have tried upgrading but we are facing issues. When trying both migration as well as a fresh setup the new executable is complaining about:

“circleci-runner.exe: error: missing flags: --kube.task-pod-config=STRING”

We are using W11 and the old (1.1) are working fine. This is quite problematic for us as we risk blocking our pipelines when the old runner is deprecated. Please advice as soon as possible.

2 Likes

We are facing the same issue here. W10 machines. “circleci-runner.exe: error: missing flags: --kube.task-pod-config=STRING”

1 Like

@AlexExum , is there something missing that leads to the error cited in the 2 previous comments?

Can we be dignified with a response? We had previously always been happy with CircleCI but this is a low water mark that is directly and strongly affecting us and our perception of this as a solution.

Also worth noting is that this install file here now installs a completely useless 1.1 version of the runner.

github
.com/CircleCI-Public/runner-installation-files/tree/main/windows-install

In this repository you have two identically named set of files, Install and Uninstall, one of the sets install the old (now blocked and useless) runner, this is the one linked from your official documentation: circleci(dot)com/docs/install-machine-runner-3-on-windows/. The other set, nested inside, is the one that gives us this error and won’t launch at all.

Whoever is facing the issue “circleci-runner.exe: error: missing flags: --kube.task-pod-config=STRING” on Windows runners try double escaping paths inside the machine-runner-config.yaml file like this : "C:\\Users\\some\\path" and launch the executable in this way: ./circleci-runner.exe machine --config machine-runner-config.yaml.

This was what fixed it for us.