Zuletzt aktiv 1 month ago

source: https://gist.github.com/DatDucati/c7672ecd2ef5d96ebd09ccd13a668a91

Änderung adc0a5197e26a2dfe40de8f87e26f0ae75425367

install.sh Originalformat
1#!/bin/bash
2
3check_command() {
4 command -v $1 >/dev/null 2>&1
5}
6
7check_version() {
8 act_runner_version=$(act_runner -v | grep -o 'v[0-9]\+\.[0-9]\+\.[0-9]\+')
9 echo $act_runner_version
10}
11
12if check_command act_runner; then
13 current_version=$(check_version)
14 echo "Current act_runner version: $current_version"
15fi
16
17required_commands=("curl" "jq" "wget" "unxz" "sha256sum")
18for cmd in "${required_commands[@]}"; do
19 if ! check_command $cmd; then
20 echo "Error: '$cmd' command not found. Please make sure all required commands are installed."
21 exit 1
22 fi
23done
24
25arch=$(uname -m)
26if [ "$arch" = "x86_64" ]; then
27 arch="amd64"
28fi
29
30json=$(curl -s https://gitea.com/api/v1/repos/gitea/act_runner/releases/latest)
31latest_version=$(echo $json | jq -r '.tag_name')
32url_checksum=$(echo $json | jq -r '.assets[] | select(.name | contains("linux-'$arch'") and contains(".xz.sha256")) | .browser_download_url')
33url_binary=$(echo $json | jq -r '.assets[] | select(.name | contains("linux-'$arch'") and contains(".xz")) | .browser_download_url')
34checksum_filename=$(basename $url_checksum)
35filename=$(basename $url_binary)
36
37if [ -z "$current_version" ] || [ "$current_version" != "$latest_version" ]; then
38 echo "Updating act_runner to version: $latest_version"
39 wget $url_binary
40 sha256sum -c $checksum_filename
41 rm $checksum_filename
42 unxz $filename
43 filename=$(echo $filename | sed 's/\.xz$//')
44 mv $filename '/usr/local/bin/act_runner'
45 chmod +x /usr/local/bin/act_runner
46 echo "Update completed."
47else
48 echo "act_runner is up to date."
49fi