When following the instructions to install Machine Runner 3 on Ubuntu Linux as outlined in the docs (it’s the install-machine-runner-3-on-linux page, it seems I can’t include links in posts), the circleci-runner
package fails to install with the following error:
$ sudo apt-get install -y circleci-runner
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
E: Unable to locate package circleci-runner
This is caused by missing the GPG signature reference in the sources file that the package cloud script adds. The generated sources file fetched from Package cloud is:
# this file was generated by packagecloud.io for
# the repository at https://packagecloud.io/circleci/runner
deb https://packagecloud.io/circleci/runner/any/ any main
deb-src https://packagecloud.io/circleci/runner/any/ any main
But it should contain the signed-by
keys, like so:
# this file was generated by packagecloud.io for
# the repository at https://packagecloud.io/circleci/runner
deb [signed-by=/etc/apt/keyrings/circleci_runner-archive-keyring.gpg] https://packagecloud.io/circleci/runner/any/ any main
deb-src [signed-by=/etc/apt/keyrings/circleci_runner-archive-keyring.gpg] https://packagecloud.io/circleci/runner/any/ any main
If we use the PackageCloud script without the ?any=true
param, then the sources file does contain the GPG key paths, but the upstream repository doesn’t exist for our version of Ubuntu (I’m not sure if any version specific repos exist tbh).
We’ve patched around this for the moment, but it seems that installing the machine runner via apt is currently broken? I’m not clear where to report this issue, or if it’s already know, or if there is a workaround, but any guidance would be appreciated. Thanks!