terraform-aws-github-runner icon indicating copy to clipboard operation
terraform-aws-github-runner copied to clipboard

chore: Bump ubuntu example to latest LTS, 22.04

Open dylanmtaylor opened this issue 3 years ago • 14 comments

dylanmtaylor avatar May 31 '22 19:05 dylanmtaylor

Did you test the change, I expect it won't work and result in the same error as metioned in #2102 See also PR https://github.com/actions/runner/pull/1585

npalm avatar Jun 10 '22 13:06 npalm

Did you test the change, I expect it won't work and result in the same error as metioned in #2102 See also PR actions/runner#1585

We have been running Ubuntu 22.04 LTS on our runners for about a month now successfully. I can share our config if you'd like.

dylanmtaylor avatar Jun 10 '22 13:06 dylanmtaylor

Please share your config, since running ./bin/installdependencies.sh is failing for me.

npalm avatar Jun 10 '22 13:06 npalm

Did you test the change, I expect it won't work and result in the same error as metioned in #2102 See also PR actions/runner#1585

We have been running Ubuntu 22.04 LTS on our runners for about a month now successfully. I can share our config if you'd like.

We don't have anything proprietary in this config, so I'll share with you.

module "ubuntu_runners" {
  source  = "philips-labs/github-runner/aws"
  version = "1.2.0"

  aws_region = data.aws_region.main.name
  vpc_id     = data.aws_vpc.main.id
  subnet_ids = [data.aws_subnet.primary_az.id, data.aws_subnet.secondary_az.id, data.aws_subnet.tertiary_az.id]
  runner_egress_rules = var.runner_egress_rules

  prefix = "ubuntu-${data.aws_region.main.name}"

  github_app = {
    key_base64     = filebase64("./app-ubuntu.private-key.pem")
    id             = var.github_app_id_ubuntu
    webhook_secret = var.webhook_secret
  }

  lambda_s3_bucket = var.regional_lambda_bucket
  runners_lambda_s3_key = "lambda/github/runners.zip"
  webhook_lambda_s3_key = "lambda/github/webhook.zip"
  syncer_lambda_s3_key  = "lambda/github/runner-binaries-syncer.zip"

  enable_organization_runners = true
  runner_extra_labels         = "ubuntu"

  # enable access to the runners via SSM
  enable_ssm_on_runners = true

  runner_run_as = "ubuntu"

  userdata_template = "./templates/user-data-ubuntu.sh"
  ami_owners        = ["099720109477"] # Canonical's Amazon account ID

  ami_filter = {
    name = ["ubuntu/images/hvm-ssd/ubuntu-jammy-22.04-amd64-server-*"]
  }

  block_device_mappings = [{
    # Set the block device name for Ubuntu root device
    device_name           = "/dev/sda1"
    delete_on_termination = true
    volume_type           = "gp3"
    volume_size           = 30
    encrypted             = true
    iops                  = null
  }]

  runner_log_files = [
    {
      "log_group_name" : "syslog",
      "prefix_log_group" : true,
      "file_path" : "/var/log/syslog",
      "log_stream_name" : "{instance_id}"
    },
    {
      "log_group_name" : "user_data",
      "prefix_log_group" : true,
      "file_path" : "/var/log/user-data.log",
      "log_stream_name" : "{instance_id}/user_data"
    },
    {
      "log_group_name" : "runner",
      "prefix_log_group" : true,
      "file_path" : "/opt/actions-runner/_diag/Runner_**.log",
      "log_stream_name" : "{instance_id}/runner"
    }
  ]

  # Uncomment to enable ephemeral runners
  enable_ephemeral_runners = true
  #enabled_userdata         = false

  # Have idle runners from 8 AM to 6 PM M-F in time zone US/Eastern
  idle_config = [{
   cron      = "* * 8-18 * * 1-5"
   timeZone  = "America/New_York"
   idleCount = 4
  }]
  
  scale_up_reserved_concurrent_executions = -1 # Allows unlimited scale up for demand
  runners_maximum_count = 25
  
  # All the types I selected here are targeting 2 CPU, 4 GB RAM for consistency.
  instance_types = ["m5.large", "m5a.large", "c5.large", "c5a.large"]
  instance_allocation_strategy = "capacity-optimized"
  runner_architecture = "x64" # can also be "arm64", if used with graviton

  role_permissions_boundary = var.permissions_boundary
}

Then for our userdata, we actually took the example and instead of using a rootless runner, we install it at the system level since our VMs are ephemeral.

