actions / runner

The Runner for GitHub Actions :rocket:
https://github.com/features/actions
MIT License
4.89k stars 959 forks source link

why always deprecate runner #3466

Open joebnb opened 1 month ago

joebnb commented 1 month ago

√ Connected to GitHub Current runner version: '2.318.0' 2024-09-17 09:14:33Z: Listening for Jobs An error occured: Runner version v2.318.0 is deprecated and cannot receive messages. Runner listener exit with terminated error, stop the service, no retry needed. Exiting runner...

im tired of update it

NorseGaud commented 1 month ago

Have your runner installed on VM/container start and then use something like this that always pulls the latest (macOS/linux example):

#!/usr/bin/env bash
set -exo pipefail
RUNNER_HOME="${RUNNER_HOME:-"$HOME/actions-runner"}"
mkdir -p "${RUNNER_HOME}"
cd "${RUNNER_HOME}"
RUNNER_ARCH=${RUNNER_ARCH:-"$(uname -m)"}
if [ "$RUNNER_ARCH" = "x86_64" ] || [ "$RUNNER_ARCH" = "x64" ]; then
  RUNNER_ARCH="x64"
fi
CURL_CMD="$(curl -s -L https://github.com/actions/runner/releases/latest | grep "curl.*actions-runner-osx-${RUNNER_ARCH}.*.tar.gz" | head -1)"
FULL_FILE_NAME="$(echo "$CURL_CMD" | cut -d/ -f9)"
$CURL_CMD
tar -xzf "$FULL_FILE_NAME" 1>/dev/null
rm -f "$FULL_FILE_NAME"
echo "runner successfully installed"
kirillrdy commented 1 month ago

there needs to be some LTS support, people shouldn't need to update all the nodes every 30 days

imagine if there was API that only worked for 30 days ?

NorseGaud commented 1 month ago

@kirillrdy , I believe this was a design choice to incentivize ephemeral runners. The idea is that you shouldn't be running long running actions runners. Your "nodes" will become dirty with left over caches or other dependencies from previous jobs and could cause false positives, etc. It's best to take a more ephemeral approach.

joebnb commented 1 month ago

@kirillrdy , I believe this was a design choice to incentivize ephemeral runners. The idea is that you shouldn't be running long running actions runners. Your "nodes" will become dirty with left over caches or other dependencies from previous jobs and could cause false positives, etc. It's best to take a more ephemeral approach.

weird design

in recent release i think there wasn't break release,but it enforce me to upgrade runner in yesterday,event in last week there are no any github runner release,and i used it before yesterday, it's just stopp me use runner.

if worried about dirty nodes, do some thing like environment isolation,standardize api,guard check, make release rules to avoid break change in each release, there are a lot good design to decrease this.

Endofunctor commented 1 month ago
√ Connected to GitHub

Current runner version: '2.319.0'
2024-09-18 20:15:40Z: Listening for Jobs
An error occured: Runner version v2.319.0 is deprecated and cannot receive messages.
Runner listener exit with terminated error, stop the service, no retry needed.
Exiting runner...

Meanwhile 2.319.1 and the version I'm using, 2.319.0, both have a banner indicating it's so new that it might not be supported by my organization yet due to the progressive release policy.

Since I'm now pulling the latest when building my image on a nightly basis am I running the risk of an outage due to getting a version too new for the progressive rollout policy?

pavanpatilingenovis commented 1 month ago

I am facing this issue

An error occured: Runner version v2.319.0 is deprecated and cannot receive messages. Runner listener exit with terminated error, stop the service, no retry needed.

is it need to update now V2.319.1 ?

hawk-thein-htut commented 1 month ago

@pavanpatilingenovis Yes. We faced the same issue and updated to the latest v2.319.1

hawk-thein-htut commented 1 month ago

Hey GitHub Team, would it be possible to have deprecation or end-of-support date message for current runner version? For example:

WARNING: Your current runner version v2.319.0 is going to be deprecated by <DATE>. Please update to <LATEST_VERSION>

So that we at least know when it is going to be deprecated and plan the update ahead?

hawk-thein-htut commented 1 month ago

For some reasons that I do not know, somehow action runner controller keep spinning up new runners pod even after deprecated. We have around 100+ self-hosted runners in our k8s cluster. They ended up 2000+ runner pod stuck in Terminating state and exhaust GitHub API rate limit.

killersalt commented 1 month ago

This is a fuck up! Since when pointing your image to latest is a good practice? Is this to make us use the github runners instead of the self-hosted ones? I don't understand these "design decisions" as well as not being able to have tags on the runners... This business model is really messed up