dylanmtaylor avatar Jun 10 '22 13:06 dylanmtaylor

Can you share the userdata template as well?

npalm avatar Jun 10 '22 13:06 npalm

This is the userdata file that is getting passed in (I removed some commented out lines for conciseness):

#!/bin/bash -x
exec > >(tee /var/log/user-data.log | logger -t user-data -s 2>/dev/console) 2>&1

${pre_install}

# Install AWS CLI
apt-get update
DEBIAN_FRONTEND=noninteractive apt-get install -y \
    awscli \
    jq \
    curl \
    wget \
    git \
    uidmap \
    build-essential \
    unzip

curl "https://s3.amazonaws.com/session-manager-downloads/plugin/latest/ubuntu_64bit/session-manager-plugin.deb" -o "session-manager-plugin.deb"
sudo dpkg -i session-manager-plugin.deb

USER_NAME=runners
useradd -m -s /bin/bash $USER_NAME
USER_ID=$(id -ru $USER_NAME)

# Install Docker in the VM
curl -Ls https://get.docker.com/ | sudo bash
sudo systemctl enable --now docker

# install and configure cloudwatch logging agent
wget https://s3.amazonaws.com/amazoncloudwatch-agent/ubuntu/amd64/latest/amazon-cloudwatch-agent.deb
dpkg -i -E ./amazon-cloudwatch-agent.deb
amazon-cloudwatch-agent-ctl -a fetch-config -m ec2 -s -c ssm:${ssm_key_cloudwatch_agent_config}

# configure systemd for running service in users accounts
cat >/etc/systemd/[email protected] <<-EOF

[Unit]
Description=User Manager for UID %i
After=user-runtime-dir@%i.service
Wants=user-runtime-dir@%i.service

[Service]
LimitNOFILE=infinity
LimitNPROC=infinity
User=%i
PAMName=systemd-user
Type=notify

[Install]
WantedBy=default.target

EOF

echo export XDG_RUNTIME_DIR=/run/user/$USER_ID >>/home/$USER_NAME/.profile

systemctl daemon-reload
systemctl enable [email protected]
systemctl start [email protected]

echo export PATH=/home/$USER_NAME/bin:$PATH >>/home/$USER_NAME/.profile

${install_runner}

cd /opt/actions-runner/

${post_install}

cd /opt/actions-runner

# Docker permissions
sudo usermod -aG docker ubuntu
sudo usermod -aG docker runners
sudo usermod -aG docker ssm-user

${start_runner}

dylanmtaylor avatar Jun 10 '22 13:06 dylanmtaylor

Hmzz, user_data is not relevant. You are installing all your depencies in a pre-build AMI most likely. Do you run the github runner install dependency script?

npalm avatar Jun 10 '22 13:06 npalm

Hmzz, user_data is not relevant. You are installing all your depencies in a pre-build AMI most likely. Do you run the github runner install dependency script?

We don't use pre-build AMIs, just grab the latest with the filter name = ["ubuntu/images/hvm-ssd/ubuntu-jammy-22.04-amd64-server-*"]. We grab that at run time and add the packages then. I think the macros

${install_runner} and ${post_install}

which are interpolated by the module do the dependencies.

Let me see if I can grab the userdata off the instance and see what it actually ends up being.

dylanmtaylor avatar Jun 10 '22 13:06 dylanmtaylor

Hmzz, user_data is not relevant. You are installing all your depencies in a pre-build AMI most likely. Do you run the github runner install dependency script?

This is from one of the instances running right now. I'm going to redact our S3 bucket info, etc. but I'll leave some old commented lines in. It's running the public AMI, 099720109477/ubuntu/images/hvm-ssd/ubuntu-jammy-22.04-amd64-server-20220604 and it's working.

#!/bin/bash -x
exec > >(tee /var/log/user-data.log | logger -t user-data -s 2>/dev/console) 2>&1



# Install AWS CLI
apt-get update
DEBIAN_FRONTEND=noninteractive apt-get install -y \
    awscli \
    jq \
    curl \
    wget \
    git \
    uidmap \
    build-essential \
    unzip

curl "https://s3.amazonaws.com/session-manager-downloads/plugin/latest/ubuntu_64bit/session-manager-plugin.deb" -o "session-manager-plugin.deb"
sudo dpkg -i session-manager-plugin.deb

USER_NAME=runners
useradd -m -s /bin/bash $USER_NAME
USER_ID=$(id -ru $USER_NAME)

# Install Docker in the VM
curl -Ls https://get.docker.com/ | sudo bash
sudo systemctl enable --now docker

# install and configure cloudwatch logging agent
wget https://s3.amazonaws.com/amazoncloudwatch-agent/ubuntu/amd64/latest/amazon-cloudwatch-agent.deb
dpkg -i -E ./amazon-cloudwatch-agent.deb
amazon-cloudwatch-agent-ctl -a fetch-config -m ec2 -s -c ssm:ubuntu-us-east-1-cloudwatch_agent_config_runner

# configure systemd for running service in users accounts
cat >/etc/systemd/[email protected] <<-EOF

[Unit]
Description=User Manager for UID %i
After=user-runtime-dir@%i.service
Wants=user-runtime-dir@%i.service

[Service]
LimitNOFILE=infinity
LimitNPROC=infinity
User=%i
PAMName=systemd-user
Type=notify

[Install]
WantedBy=default.target

EOF

echo export XDG_RUNTIME_DIR=/run/user/$USER_ID >>/home/$USER_NAME/.profile

systemctl daemon-reload
systemctl enable [email protected]
systemctl start [email protected]

# curl -fsSL https://get.docker.com/rootless >>/opt/rootless.sh && chmod 755 /opt/rootless.sh
# su -l $USER_NAME -c /opt/rootless.sh
# echo export DOCKER_HOST=unix:///run/user/$USER_ID/docker.sock >>/home/$USER_NAME/.profile
echo export PATH=/home/$USER_NAME/bin:$PATH >>/home/$USER_NAME/.profile

# Run docker service by default
#loginctl enable-linger $USER_NAME
# su -l $USER_NAME -c "systemctl --user enable docker"

# shellcheck shell=bash

## install the runner

s3_location=s3://[redacted]/actions-runner-linux.tar.gz
architecture=x64

if [ -z "$RUNNER_TARBALL_URL" ] && [ -z "$s3_location" ]; then
  echo "Neither RUNNER_TARBALL_URL or s3_location are set"
  exit 1
fi

file_name="actions-runner.tar.gz"

echo "Setting up GH Actions runner tool cache"
# Required for various */setup-* actions to work, location is also know by various environment
# variable names in the actions/runner software : RUNNER_TOOL_CACHE / RUNNER_TOOLSDIRECTORY / AGENT_TOOLSDIRECTORY
# Warning, not all setup actions support the env vars and so this specific path must be created regardless
mkdir -p /opt/hostedtoolcache

echo "Creating actions-runner directory for the GH Action installation"
cd /opt/
mkdir -p actions-runner && cd actions-runner


if [[ -n "$RUNNER_TARBALL_URL" ]]; then
  echo "Downloading the GH Action runner from $RUNNER_TARBALL_URL to $file_name"
  curl -o $file_name -L "$RUNNER_TARBALL_URL"
else
  echo "Retrieving TOKEN from AWS API"
  token=$(curl -f -X PUT "http://169.254.169.254/latest/api/token" -H "X-aws-ec2-metadata-token-ttl-seconds: 180")

  region=$(curl -f -H "X-aws-ec2-metadata-token: $token" -v http://169.254.169.254/latest/dynamic/instance-identity/document | jq -r .region)
  echo "Retrieved REGION from AWS API ($region)"

  echo "Downloading the GH Action runner from s3 bucket $s3_location"
  aws s3 cp "$s3_location" "$file_name" --region "$region"
fi

echo "Un-tar action runner"
tar xzf ./$file_name
echo "Delete tar file"
rm -rf $file_name

if [[ "$architecture" == "arm64" ]]; then
  yum install -y libicu60
fi

os_id=$(awk -F= '/^ID/{print $2}' /etc/os-release)
if [[ "$os_id" =~ ^ubuntu.* ]]; then
    echo "Installing dependencies"
    ./bin/installdependencies.sh
fi

echo "Set file ownership of action runner"
chown -R "$user_name":"$user_name" .
chown -R "$user_name":"$user_name" /opt/hostedtoolcache


# config runner for rootless docker
cd /opt/actions-runner/
# echo DOCKER_HOST=unix:///run/user/$USER_ID/docker.sock >>.env
# echo PATH=/home/$USER_NAME/bin:$PATH >>.env



cd /opt/actions-runner

# Docker permissions
sudo usermod -aG docker ubuntu
sudo usermod -aG docker runners
sudo usermod -aG docker ssm-user

# shellcheck shell=bash

## Retrieve instance metadata

echo "Retrieving TOKEN from AWS API"
token=$(curl -f -X PUT "http://169.254.169.254/latest/api/token" -H "X-aws-ec2-metadata-token-ttl-seconds: 180")

region=$(curl -f -H "X-aws-ec2-metadata-token: $token" -v http://169.254.169.254/latest/dynamic/instance-identity/document | jq -r .region)
echo "Retrieved REGION from AWS API ($region)"

instance_id=$(curl -f -H "X-aws-ec2-metadata-token: $token" -v http://169.254.169.254/latest/meta-data/instance-id)
echo "Retrieved INSTANCE_ID from AWS API ($instance_id)"

tags=$(aws ec2 describe-tags --region "$region" --filters "Name=resource-id,Values=$instance_id")
echo "Retrieved tags from AWS API ($tags)"

environment=$(echo "$tags" | jq -r '.Tags[]  | select(.Key == "ghr:environment") | .Value')
echo "Retrieved ghr:environment tag - ($environment)"

parameters=$(aws ssm get-parameters-by-path --path "/$environment/runner" --region "$region" --query "Parameters[*].{Name:Name,Value:Value}")
echo "Retrieved parameters from AWS SSM ($parameters)"

run_as=$(echo "$parameters" | jq --arg environment "$environment" -r '.[] | select(.Name == "/\($environment)/runner/run-as") | .Value')
echo "Retrieved /$environment/runner/run-as parameter - ($run_as)"

enable_cloudwatch_agent=$(echo "$parameters" | jq --arg environment "$environment" -r '.[] | select(.Name == "/\($environment)/runner/enable-cloudwatch") | .Value')
echo "Retrieved /$environment/runner/enable-cloudwatch parameter - ($enable_cloudwatch_agent)"

agent_mode=$(echo "$parameters" | jq --arg environment "$environment" -r '.[] | select(.Name == "/\($environment)/runner/agent-mode") | .Value')
echo "Retrieved /$environment/runner/agent-mode parameter - ($agent_mode)"

if [[ "$enable_cloudwatch_agent" == "true" ]]; then
  echo "Cloudwatch is enabled"
  amazon-cloudwatch-agent-ctl -a fetch-config -m ec2 -s -c "ssm:$environment-cloudwatch_agent_config_runner"
fi

## Configure the runner

echo "Get GH Runner config from AWS SSM"
config=$(aws ssm get-parameters --names "$environment"-"$instance_id" --with-decryption --region "$region" | jq -r ".Parameters | .[0] | .Value")

while [[ -z "$config" ]]; do
  echo "Waiting for GH Runner config to become available in AWS SSM"
  sleep 1
  config=$(aws ssm get-parameters --names "$environment"-"$instance_id" --with-decryption --region "$region" | jq -r ".Parameters | .[0] | .Value")
done

echo "Delete GH Runner token from AWS SSM"
aws ssm delete-parameter --name "$environment"-"$instance_id" --region "$region"

if [ -z "$run_as" ]; then
  echo "No user specified, using default ec2-user account"
  run_as="ec2-user"
fi

if [[ "$run_as" == "root" ]]; then
  echo "run_as is set to root - export RUNNER_ALLOW_RUNASROOT=1"
  export RUNNER_ALLOW_RUNASROOT=1
fi

chown -R $run_as .

echo "Configure GH Runner as user $run_as"
sudo --preserve-env=RUNNER_ALLOW_RUNASROOT -u "$run_as" -- ./config.sh --unattended --name "$instance_id" --work "_work" ${config}

## Start the runner
echo "Starting runner after $(awk '{print int($1/3600)":"int(($1%3600)/60)":"int($1%60)}' /proc/uptime)"
echo "Starting the runner as user $run_as"

if [[ $agent_mode = "ephemeral" ]]; then
  echo "Starting the runner in ephemeral mode"
  sudo --preserve-env=RUNNER_ALLOW_RUNASROOT -u "$run_as" -- ./run.sh
  echo "Runner has finished"

  echo "Stopping cloudwatch service"
  systemctl stop amazon-cloudwatch-agent.service
  echo "Terminating instance"
  aws ec2 terminate-instances --instance-ids "$instance_id" --region "$region"
else
  echo "Installing the runner as a service"
  ./svc.sh install "$run_as"
  echo "Starting the runner in persistent mode"
  ./svc.sh start
fi

dylanmtaylor avatar Jun 10 '22 13:06 dylanmtaylor

Just tested the PR. First impression was all fine. But once digging in the log find the same error as once building the AMI for ubuntu22 (see #2101).

Userdata log in cloudwatch

+ [[ x64 == \a\r\m\6\4 ]]
--
++ awk -F= '/^ID/{print $2}' /etc/os-release
+ os_id='ubuntu
debian'
+ [[ ubuntu
debian =~ ^ubuntu.* ]]
+ echo 'Installing dependencies'
Installing dependencies
+ ./bin/installdependencies.sh
--------OS Information--------
PRETTY_NAME="Ubuntu 22.04 LTS"
NAME="Ubuntu"
VERSION_ID="22.04"
VERSION="22.04 LTS (Jammy Jellyfish)"
VERSION_CODENAME=jammy
ID=ubuntu
ID_LIKE=debian
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
UBUNTU_CODENAME=jammy
------------------------------
The current OS is Debian based
--------Debian Version--------
bookworm/sid
------------------------------
/usr/bin/apt-get
Hit:1 http://eu-west-1.ec2.archive.ubuntu.com/ubuntu jammy InRelease
Hit:2 http://eu-west-1.ec2.archive.ubuntu.com/ubuntu jammy-updates InRelease
Hit:3 http://eu-west-1.ec2.archive.ubuntu.com/ubuntu jammy-backports InRelease
Hit:4 http://security.ubuntu.com/ubuntu jammy-security InRelease
Reading package lists...
Reading package lists...
Building dependency tree...
Reading state information...
E: Unable to locate package liblttng-ust0
'apt-get' failed with exit code '0'
Can't install dotnet core dependencies.
You can manually install all required dependencies based on following documentation
https://docs.microsoft.com/en-us/dotnet/core/linux-prerequisites?tabs=netcore2x

In the log above you will find the error:

Reading state information...
E: Unable to locate package liblttng-ust0
'apt-get' failed with exit code '0'

Since the start script is exiting at a failure installation continues and the runner even got started. So not sure about the impact on the runner.

npalm avatar Jun 14 '22 11:06 npalm

Adding a bit of more info.

Logs ubuntu20

nstalling dependencies
+ ./bin/installdependencies.sh
--------OS Information--------
NAME="Ubuntu"
VERSION="20.04.4 LTS (Focal Fossa)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 20.04.4 LTS"
VERSION_ID="20.04"
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
VERSION_CODENAME=focal
UBUNTU_CODENAME=focal
------------------------------
The current OS is Debian based
--------Debian Version--------
bullseye/sid
------------------------------
/usr/bin/apt-get
Hit:1 http://eu-west-1.ec2.archive.ubuntu.com/ubuntu focal InRelease
Hit:2 http://eu-west-1.ec2.archive.ubuntu.com/ubuntu focal-updates InRelease
Hit:3 http://eu-west-1.ec2.archive.ubuntu.com/ubuntu focal-backports InRelease
Hit:4 http://security.ubuntu.com/ubuntu focal-security InRelease
Reading package lists...
Reading package lists...
Building dependency tree...
Reading state information...
libkrb5-3 is already the newest version (1.17-6ubuntu4.1).
libkrb5-3 set to manually installed.
zlib1g is already the newest version (1:1.2.11.dfsg-2ubuntu1.3).
zlib1g set to manually installed.
The following additional packages will be installed:
  liblttng-ust-ctl4
The following NEW packages will be installed:
  liblttng-ust-ctl4 liblttng-ust0
0 upgraded, 2 newly installed, 0 to remove and 1 not upgraded.
Need to get 241 kB of archives.
After this operation, 1140 kB of additional disk space will be used.
Get:1 http://eu-west-1.ec2.archive.ubuntu.com/ubuntu focal/main amd64 liblttng-ust-ctl4 amd64 2.11.0-1 [80.9 kB]
Get:2 http://eu-west-1.ec2.archive.ubuntu.com/ubuntu focal/main amd64 liblttng-ust0 amd64 2.11.0-1 [160 kB]
dpkg-preconfigure: unable to re-open stdin: No such file or directory
Fetched 241 kB in 0s (6939 kB/s)
Selecting previously unselected package liblttng-ust-ctl4:amd64.
(Reading database ... 77053 files and directories currently installed.)
Preparing to unpack .../liblttng-ust-ctl4_2.11.0-1_amd64.deb ...
Unpacking liblttng-ust-ctl4:amd64 (2.11.0-1) ...
Selecting previously unselected package liblttng-ust0:amd64.
Preparing to unpack .../liblttng-ust0_2.11.0-1_amd64.deb ...
Unpacking liblttng-ust0:amd64 (2.11.0-1) ...
Setting up liblttng-ust-ctl4:amd64 (2.11.0-1) ...
Setting up liblttng-ust0:amd64 (2.11.0-1) ...
Processing triggers for libc-bin (2.31-0ubuntu9.9) ...
Reading package lists...
Building dependency tree...
Reading state information...
libssl1.1 is already the newest version (1.1.1f-1ubuntu2.13).
libssl1.1 set to manually installed.
0 upgraded, 0 newly installed, 0 to remove and 1 not upgraded.
Reading package lists...
Building dependency tree...
Reading state information...
E: Unable to locate package libicu72
Reading package lists...
Building dependency tree...
Reading state information...
E: Unable to locate package libicu71
Reading package lists...
Building dependency tree...
Reading state information...
E: Unable to locate package libicu70
Reading package lists...
Building dependency tree...
Reading state information...
E: Unable to locate package libicu69
Reading package lists...
Building dependency tree...
Reading state information...
E: Unable to locate package libicu68
Reading package lists...
Building dependency tree...
Reading state information...
E: Unable to locate package libicu67
Reading package lists...
Building dependency tree...
Reading state information...
libicu66 is already the newest version (66.1-2ubuntu2.1).
libicu66 set to manually installed.
0 upgraded, 0 newly installed, 0 to remove and 1 not upgraded.
-----------------------------
 Finish Install Dependencies

npalm avatar Jun 14 '22 11:06 npalm

Just tested the PR. First impression was all fine. But once digging in the log find the same error as once building the AMI for ubuntu22 (see #2101).

Userdata log in cloudwatch

+ [[ x64 == \a\r\m\6\4 ]]
--
++ awk -F= '/^ID/{print $2}' /etc/os-release
+ os_id='ubuntu
debian'
+ [[ ubuntu
debian =~ ^ubuntu.* ]]
+ echo 'Installing dependencies'
Installing dependencies
+ ./bin/installdependencies.sh
--------OS Information--------
PRETTY_NAME="Ubuntu 22.04 LTS"
NAME="Ubuntu"
VERSION_ID="22.04"
VERSION="22.04 LTS (Jammy Jellyfish)"
VERSION_CODENAME=jammy
ID=ubuntu
ID_LIKE=debian
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
UBUNTU_CODENAME=jammy
------------------------------
The current OS is Debian based
--------Debian Version--------
bookworm/sid
------------------------------
/usr/bin/apt-get
Hit:1 http://eu-west-1.ec2.archive.ubuntu.com/ubuntu jammy InRelease
Hit:2 http://eu-west-1.ec2.archive.ubuntu.com/ubuntu jammy-updates InRelease
Hit:3 http://eu-west-1.ec2.archive.ubuntu.com/ubuntu jammy-backports InRelease
Hit:4 http://security.ubuntu.com/ubuntu jammy-security InRelease
Reading package lists...
Reading package lists...
Building dependency tree...
Reading state information...
E: Unable to locate package liblttng-ust0
'apt-get' failed with exit code '0'
Can't install dotnet core dependencies.
You can manually install all required dependencies based on following documentation
https://docs.microsoft.com/en-us/dotnet/core/linux-prerequisites?tabs=netcore2x

In the log above you will find the error:

Reading state information...
E: Unable to locate package liblttng-ust0
'apt-get' failed with exit code '0'

Since the start script is exiting at a failure installation continues and the runner even got started. So not sure about the impact on the runner.

Maybe ours has this error as well. Surprisingly though, the runner has been working absolutely fine.

dylanmtaylor avatar Jun 14 '22 13:06 dylanmtaylor

This pull request has been automatically marked as stale because it has not had activity in the last 30 days. It will be closed if no further activity occurs. Thank you for your contributions.

github-actions[bot] avatar Jul 15 '22 02:07 github-actions[bot]

This pull request has been automatically marked as stale because it has not had activity in the last 30 days. It will be closed if no further activity occurs. Thank you for your contributions.

Think this is fine to go in now with the new runner version

dylanmtaylor avatar Jul 15 '22 02:07 dylanmtaylor

This pull request has been automatically marked as stale because it has not had activity in the last 30 days. It will be closed if no further activity occurs. Thank you for your contributions.

github-actions[bot] avatar Aug 15 '22 02:08 github-actions[bot]

Thx for your help, we close the PR in favour of #2250

npalm avatar Aug 15 '22 18:08 npalm